Skip to main content
QUICK REVIEW

[論文レビュー] Fully dynamic data structure for LCE queries in compressed space

Hideo Bannai, I, Tomohiro|arXiv (Cornell University)|May 5, 2016
Algorithms and Data Compression参考文献 22被引用数 21
ひとこと要約

本稿では、サイズ w = O(min(z log N log∗M, N)) の署名符号化 G を用いて圧縮空間で動作する、最初の完全動的 Longest Common Extension (LCE) データ構造を提示する。この構造は、LCE クエリを O(log N + log ℓ log∗M) 時間、更新(挿入/削除)を O((y + log N log∗M)fA) 時間でサポートする。ここで z は LZ77 要因分解のサイズ、ℓ は LCE の結果、fA は先行クエリの時間である。この構造により、圧縮された文法表現を用いた文字列処理が効率的に行え、構築およびクエリの性能が向上する。

ABSTRACT

A Longest Common Extension (LCE) query on a text $T$ of length $N$ asks for the length of the longest common prefix of suffixes starting at given two positions. We show that the signature encoding $\mathcal{G}$ of size $w = O(\min(z \log N \log^* M, N))$ [Mehlhorn et al., Algorithmica 17(2):183-198, 1997] of $T$, which can be seen as a compressed representation of $T$, has a capability to support LCE queries in $O(\log N + \log \ell \log^* M)$ time, where $\ell$ is the answer to the query, $z$ is the size of the Lempel-Ziv77 (LZ77) factorization of $T$, and $M \geq 4N$ is an integer that can be handled in constant time under word RAM model. In compressed space, this is the fastest deterministic LCE data structure in many cases. Moreover, $\mathcal{G}$ can be enhanced to support efficient update operations: After processing $\mathcal{G}$ in $O(w f_{\mathcal{A}})$ time, we can insert/delete any (sub)string of length $y$ into/from an arbitrary position of $T$ in $O((y+ \log N\log^* M) f_{\mathcal{A}})$ time, where $f_{\mathcal{A}} = O(\min \{ \frac{\log\log M \log\log w}{\log\log\log M}, \sqrt{\frac{\log w}{\log\log w}} \})$. This yields the first fully dynamic LCE data structure. We also present efficient construction algorithms from various types of inputs: We can construct $\mathcal{G}$ in $O(N f_{\mathcal{A}})$ time from uncompressed string $T$; in $O(n \log\log n \log N \log^* M)$ time from grammar-compressed string $T$ represented by a straight-line program of size $n$; and in $O(z f_{\mathcal{A}} \log N \log^* M)$ time from LZ77-compressed string $T$ with $z$ factors. On top of the above contributions, we show several applications of our data structures which improve previous best known results on grammar-compressed string processing.

研究の動機と目的

  • 静的または非圧縮の動的構造に起因する制限を克服し、圧縮空間で動作する完全動的 LCE データ構造を設計すること。
  • 署名符号化を用いて、非常に圧縮可能な文字列を表現する際の効率的な LCE クエリおよび更新操作(挿入/削除)をサポートすること。
  • 署名符号化を活用することで、文法圧縮および LZ77 圧縮された文字列の構築時間と空間効率を向上させること。
  • 回文検出やパターンマッチングを含む、圧縮文字列処理における実用的応用を示し、時間計算量を改善すること。

提案手法

  • 本稿では、LZ77 要因分解または straight-line programs (SLPs) から導かれる、サイズ w = O(min(z log N log∗M, N)) の文字列 T の圧縮表現としての署名符号化 G を使用する。
  • G 上での先行/直後データ構造を活用して LCE クエリをサポートし、逆順文字列上の LCP および LCS クエリの組み合わせにより、O(log N + log ℓ log∗M) 時間でクエリを実行する。
  • 挿入および削除を、署名符号化上の編集操作として扱い、先行クエリ時間 fA を有する動的先行データ構造を用いて更新をサポートする。
  • 構築プロセスでは、SLPs 及びその逆順文字列上の LCP および LCS クエリを組み合わせ、lcp 配列上に定数時間の RMQ 構造を事前処理することで実行する。
  • パターンから構築されたコンパクトなトライ(PTree)を用いてパターンマッチングをサポートし、レベル祖先および二分探索を拡張して効率的なプレフィックスクエリを実現する。
  • アルゴリズムは T をストリーミング形式で処理し、T[1..j] の最長の接尾語を追跡するための署名 p と長さ l を維持する。p との LCE を用いて、パターンのプレフィックスを比較する。

実験結果

リサーチクエスチョン

  • RQ1効率的なクエリと更新をサポートしつつ、圧縮空間で動作する完全動的 LCE データ構造を設計することは可能か?
  • RQ2既存の確率的または非圧縮構造よりも速い決定的 LCE クエリを達成するために、署名符号化はどのように利用可能か?
  • RQ3SLPs や LZ77 を含む、さまざまな圧縮文字列表現からの署名符号化の最適な構築時間は何か?
  • RQ4署名符号化フレームワークは、効率的なパターン出現の出力が可能な動的パターンマッチングを拡張可能か?
  • RQ5圧縮された動的データ構造における動的更新によるゴミの蓄積は、効果的に管理可能か?

主な発見

  • 署名符号化 G は、O(log N + log ℓ log∗M) 時間で LCE クエリをサポートする。これは、Bille ら [6] の最良の確率的データ構造よりも速く、log∗M = o(log ℓ) の条件が多くの実用的状況で成立する場合に有効である。
  • 本稿では、圧縮空間で動作する最初の完全動的 LCE データ構造を提示する。長さ y の部分文字列の挿入/削除の更新時間は O((y + log N log∗M)fA) である。
  • 長さ N の非圧縮文字列 T からの構築には O(NfA) 時間、O(w) 空間を要する。これは、従来の O(N) 時間以上を要する手法に比べて顕著に改善されている。
  • サイズ z の LZ77 圧縮文字列からの構築時間は O(zfA log N log∗M)、サイズ n の SLP からの構築時間は O(n log log(n log∗M) log N log∗M) で、O(n log∗M + w) 空間を要する。
  • このフレームワークにより、パターンマッチングの性能が向上する:すべてのパターン出現を報告するには O(|T| log m log N log∗M + occ) 時間を要し、1 つの位置あたり O(log m + occ) 時間である。
  • 元のアルゴリズムと同等の時間・空間計算量を維持しながら、逆順パターントライ(RPTree)を用いて、出力の終了位置を出力可能とする。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。