[論文レビュー] Composite repetition-aware data structures
この論文は、ランレングス符号化されたバーラウズ・ウェーラー変換(RLBWT)、コンパクトな有向無閉路語彙グラフ(CDAWG)、およびLZ77に基づく構成要素を組み合わせることで、空間効率とパターンレポートの高速化を実現する、非常に繰り返しの多い文字列のための複合データ構造を導入する。主な貢献は、最大繰り返しの右拡張 $e$ と左拡張 $e^\ell$ を用いた新しい後継木表現であり、$O(m\log\log n)$ 時間でマッチング統計を計算可能にし、$O(e + e^\ell)$ 空間で定数空間の走査を可能にする。
In highly repetitive strings, like collections of genomes from the same species, distinct measures of repetition all grow sublinearly in the length of the text, and indexes targeted to such strings typically depend only on one of these measures. We describe two data structures whose size depends on multiple measures of repetition at once, and that provide competitive tradeoffs between the time for counting and reporting all the exact occurrences of a pattern, and the space taken by the structure. The key component of our constructions is the run-length encoded BWT (RLBWT), which takes space proportional to the number of BWT runs: rather than augmenting RLBWT with suffix array samples, we combine it with data structures from LZ77 indexes, which take space proportional to the number of LZ77 factors, and with the compact directed acyclic word graph (CDAWG), which takes space proportional to the number of extensions of maximal repeats. The combination of CDAWG and RLBWT enables also a new representation of the suffix tree, whose size depends again on the number of extensions of maximal repeats, and that is powerful enough to support matching statistics and constant-space traversal.
研究の動機と目的
- 複数の繰り返し測定値に同時に依存する、非常に繰り返しの多い文字列のためのデータ構造を設計し、空間的・時間的効率を向上させること。
- ゲノムデータベースのような繰り返しの多いデータコレクションにおけるパターンカウントおよびレポートの空間的・時間的オーバーヘッドを低減すること。
- 繰り返しの度合いを $r$(BWTのラン)や $z$(LZ77要因)よりも洗練された指標として、最大繰り返しの右拡張の数 $e$ を新しい測定指標として導入すること。
- RLBWT と CDAWG に基づく複合構造を用いて、マッチング統計や定数空間走査などの効率的な後継木操作を可能にすること。
- 空間、パターンレポート時間、およびサフィックスリンクやワイニーリンクのような高度な操作のサポートとの間で、競争力のあるトレードオフを達成すること。
提案手法
- ランレングス符号化されたBWT(RLBWT)とコンパクトな有向無閉路語彙グラフ(CDAWG)、およびLZ77に基づく構成要素を組み合わせて、複合インデックスを構築する。
- 後継木のノードをタプル $\mathtt{id}(v) = (v^\prime, |\ell(v)|, i, j)$ で表現し、$v^\prime$ をCDAWGノードとし、$[i..j]$ を文字列ラベル $\ell(v)$ のBWT区間とする。
- RLBWT を用いて高速なパターンカウントと区間クエリを実現し、CDAWG を用いて最大繰り返しとその拡張のコンパクトな表現を提供する。
- RLBWT におけるバックワードサーチと $\mathsf{RLBWT}_{\overline{T}}$ におけるバックワードサンプリングを用いて、双方向文字列操作をサポートする。
- CDAWG 構造と RLBWT 区間を活用し、BWT における区間包含関係とバックワードステップを用いて、サフィックスリンクとワイニーリンクを実装する。
- 区間境界における先行者クエリを用いて、定数時間で $\mathtt{stringDepth}$、$\mathtt{child}$、$\mathtt{firstChild}$ を実装し、$O(\log\log n)$ 時間で $\mathtt{parent}$ と $\mathtt{nextSibling}$ を実装する。
実験結果
リサーチクエスチョン
- RQ1RLBWT、CDAWG、LZ77 の構成要素を組み合わせることで、複数の繰り返し測定値に依存する空間計算量のデータ構造が得られるか?
- RQ2最大繰り返しの右拡張の数 $e$ が、$r$(BWTのラン)や $z$(LZ77要因)よりも、圧縮文字列インデックスにおける繰り返しの度合いをより効果的に測定できるか?
- RQ3複合構造が、$O(e + e^\ell)$ 空間のみで、効率的なマッチング統計と定数空間走査を可能にするか?
- RQ4RLBWT と CDAWG の組み合わせが、従来の RLBWT とサフィックス配列サンプリング、または LZ77 インデックスよりも高速なパターンレポートを実現できるか?
- RQ5複合構造を用いて、$O(\log\log n)$ 時間で左/右拡張(双方向文字列操作)を実行できるか?
主な発見
- 提案されたデータ構造は、長さ $m$ のパターンの $\mathtt{occ}$ 個の出現を、$O(m(\log\log n + \log z) + \mathtt{pocc}\log^\epsilon z + \mathtt{socc}\log\log n)$ 時間ですべて報告し、空間は $O(z + r)$ 単位である。
- 最大繰り返しの右拡張 $e$ と左拡張 $e^\ell$ を用いた新しい後継木表現は、$O(e + e^\ell)$ 単位の空間を要する。
- 長さ $m$ のパターンのマッチング統計は、複合後継木構造を用いて $O(m\log\log n)$ 時間で計算可能である。
- 複合構造を用いて、$O(n\log\log n)$ 時間で後継木の定数空間走査が可能である。
- 複合構造を用いて、$O(e + e^\ell)$ 空間で、左/右拡張の双方向インデクシングを $O(\log\log n)$ 時間で実行可能である。
- CDAWG と RLBWT を併用することで、区間操作と先行者クエリを用いて、サフィックスリンクとワイニーリンクの効率的実装が可能である。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。