Skip to main content
QUICK REVIEW

[論文レビュー] Longest Common Extensions with Recompression

I Tomohiro|arXiv (Cornell University)|Nov 16, 2016
Algorithms and Data Compression参考文献 12被引用数 5
ひとこと要約

本稿では、再圧縮技術を用いた新しい圧縮LCE(Longest Common Extension)データ構造を提案する。この手法は、O(lg N)のクエリ時間とO(z lg(N/z))の空間計算量を達成する。ここでzは自己参照なしのLempel-Ziv 77要因分解のサイズである。本手法は、同一の部分文字列に対して一貫した圧縮パターンを維持することで、文法圧縮文字列上での効率的なLCEクエリを実現し、時間的・空間的計算量の両面で先行研究を上回る性能を発揮する。

ABSTRACT

Given two positions $i$ and $j$ in a string $T$ of length $N$, a longest common extension (LCE) query asks for the length of the longest common prefix between suffixes beginning at $i$ and $j$. A compressed LCE data structure is a data structure that stores $T$ in a compressed form while supporting fast LCE queries. In this article we show that the recompression technique is a powerful tool for compressed LCE data structures. We present a new compressed LCE data structure of size $O(z \lg (N/z))$ that supports LCE queries in $O(\lg N)$ time, where $z$ is the size of Lempel-Ziv 77 factorization without self-reference of $T$. Given $T$ as an uncompressed form, we show how to build our data structure in $O(N)$ time and space. Given $T$ as a grammar compressed form, i.e., an straight-line program of size n generating $T$, we show how to build our data structure in $O(n \lg (N/n))$ time and $O(n + z \lg (N/z))$ space. Our algorithms are deterministic and always return correct answers.

研究の動機と目的

  • 高圧縮性の文字列において、空間使用量を最小限に抑えつつ高速なクエリをサポートする圧縮LCEデータ構造の設計。
  • 再圧縮技術を活用して同一の部分文字列に対して一貫した圧縮パターンを保証し、効率的なLCE計算を可能にする。
  • 従来の確率的または高領域消費型の代替手法よりも、決定的かつ正しい結果を返す時間的・空間的計算量の改善を達成する。
  • 非圧縮および文法圧縮(SLP)の両方の文字列表現から、効率的な構築をサポートする。

提案手法

  • 本手法は再圧縮技術を用い、文字列内の頻出ペアを新しい変数に置き換えることで、圧縮された文法表現を生成する。
  • O(lg N)の高さを持つバランスの取れた導出木構造を維持することで、LCEクエリのためのO(lg N)時間の走査が可能になる。
  • 同一の部分文字列はほぼ同一の方法で圧縮され、周囲の文脈における差異はたかだかO(lg N)程度に抑えられる。
  • 再圧縮プロセスには2種類の分割戦略を採用する:1つは文字列を定数倍に圧縮するためのもので、もう1つは文法サイズを圧縮するためのもので、中間段階のCFGサイズをO(n)に制限する。
  • 構築は、改良版のSimTtoGアルゴリズムを用いて段階的に実行され、文字列が十分に小さくなった段階で直接TtoGに切り替える。
  • 得られた文法(RLSLPと呼ばれる)は、導出木の走査をシミュレートし、O(lg N)時間で共通する変数列を照合することでLCEクエリをサポートする。

実験結果

リサーチクエスチョン

  • RQ1再圧縮技術を用いて、従来の手法よりも優れた時間的・空間的計算量を達成する圧縮LCEデータ構造を構築できるか?
  • RQ2同一の部分文字列に対して一貫した圧縮パターンをどのように活用することで、文法圧縮文字列上での高速LCEクエリを実現できるか?
  • RQ3SLP圧縮文字列上でのLCEクエリにおいて、構築時間、空間使用量、クエリ時間の最適なトレードオフは何か?
  • RQ4SLP入力から、O(n lg(N/n))時間およびO(n + z lg(N/z))空間で、決定的に構築できるか?

主な発見

  • 提案されたデータ構造は、O(lg N)のクエリ時間を達成し、先行研究のO(lg N + lg ℓ lg* N)を上回る。
  • 空間計算量はO(z lg(N/z))であり、従来のシグネチャエンコードベース手法のO(z lg N lg* N)に比べ顕著な改善である。
  • 非圧縮文字列からではO(N)時間およびO(N)空間で構築可能であり、サイズnのSLPからではO(n lg(N/n))時間およびO(n + z lg(N/z))空間で構築可能である。
  • 構築は決定的であり、常に正しい結果を返す。確率的検証ステップを必要とする確率的アプローチを回避できる。
  • 明示的な展開なしに文法圧縮文字列上で効率的なLCEクエリを実現でき、圧縮文字列アルゴリズムにおける処理を高速化できる。
  • 二重の分割戦略を用いることで、構築中の中間CFGサイズをO(n)に保ち、文法サイズの線形増加を保証する。

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

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

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

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