注目すべき正規表現オートマトンの分類


10

私は、正規表現をオートマトンに変換するためのアルゴリズムの分類法を作成して、特定のドメインでそれらの複雑性プロパティのいくつかの経験的テストを実行しようとしています。

私はいくつかの「より大きな」名前を知っています、例えば、


トンプソン

「正規表現検索アルゴリズム」、トンプソン、1968

グリシコフ

「正規表現をオートマトンに変換する新しい二次アルゴリズム」、Ponty、等。al、1996

アンチミロフ

「正規表現の部分微分と有限オートマトン構成」、Antimirov、1996

従う

「オートマトンに従ってください」、Ilie、et。2003年。

「式のフォローオートマトンの計算」、シャンパルノー、他 al、2002

フロムコビッチ

「正規表現を小さなe-free非決定性有限オートマトンに変換する」、Hromkovic、他 al、2001


そしてそれらの特徴的な特性(イプシロン自由度、決定論、サイズ、最小化など)が、これが完全なリストではないことを知っています。

私は特に、上記のものとは大幅に異なる時間の複雑さ、および/または大幅に異なるトポロジーを提示するアルゴリズムに興味があります。

他の人を知っている場合は、構築アルゴリズムを詳細に説明している論文へのリンクをいただければ幸いです(実装する場合は必ず読んでください)。

編集:要求に応じていくつかの参照を追加しました。


@Radu GRIGore私はいくつかの参照を追加しました。これらは私がこれらのオートマトンについて知っている最高のリファレンスですが、他にもあるかもしれません。
s8soj3o289 2010年

1
グリシコフの場合、私がいつも参照するのはJ.ベルステルとJ.-Eです。ピン、「ローカル言語とベリーセティアルゴリズム」、1996
。–シルヴァン

1
ちなみに、これらのアルゴリズムのいくつかの実装は、これらのアルゴリズムの構築に関する参照用として、Vaucanson C ++ライブラリにあるかもしれません。trac.lrde.org/vaucanson/browser/include/vaucanson/algorithms(中standard_of = Glushkov、thompson_of =トンプソン、derived_term_automaton = Antimirov、brzozowski = Brzozowski)
ミカエルCadilhac

@ michael-cadilhacポインタをありがとう。他の人が自分で実装する前に、これについて知っていたらいいのに!必ず見ていきます。
s8soj3o289 2010年

回答:


7

Watson(Tech。Rep。Univ。Eindhoven 1995)は、有限オートマトン構築アルゴリズムの分類法を作成しました。いくつかのより最近の進展は以下にあります。

イプシロン遷移を持つNFAの場合、Sippu / Soisalon-Soininen(Springer、1998)による解析理論の本には、トンプソンの構造の変形が含まれています。IlieとYu(I&C 2003)およびGulanとFernau(FSTTCS 2008)は、古典的な構造の洗練されたバージョンを提供します。正規表現に対応するイプシロンNFAの最小必要サイズは、GruberとGulanによってさらに研究されています(LATA 2010)。トンプソンの構造から生じる基礎となる有向グラフの構造は、Giammarresi、Ponty、Wood&Ziadi(Discr。Appl。Math 2004)およびGulan(Tech。Rep。Univ。Trier、2010)によって研究されています。

イプシロンのないNFAについては、Berry&Sethi(TCS 1986)とBrüggemann-Klein(TCS 1993)による以前の研究に触れたいと思いますが、それはおそらくワトソンの分類法でカバーされています。

n2O(logn)

また、注意:正規表現マッチングの高速アルゴリズムに関しては、BilleとThorupによる最近の研究(ICALP 2009、SODA 2010)を知っています。彼らは古典的なトンプソンの構造を使用しています(もちろんスピードを上げるための多くのトリックもあります)。


1
これは素晴らしい答えです、ありがとうございました。私はまたあなたが主題について本を最近出版したのを見ます-私はまた私に尋ねるかもしれません オンラインで任意の形式で入手できる、およびb。それとも、特定のドメインの「平均的なケース」の複雑さを見たことがありますか?私は主にnlpへのアプリケーションに関心がありますが、これらのアルゴリズムのいくつかの平均的なケースの複雑さは、cs文献に記載されている最悪のケースのシナリオとは大幅に異なることを示唆しています。
s8soj3o289 2010年

また、回答の選択に関して、エチケットがどのように指示するかはよくわかりません。あなたの答えは私が以前に選択したものより明らかに優れています。
s8soj3o289 2010年

本のティーザーのみが無料でオンラインで入手できます。
Hermann Gruber

平均的なケースステートの複雑さについては、M。Holzerによる有限言語の平均NFAサイズに関する論文(TCS 2007)もあります。しかし、最も関連しているのは、ニコーによるグラシコフオートマトンに関する作業(LATA 2009)であるようです。また、Nicaud、Pivo​​teau&Razet(FSTTCS 2010)による興味深いタイトルの論文が近づいています-まだ確認できませんでした。
Hermann Gruber

Gouveia、Moreira、Reis(CiE 2010)は、REからNFAへの変換の実験を行っています。Broda、Machiavelo、Moreira&Reis(DLT 2010)は、平均の位置(Glushkov)オートマトンと方程式(Antimirov)オートマトンの状態数を比較します。これも興味深いかもしれません。
Hermann Gruber 2010年

5

リストで考慮されていないのは、Janusz Brzozowskiによる正規表現の派生物、Journal of the ACM 1964です。これは最近、Scott Owens、John Reppy、およびAaron Turonによって正規表現派生物について再検討されました。Journal of Functional Programming(2009)、19:173-190、正規表現の拡張表記のためのテクニックの実用的な実装を提供します。


2
Antimirovは、Brzozowskiの非決定的なバリアントです。
2010年

名前は確かに親しみやすそうだった。
Dave Clarke、

「再検討された」記事をありがとう、私はそれを見ていませんでした!
s8soj3o289 2010年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.