QUICK REVIEW
[論文レビュー] Finding Distinct Subpalindromes Online
Dmitry Kosolobov, Mikhail Rubinchik|arXiv (Cornell University)|May 11, 2013
semigroups and automata theory参考文献 3被引用数 9
ひとこと要約
本稿では、順序付きアルファベットでは O(n log |Σ|) 時間、無順序アルファベットでは O(n|Σ|) 時間で、すべての異なる部分回文をオンラインで検出するアルゴリズムを提示する。このアルゴリズムは、最大の接尾部分回文を維持するデータ構造を用いた変更版マンチャラーのアルゴリズムであり、比較ベースのモデルにおいて最適であることが証明され、文字列処理におけるオンラインで異なる部分回文を列挙するという未解決問題を解決する。
ABSTRACT
We exhibit an online algorithm finding all distinct palindromes inside a given string in time $Θ(n\log|Σ|)$ over an ordered alphabet and in time $Θ(n|Σ|)$ over an unordered alphabet. Using a reduction from a dictionary-like data structure, we prove the optimality of this algorithm in the comparison-based computation model.
研究の動機と目的
- 文字列内のすべての異なる部分回文をオンラインアルゴリズムで検出するという未解決問題を解決すること。
- 比較ベースのモデルにおいて、異なる部分回文の列挙に線形時間・線形空間の複雑さを達成すること。
- 挿入のみの辞書問題への還元を通じて、提案されたアルゴリズムの最適性を証明すること。
- この手法を、すべての文字列接頭部について、最大の接尾部分回文と回文的閉包の長さをオンラインで計算するように拡張すること。
提案手法
- 中心と半径配列を用いて、最大の奇数および偶数の接尾部分回文を追跡するデータ構造を維持することで、マンチャラーのアルゴリズムを拡張する。
- 奇数と偶数の回文を区別するためのブール型フラグ Δ を用い、対称性と拡張チェックに基づいて動的に半径配列 Rad を更新する。
- 対称位置に一致する文字が見つかった場合に、最大の接尾部分回文を拡張するための while ループを採用する。
- 初期化と最初のステップにおける端末ケースの処理を簡素化するため、特別なセントinel 文字 '$' を導入する。
- 挿入のみの辞書問題の維持を、部分回文数のカウントに還元するための文字列構築法を用いる。
- 補題 3.5 を用いて、形式 abx1abx2…abxn の文字列では、単一の文字のみが部分回文であることを示し、部分回文数の増加によって新しい要素の検出が可能になることを示す。
実験結果
リサーチクエスチョン
- RQ1文字列内のすべての異なる部分回文を、オンラインアルゴリズムで線形時間で検出可能か?
- RQ2比較ベースのモデルにおけるオンラインで異なる部分回文を列挙する最適時間複雑度は何か?
- RQ3すべての文字列接頭部について、回文的閉包と最大接尾部分回文の長さをオンラインで計算するにはどうすればよいか?
- RQ4挿入のみの辞書問題から部分回文数のカウントへの還元は、下界を確立するのに有効か?
主な発見
- 順序付きアルファベットでは O(n log |Σ|) 時間、無順序アルファベットでは O(n|Σ|) 時間で動作し、両者とも線形空間を要する。
- 挿入のみの辞書問題への還元を通じて、比較ベースのモデルにおいて最適性が証明された。
- 順序付きアルファベットの下界は Ω(n log |Σ|)、無順序アルファベットの下界は Ω(n|Σ|) であり、アルゴリズムの複雑さと一致する。
- この手法は、すべての接頭部について、最大接尾部分回文と回文的閉包の長さを正しくオンラインで計算する。
- abx1abx2…abxn の形式の文字列を用いた構築により、新しい部分回文が出現するのは、新しい文字が導入された場合に限り、メンバーーシップ検出が可能になる。
- 証明により、比較ベースのアルゴリズムでは、提案された境界より速く問題を解くことは不可能であり、最適性が確認された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。