Skip to main content
QUICK REVIEW

[論文レビュー] Parameterized DAWGs: efficient constructions and bidirectional pattern searches

Katsuhito Nakashima, Noriki Fujisato|arXiv (Cornell University)|Feb 17, 2020
Network Packet Processing and Optimization被引用数 2
ひとこと要約

この論文は、パラメータ化されたパターンマッチングのための線形空間インデックス構造として、パラメータ化された有向無閉路語彙グラフ(PDAWGs)を導入する。左から右へのオンラインアルゴリズムを提示し、O(n|Π| log(|Π| + |Σ|))時間、O(n)空間でPDAWGsを構築する。また、PDAWGsを用いることで、O(n)空間でO(m log(|Π| + |Σ|) + occ)時間で双方向のパラメータ化されたパターンマッチングを実現できることを示し、双方向pマッチングを線形空間で行える最初のインデックスであることを明らかにする。

ABSTRACT

Two strings $x$ and $y$ over $\Sigma \cup \Pi$ of equal length are said to \emph{parameterized match} (\emph{p-match}) if there is a renaming bijection $f:\Sigma \cup \Pi ightarrow \Sigma \cup \Pi$ that is identity on $\Sigma$ and transforms $x$ to $y$ (or vice versa). The \emph{p-matching} problem is to look for substrings in a text that p-match a given pattern. In this paper, we propose \emph{parameterized suffix automata} (\emph{p-suffix automata}) and \emph{parameterized directed acyclic word graphs} (\emph{PDAWGs}) which are the p-matching versions of suffix automata and DAWGs. While suffix automata and DAWGs are equivalent for standard strings, we show that p-suffix automata can have $\Theta(n^2)$ nodes and edges but PDAWGs have only $O(n)$ nodes and edges, where $n$ is the length of an input string. We also give an $O(n |\Pi| \log (|\Pi| + |\Sigma|))$-time $O(n)$-space algorithm that builds the PDAWG in a left-to-right online manner. As a byproduct, it is shown that the \emph{parameterized suffix tree} for the reversed string can also be built in the same time and space, in a right-to-left online manner. This duality also leads us to two further efficient algorithms for p-matching: Given the parameterized suffix tree for the reversal of the input string $T$, one can build the PDAWG of $T$ in $O(n)$ time in an offline manner; One can perform \emph{bidirectional} p-matching in $O(m \log (|\Pi|+|\Sigma|) + \mathit{occ})$ time using $O(n)$ space, where $m$ denotes the pattern length and $\mathit{occ}$ is the number of pattern occurrences in the text $T$.

研究の動機と目的

  • パラメータ化されたパターンマッチングのための効率的で線形空間のインデックス構造の欠如に対処すること。
  • 線形空間を維持しながら効率的なパターンマッチングを可能にする、標準DAWGsのパラメータ化版(PDAWGs)を設計すること。
  • PDAWGsとパラメータ化されたサフィックスツリーの間に双対性を確立し、オンラインおよびオフラインの構築アルゴリズムを可能にすること。
  • 線形空間およびほぼ最適な時間計算量で双方向パターンマッチングをサポートすること。

提案手法

  • パラメータ化されたサフィックス同値に基づく等価類を定義することで、標準DAWGsのパラメータ化版としてPDAWGsを提案する。
  • PDAWGsとの双対性を確立するために、パラメータ化されたサフィックスツリーにパラメータ化されたウィーナーリンクを導入する。
  • サフィックスリンクと辺の更新を用いて、左から右へのオンラインアルゴリズムを設計し、時間計算量O(n|Π| log(|Π| + |Σ|))、空間計算量O(n)を達成する。
  • PDAWGsとパラメータ化されたサフィックスツリーの双対性を活用して、パラメータ化されたサフィックスツリーの右から左へのオンライン構築を導出する。
  • 元の文字列の逆順のパラメータ化されたサフィックスツリーとPDAWGを組み合わせて、双方向パターンマッチングをサポートする。
  • ポインタマシンモデルにおける効率性を維持するため、辺およびサフィックスリンクの探索に対数時間のデータ構造を適用する。

実験結果

リサーチクエスチョン

  • RQ1パラメータ化されたDAWGsを、効率的なパターンマッチングを可能にしながら線形空間で構築できるか?
  • RQ2標準DAWGsとサフィックスツリーの間の双対性と同様に、PDAWGsとパラメータ化されたサフィックスツリーの間に双対性が存在するか?
  • RQ3双方向のパラメータ化されたパターンマッチングを、線形空間およびほぼ最適な時間計算量でサポートできるか?
  • RQ4オンラインPDAWG構築の時間計算量O(n|Π| log(|Π| + |Σ|))はタイトか、改善可能か?
  • RQ5元の文字列の逆順のパラメータ化されたサフィックスツリーを事前計算することで、オフラインPDAWG構築を高速化できるか?

主な発見

  • 長さnのパラメータ化された文字列に対するPDAWGsは、最悪ケースでΘ(n²)サイズをとるパラメータ化されたサフィックスオートマトンとは異なり、O(n)個のノードとエッジを持つ。
  • 文字列を左から右へ処理することで、O(n|Π| log(|Π| + |Σ|))時間およびO(n)空間でPDAWGsをオンラインで構築するアルゴリズムが存在する。
  • PDAWGsとパラメータ化されたサフィックスツリーの双対性により、パラメータ化されたサフィックスツリーを右から左へのオンラインでO(n|Π| log(|Π| + |Σ|))時間およびO(n)空間で構築できる。
  • 逆順の文字列のパラメータ化されたサフィックスツリーが事前に得られている場合、PDAWGはO(n)時間およびO(n)空間でオフラインで構築可能である。
  • 双方向のパラメータ化されたパターンマッチングは、O(m log(|Π| + |Σ|) + occ)時間でO(n)空間のみでサポート可能であり、ここでmはパターン長、occは出現回数を表す。
  • 提案されたPDAWGは、双方向のパラメータ化されたパターンマッチングを効率的に行える最初の線形空間インデックスである。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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