Skip to main content
QUICK REVIEW

[論文レビュー] Finding Maximal Exact Matches in Graphs

Manuel Cáceres|arXiv (Cornell University)|Dec 15, 2022
Algorithms and Data Compression被引用数 3
ひとこと要約

本稿では、ラベル付き有向無環グラフ(DAG)に対する正確な文字列照合のための最初のパrameterizedアルゴリズムを提示する。k-ファンネルやSTkといった新しいグラフクラスを用いて、トポロジカル構造を活用する。Knuth-Morris-Prattアルゴリズムを一般化し、前方一致不能なマッチのみを追跡することで、周期的文字列においてサブクアドレティックな性能を達成し、時間計算量はO((|V| + |E|)k² + m²)である。ここでkはDAGの構造的複雑さを表す。

ABSTRACT

The problem of String Matching to Labeled Graphs (SMLG) asks to find all the paths in a labeled graph $G = (V, E)$ whose spellings match that of an input string $S \in Σ^m$. SMLG can be solved in quadratic $O(m|E|)$ time [Amir et al., JALG], which was proven to be optimal by a recent lower bound conditioned on SETH [Equi et al., ICALP 2019]. The lower bound states that no strongly subquadratic time algorithm exists, even if restricted to directed acyclic graphs (DAGs). In this work we present the first parameterized algorithms for SMLG in DAGs. Our parameters capture the topological structure of $G$. All our results are derived from a generalization of the Knuth-Morris-Pratt algorithm [Park and Kim, CPM 1995] optimized to work in time proportional to the number of prefix-incomparable matches. To obtain the parameterization in the topological structure of $G$, we first study a special class of DAGs called funnels [Millani et al., JCO] and generalize them to $k$-funnels and the class $ST_k$. We present several novel characterizations and algorithmic contributions on both funnels and their generalizations.

研究の動機と目的

  • SETHに基づく二次的下界を受けるラベル付きDAGへの文字列照合に対して、トポロジカル構造に基づくパrameterizedアルゴリズムを導入すること。
  • KMPアルゴリズムをDAGに一般化し、重複する前方一致を処理しないようにすることで計算量を削減すること。
  • k-ファンネルおよびSTkという、構造的パラメータを捉える新しいグラフクラスを定義・特徴づけること。
  • これらのグラフクラスの効率的な認識および分割アルゴリズムを提供し、パrameterized解法を支援すること。
  • 本手法をカウント/レポートの拡張および実用的な非パrameterized線形時間解法への応用可能性を検討すること。

提案手法

  • 前方一致不能なマッチのみを保持することで、KMPアルゴリズムをDAGに一般化し、有効な状態数を削減する。
  • 各頂点vに対して、前方一致不能集合(PIv)の概念を導入し、vで終わるすべての有効な前方一致を捉える。
  • k-ファンネルおよびSTkクラスを、ファンネルの一般化として定義し、kは共通の接頭語または接尾語を持つパスの最大数を測る。
  • k-ファンネル構造に基づく分割戦略を用い、DAGをG[V1] ∈ SkおよびG[V2] ∈ Tkに分割し、V2からV1への辺が存在しないようにする。
  • 動的計画法を用い、O(m²)時間でブールテーブルPS[i,j]を事前計算し、O(|PIu|·|SIv|)時間でV1からV2への辺を跨ぐマッチの存在をテストする。
  • 指数探索を用いて、DAGがSTkに属する最小のkをO((|V| + |E|) log k)時間で計算する。

実験結果

リサーチクエスチョン

  • RQ1SETHに基づく二次的下界が存在するにもかかわらず、トポロジカル構造をパラメータとして用いることで、ラベル付きDAGへの文字列照合をサブクアドレティック時間で解けるか?
  • RQ2KMPアルゴリズムをDAGに適応させることで、重複する前方一致の処理を回避し、パラメータ化された線形時間で実現できるか?
  • RQ3k-ファンネルおよびSTkクラスの構造的性質は、効率的な文字列照合および認識を可能にするか?
  • RQ4DAGがSTkに属する最小のkを効率的に計算できるか?また、その影響は全体のアルゴリズム的計算量にどのように現れるか?
  • RQ5パラメータ化されたアプローチを、すべてのマッチのカウントやレポートに拡張可能か?また、出現回数に比例する線形時間で実現可能か?

主な発見

  • 本稿では、k = maxv∈V(min(μs(v), μt(v)))を用いたパラメータ化されたアルゴリズムを提示し、時間計算量はO((|V| + |E|)k² + m²)である。これは特定のDAG構造において、古典的なO(m|E|)の境界を改善する。
  • 周期的文字列に対して、前方一致不能集合のサイズが制限されることを活用することで、サブクアドレティックな性能を達成する。これは、パターン文字列Sの構造によって上界が与えられる。
  • k-ファンネルおよびSTkクラスの線形時間認識アルゴリズムを提供し、パラメータ化された解法のための効率的な前処理を可能にする。
  • DAGがSTkに属する最小のkは、指数探索を用いてO((|V| + |E|) log k)時間で計算可能である。
  • O(m²)時間で事前計算された動的計画法テーブルPS[i,j]を用い、O(|PIu|·|SIv|)時間で分割間の辺を跨ぐマッチの存在をテストする。ここで|PIu|·|SIv| = O(k²)である。
  • 前方一致不能マッチにのみ注目することで、KMPアルゴリズムをDAGに一般化し、各頂点で終わるすべての有効な前方一致を表現するのに十分である。

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

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

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

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