Skip to main content
QUICK REVIEW

[論文レビュー] Exact Online String Matching Bibliography

Simone Faro|arXiv (Cornell University)|May 17, 2016
Algorithms and Data Compression参考文献 73被引用数 4
ひとこと要約

本論文は、1970年以降に提案された120以上のオンライン正確な文字列照合アルゴリズムの包括的で時系列順の参考文献リストを提示する。アルゴリズムは、文字比較、パッケージド文字列照合、オートマトンに基づく手法(決定的およびビット並列変種を含む)に分類される。本論文は研究者にとって基盤的な参照資料を提供するもので、すべてのアルゴリズムはSmartツールに実装されており、最適化された事前処理とシフトヒューリスティクスを用いた線形時間および平均的に部分線形の性能向上に関する重要な進展を強調している。

ABSTRACT

In this short note we present a comprehensive bibliography for the online exact string matching problem. The problem consists in finding all occurrences of a given pattern in a text. It is an extensively studied problem in computer science, mainly due to its direct applications to such diverse areas as text, image and signal processing, speech analysis and recognition, data compression, information retrieval, computational biology and chemistry. Since 1970 more than 120 string matching algorithms have been proposed. In this note we present a comprehensive list of (almost) all string matching algorithms. The list is updated to May 2016.

研究の動機と目的

  • 1970年以降に発表されたオンライン正確な文字列照合アルゴリズムの完全で最新の参考文献リストを編纂・整理すること。
  • アルゴリズムを4つの主要カテゴリに分類すること:文字比較、パッケージド文字列照合、決定的オートマトン、ビット並列非決定的オートマトンのシミュレーション。
  • 文字列照合分野の研究者および実務家を対象に、アルゴリズム設計、性能、実装の観点から参照リソースを提供すること。
  • 統一的かつアクセスしやすいカタログを提供することで、新しい文字列照合アルゴリズムの開発と評価を支援すること。ここには標準化された頭字語と参考文献が含まれる。
  • すべてのリストアップされたアルゴリズムをSmartツールに統合し、実験的検証とベンチマークを可能にすること。

提案手法

  • コア計算モデルに基づいてアルゴリズムを分類:1文字ずつの比較、ワード単位のパッケージド比較、決定的オートマトン、非決定的オートマトンのビット並列シミュレーション。
  • 時系列順序を用いて、ブルートフォースから高度なビット並列およびパッケージドワード手法に至る文字列照合技術の進化を追跡する。
  • 各アルゴリズムに対して標準化された記録フォーマットを適用:名称、頭字語、参考文献、および主な特徴と革新点の簡単な説明。
  • 時間計算量(例:O(n)線形時間、O(nm)最悪ケース)、メモリ使用量、平均ケース動作などの性能洞察を統合する。
  • すべてのアルゴリズムを実装・検証するためにSmartツールを活用し、再現性と性能比較を可能にする。
  • q-gram、スーパー アルファベット、複数のスライディング ウィンドウ、ルックアヘッド技術などの強化を導入し、シフト ヒューリスティクスの改善と比較回数の削減を図る。

実験結果

リサーチクエスチョン

  • RQ11970年以降にオンライン正確な文字列照合で見られる主なアルゴリズムのグループと進化の傾向は何か?
  • RQ2文字比較、パッケージドワード照合、オートマトンベースの手法といった異なるアプローチは、時間計算量と実用的効率の観点でどのように比較できるか?
  • RQ3部分線形平均ケース性能を維持しながら線形最悪ケースバウンドを保つために、どのような主要な最適化が可能か?
  • RQ4q-gram、複数のウィンドウ、ビット並列処理といった現代的技術は、シフト意思決定をどのように最適化し、比較回数を削減するか?
  • RQ5オンライン文字列照合アルゴリズム分野における最先端技術は何か?また、それらはどのように体系的にカタログ化され、研究や応用に活用できるか?

主な発見

  • 1970年以降に120以上のオンライン文字列照合アルゴリズムが提案されており、その大部分は4つの主要カテゴリに分類される:文字比較、パッケージド文字列照合、決定的オートマトン、ビット並列オートマトンのシミュレーション。
  • 1970年に発表されたMorris-Prattアルゴリズムは、オンライン文字列照合でO(n)時間計算量を達成した最初のアルゴリズムであり、線形時間アルゴリズムの基盤を築いた。
  • Boyer-MooreおよびHorspoolアルゴリズムは、効率的な右から左への走査とシフトヒューリスティクスを導入し、O(nm)最悪ケースのままでも平均ケース性能を著しく向上させた。
  • BNDMやその変種(例:SBNDM、BXS、BQL)といったビット並列アルゴリズムは、非決定的オートマトンをビット演算でシミュレートすることで高い性能を達成し、一部の実装ではパッケージドマッチングでO(n/α + occ)の時間計算量を達成している。
  • SSE命令とスーパー アルファベット(例:Packed Belazzougui、SSECP、EPSM)を用いたパッケージド文字列照合技術により、1ワードに複数の文字を一括比較できるようになり、現代のプロセッサ上で処理効率が向上した。
  • FSBNDMqf、SBNDMw、TSAqといった高度な変種は、ルックアヘッド、複数のウィンドウ、q-gram スーパー アルファベットを用いて、特に長いパターンに対してシフト意思決定を最適化し、比較回数を削減している。

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

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

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

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