1

私はたくさんの (何百万もの) 小さな実験からのログを持っています。

各ログには、エントリのリスト (数十から数百) が含まれています。各エントリは、タイムスタンプとイベント ID です (数千の一意のイベント ID があり、それぞれがログに数回発生する場合があります)。1 つの実験のログの例を次に示します。

1403973044 アルファ
1403973045 ベータ版
1403973070 ガンマ
1403973070 アルファ
1403973098 デルタ

多くの実験に共通するシーケンスを見つける必要があります。

シーケンスは、互いに続く複数 (少なくとも 2 つ) のイベント ID です。

アルファ
ベータ
ガンマ

共通シーケンスは、少なくとも 2 つのログで見つけることができるシーケンスです。ログ

アルファ
ベータ
ガンマ
デルタ
イプシロン

イオタ
ベータ
ガンマ
イプシロン
カッパ

共通のシーケンスがあります:

ベータ
ガンマ
イプシロン

(明らかに、ここで最も長い一般的なシーケンスを探しています。)

頻繁に発生する大きなシーケンスに興味があります。カットオフ値は事前にわかりません。たとえば、出現頻度の上位 1000 (または上位 30%) のうち、長さの上位 10 (または上位 100 シーケンス) が必要です。(この基準はランダムに与えられ、データ処理を容易にするためにほぼ任意に変更できます。)

スケーラブルな方法でこれを行う方法に関するアドバイスはありますか?

所有するコードの量を最小限に抑えたいと考えていますが、独自のプログラムを使用してソリューションを取得したくはありません。

…バイオインフォマティクスでも、やや似たような問題が解決されていると思います。しかし、彼らは私よりずっと短いアルファベットを持っています :-)違います! プロテオミクスは、はるかに大きなアルファベットを扱います! (@JayInNyc に感謝)

4

0 に答える 0