Skip to main content
QUICK REVIEW

[論文レビュー] Streaming Periodicity with Mismatches

Funda Ergün, Elena Grigorescu|arXiv (Cornell University)|Aug 15, 2017
Algorithms and Data Compression参考文献 16被引用数 4
ひとこと要約

本稿では、文字列 $S$ の $k$-period を不一致を許容して検出するストリーミングアルゴリズムを提示する。$\text{poly}(k, \log n)$ の空間を用いる。長さ $n/2$ 以下の周期に対しては1パスのアルゴリズムを、任意の周期長に対しては2パスのアルゴリズムを提案し、$k = o(\sqrt{n})$ の場合に1パス計算で $\Omega(k\log n)$ の空間が必要であるという一致する下界を示した。これは、不一致を伴う部分線形空間周期性検出における主要な課題を解決する。

ABSTRACT

We study the problem of finding all $k$-periods of a length-$n$ string $S$, presented as a data stream. $S$ is said to have $k$-period $p$ if its prefix of length $n-p$ differs from its suffix of length $n-p$ in at most $k$ locations. We give a one-pass streaming algorithm that computes the $k$-periods of a string $S$ using $ ext{poly}(k, \log n)$ bits of space, for $k$-periods of length at most $\frac{n}{2}$. We also present a two-pass streaming algorithm that computes $k$-periods of $S$ using $ ext{poly}(k, \log n)$ bits of space, regardless of period length. We complement these results with comparable lower bounds.

研究の動機と目的

  • 文字列に高々 $k$ 個の不一致を許容する $k$-period を特定する空間効率の良いストリーミングアルゴリズムを設計すること。ここで $k$-period とは、長さ $n-p$ の接頭辞と接尾辞が高々 $k$ 個の位置で異なることを意味する。
  • 古典的な周期性の性質(例:$\gcd$ を用いた周期の閉包性)が壊れる不一致の存在下での周期性検出の課題に対処すること。
  • 長さが $n/2$ 以下の $k$-period に対して1パスのアルゴリズムを提供し、すべての $k$-period に対して2パスのアルゴリズムを提供するが、両者とも $\mathcal{O}(k^4 \log^9 n)$ の空間を用いること。
  • タイトな空間下界を確立し、$k = o(\sqrt{n})$ の場合に1パスでの $k$-period 検出に $\Omega(k\log n)$ の空間が必要であることを示す。これは、$k$-period が高々 $n/2$ であるという保証のもとでも成り立つ。

提案手法

  • 不一致を伴うパターンマッチングにおけるフィンガープrintデータ構造を活用し、ストリーミング環境下で効率的に部分文字列を圧縮・比較する。
  • 2パスアプローチを用いて、任意の周期長の $k$-period を計算する。まず候補となる周期を推定し、その後で検証する。
  • 長さ $\leq n/2$ の周期に限定する1パスアルゴリズムを採用し、フィンガープリントとサンプリングを用いて、不一致数が制限された周期性を検出する。
  • 下界を証明するためにハミング距離問題への還元を適用する。$\mathsf{HAM}(x,y) = k/2$ と $\mathsf{HAM}(x,y) = k/2 + 1$ を区別するには $\Omega(k\log n)$ の空間が必要であるような文字列を構築する。
  • 組合せ的議論とスターリングの近似を用いて、特定のハミング距離を持つ文字列の数を評価し、低メモリアルゴリズムが定数割合の入力に対して誤りを起こさざるを得ないことを示す。
  • 不一致の存在下では、古典的な周期性の構造的性質(例:$\gcd(p,q)$ が周期である)が成立しないため、新たなアルゴリズム的手法の必要性が生じる。本稿ではこの洞察を基に、効果的な手法を開発した。

実験結果

リサーチクエスチョン

  • RQ1文字列に高々 $k$ 個の不一致がある場合、ストリーミングモデルで部分線形空間を用いて $k$-period を検出できるか?
  • RQ2長さが $n/2$ 以下の $k$-period をすべて計算する1パスストリーミングアルゴリズムの最小空間複雑度は何か?
  • RQ3長さにかかわらずすべての $k$-period を $\text{poly}(k, \log n)$ 空間で計算できる2パスストリーミングアルゴリズムを設計できるか?
  • RQ4特に $k = o(\sqrt{n})$ の場合に、1パスストリーミングアルゴリズムの $k$-period 検出における本質的空間制限は何か?
  • RQ5不一致は周期性の構造的性質にどのように影響を与え、その影響をアルゴリズム的に活用して空間効率を達成できるか?

主な発見

  • 長さが $n/2$ 以下のすべての $k$-period を計算する1パスストリーミングアルゴリズムは、$\mathcal{O}(k^4 \log^9 n)$ の空間を用いる。
  • 任意の長さのすべての $k$-period を計算する2パスストリーミングアルゴリズムは、$\mathcal{O}(k^4 \log^9 n)$ の空間を用いる。
  • 任意の1パスストリーミングアルゴリズムが文字列 $S$ のすべての $k$-period を計算するには、最悪ケースで $\Omega(n)$ の空間が必要である。
  • $k = o(\sqrt{n})$ かつ $k > 2$ の場合、確率 $1 - 1/n$ 以上で最小の $k$-period を計算する1パスアルゴリズムには $\Omega(k\log n)$ の空間が必要である。
  • $k$-period が高々 $n/2$ であるという保証のもとで、1パス $k$-period 検出に $\Omega(k\log n)$ の空間が必要であるというタイトな下界を確立した。これにより、アルゴリズムの空間使用量がこの領域で漸近的に最適であることが示された。
  • 不一致の存在下で古典的な周期性の構造的性質(例:$\gcd(p,q)$ が周期である)が崩れるため、新たなアルゴリズム的手法の必要性が生じる。本稿では、この課題に対して効果的な手法を成功裏に開発した。

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

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

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

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