[論文レビュー] Extending the Burrows-Wheeler Transform for Cartesian Tree Matching and Constructing It
本稿では、カルテシアンツリー照合に基づくcBWTインデックスのコン pactな構築アルゴリズムを提案する。このデータ構造により、複数のテキストの効率的インデックス化が可能となり、O(n lg σ lg n / lg lg n)の構築時間とO(n lg σ)の空間を達成する。動的拡張が可能で、対数的遅延を伴い、作業領域をコンパクトに保つ。これは、時系列データや楽譜におけるモチーフ検出などの応用にとって重要である。
Cartesian tree matching is a form of generalized pattern matching where a substring of the text matches with the pattern if they share the same Cartesian tree. This form of matching finds application for time series of stock prices and can be of interest for melody matching between musical scores. For the indexing problem, the state-of-the-art data structure is a Burrows-Wheeler transform based solution due to [Kim and Cho, CPM'21], which uses nearly succinct space and can count the number of substrings that Cartesian tree match with a pattern in time linear in the pattern length. The authors address the construction of their data structure with a straight-forward solution that, however, requires pointer-based data structures, resulting in O(n lg n) bits of space, where n is the text length [Kim and Cho, CPM'21, Section A.4]. We address this bottleneck by a construction that requires O(n lg σ) bits of space and has a time complexity of O(n (lg σ lg n)/(lg lg n)), where σ is alphabet size. Additionally, we can extend this index for indexing multiple circular texts in the spirit of the extended Burrows-Wheeler transform without sacrificing the time and space complexities. We present this index in a dynamic variant, where we pay a logarithmic slowdown and need space linear in the input texts in bits for the extra functionality that we can incrementally add texts. Our extended setting is of interest for finding repetitive motifs common in the aforementioned applications, independent of offsets and scaling.
研究の動機と目的
- 従来ポインタベースのデータ構造に依存していたため、追加空間がO(n lg n)必要だったcBWTインデックスのコンパクトな構築アルゴリズムの欠如に対処する。
- カルテシアンツリー照合のための複数の円形テキストの効率的インデックス化を可能にし、オフセットやスケーリングに依存しない繰り返しモチーフの検出を可能にする。
- 新しいテキストの追加を段階的にサポートする、動的版のcBWTインデックスを設計し、コンパクトな空間と対数的時間オーバーヘッドを実現する。
- 拡張Burrows-Wheeler変換を用いてFM-indexフレームワークをカルテシアンツリー照合に拡張し、最適な時間・空間計算量を維持する。
- 時系列データや音楽データにおけるモチーフ発見に不可欠な、インデックス化されたテキストのすべての回転についての効率的なカウント、LCP、サフィックス配列クエリをサポートする。
提案手法
- 拡張Burrows-Wheeler変換の技術を用いて、cBWTインデックスを複数の円形テキストをサポートするように拡張する。
- インクリメンタル構築中に変更された領域をマークするための動的ビットストリングEを導入し、更新中もインデックスの機能を保持する。
- cBWTインデックス上のバックワードサーチを用いて、新しい文字列Sの各回転iについて、cntR(Rot(S,i))、plcp∞R(Rot(S,i))、slcp∞R(Rot(S,i))を計算する。
- Lemma 4.6を活用し、E上のランク・セレクト演算を用いて、回転されたサフィックスからのクエリ値を再帰的に計算する。
- Lemma 2.1のランク/セレクトデータ構造を用いて、cntR値を辞書順にEに格納することで、コンパクトな空間と効率的な更新を維持する。
- 反復的構築を適用する:最初のテキストから開始し、各後続テキストをLemma 4.7を用いて段階的にインデックスに追加する。各拡張の前後でEをゼロクリアすることで、不変条件を維持する。
実験結果
リサーチクエスチョン
- RQ1cBWTインデックスは、ポインタベースのデータ構造に依存せずにコンパクトな空間で構築可能か?
- RQ2cBWTインデックスは、最適な時間・空間計算量を保ちながら、複数の円形テキストをサポートするように拡張可能か?
- RQ3cBWTインデックスに新しいテキストを動的に拡張する際の時間的・空間的計算量は何か?また、対数的遅延で実現可能か?
- RQ4複数のテキストにまたがるパターンのすべての回転について、効率的なカウントおよびLCPクエリをサポート可能か?
- RQ5コンパクトな補助データ構造のみを用いて、インクリメンタル構築中にcBWTインデックスの機能を維持可能か?
主な発見
- cBWTインデックスはO(n lg σ lg n / lg lg n)時間とO(n lg σ)ビットの空間で構築可能であり、従来のO(n lg n)の追加空間を要する解決策に比べて顕著な改善を達成する。
- 構築アルゴリズムは、新しいテキストのインデックス拡張を動的に行うことができ、各拡張でO((λ + ρ) lg σ lg(λ+ρ) / lg lg(λ+ρ))時間とO((λ + ρ) lg σ)ビットの空間を要する。
- 動的バージョンは、長さmのパターンに対してO(m)時間でカウントクエリに応答する能力を維持しており、元のcBWTインデックスと同等の性能を発揮する。
- 動的ビットストリングEの使用により、コンパクトで段階的な更新が可能となり、対数的遅延にとどまる。これにより、構築中でもインデックスが機能を維持する。
- 拡張されたインデックスは、新しい文字列のすべての回転についてplcp∞Rおよびslcp∞Rを効率的に計算可能であり、オフセットやスケーリングに依存しない複数テキストにまたがる繰り返しモチーフの検出を可能にする。
- d個のテキスト(合計長さn)に対するcBWTインデックスの最終的構築は、O(n lg σ lg n / lg lg n)時間とO(n lg σ)空間で達成可能であり、テキスト長が非減少である条件を満たす場合に限る。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。