Skip to main content
QUICK REVIEW

[論文レビュー] Solving Classical String Problems on Compressed Texts

Yury Lifshits|ArXiv.org|Apr 13, 2006
Algorithms and Data Compression参考文献 22被引用数 10
ひとこと要約

本稿では、テキスト T とパターン P がすべての文字列操作を展開せずに圧縮データ上で効率的に行えるように、両方ともストレートラインプログラム(SLP)で表現される完全圧縮パターンマッチングのための新規な O(n²m) アルゴリズムを提示する。この手法は算術級数に基づく動的計画法を用い、従来の手法よりも顕著な高速化を達成する。また、SLP 圧縮テキスト上でカバー、周期、フィンガープrintテーブルを計算する多項式時間アルゴリズムも提供するが、ハミング距離の計算は NP-および coNP-ハードであることが示されている。

ABSTRACT

Here we study the complexity of string problems as a function of the size of a program that generates input. We consider straight-line programs (SLP), since all algorithms on SLP-generated strings could be applied to processing LZ-compressed texts. The main result is a new algorithm for pattern matching when both a text T and a pattern P are presented by SLPs (so-called fully compressed pattern matching problem). We show how to find a first occurrence, count all occurrences, check whether any given position is an occurrence or not in time O(n^2m). Here m,n are the sizes of straight-line programs generating correspondingly P and T. Then we present polynomial algorithms for computing fingerprint table and compressed representation of all covers (for the first time) and for finding periods of a given compressed string (our algorithm is faster than previously known). On the other hand, we show that computing the Hamming distance between two SLP-generated strings is NP- and coNP-hard.

研究の動機と目的

  • ストレートラインプログラム(SLP)で表現される圧縮テキスト上で、完全な展開を避けても古典的で効率的な文字列問題が解けるかどうかを検証すること。
  • 完全圧縮パターンマッチング(FCPM)問題に取り組む:SLP 圧縮テキスト内のパターンの出現を特定すること。
  • FCPM アルゴリズムを拡張し、圧縮文字列上ですべてのカバー、周期、フィンガープリントテーブルを計算する問題を解くこと。
  • ハミング距離の計算が SLP 生成文字列上で NP-および coNP-ハードであることを証明することで、計算の複雑性の境界を明確にすること。
  • さまざまな文字列問題について、圧縮入力上で多項式時間アルゴリズムが可能かどうかを検討し、容易な問題と困難な問題を区別すること。

提案手法

  • 中心的な技術は、テキスト T とパターン P を生成する SLP のサイズがそれぞれ n と m である n×m のテーブル上で動的計画法を用いること。
  • テーブルの各エントリは、算術級数を用いて、圧縮テキスト内でのパターン出現位置を表す。
  • 部分文字列の接頭辞と接尾辞を比較することで、有効なパターン出現を検出する新規なローカルパターンマッチング(Local PM)手順を用いる。これにより誤検出を低減する。
  • SLP の性質を活用して、文字列全体を展開せずに中間的な文字列値とその構造的特徴(例:ボーダー、カバー)を計算する。
  • フィンガープリントテーブルの計算には、SLP 構造における帰納的構成に基づき、接頭辞、接尾辞、および「カットを含む」部分文字列のフィンガープリントを再帰的に計算する。
  • 難易度の結果は、サブセットサム問題への還元によって確立され、HD(P,T) < h であるかどうかが解の存在と同値となるように、P と T の SLP を構築する。

実験結果

リサーチクエスチョン

  • RQ1SLP のサイズに関して多項式時間で解ける完全圧縮パターンマッチング問題は、文字列の完全展開なしに解けるか?
  • RQ2SLP 表記を用いて、圧縮文字列のすべてのカバーと周期を多項式時間で計算することは可能か?
  • RQ3圧縮文字列のすべての部分文字列に対するフィンガープリントテーブルを、出力サイズが有界な範囲で効率的に計算できるか?
  • RQ42つの SLP 生成文字列間のハミング距離を計算する計算の複雑性は何か?
  • RQ5現在の O(n²m) よりも効率的な完全圧縮パターンマッチングのアルゴリズムは存在するのか、あるいはこれが最良の可能性か?

主な発見

  • 本稿では、テキストとパターンを生成する SLP のサイズがそれぞれ n と m である O(n²m) の完全圧縮パターンマッチングアルゴリズムを提示する。これは、従来の O(n²m²) や O((n+m)⁵log³|T|) の手法に比べ顕著な改善を達成している。
  • 算術級数を用いた動的計画法と、パターン出現の有効性を効率的に検証する新規なローカルPM手順を用いることで、1エントリあたりの計算量を O(n) に削減している。
  • 圧縮文字列のすべてのカバーと周期を計算する多項式時間アルゴリズムが開発され、時間計算量は O(n³log²|T|) である。
  • 圧縮文字列のすべての部分文字列に対するフィンガープリントテーブルは、O(n|Σ|²log n) 時間で計算可能で、出力サイズは O(n|Σ|²) である。
  • 2つの SLP 生成文字列間のハミング距離問題が NP-および coNP-ハードであることが証明され、圧縮文字列上での容易な問題と困難な問題の明確な複雑性境界が確立された。
  • これらの結果から、提案された FCPM アルゴリズムは、SLP への変換を経て LZ 圧縮テキストに対しても直接適用可能であり、同じ時間計算量を維持することが示唆される。

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

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

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

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