非決定論的有限オートマトン(NDFA)を部分指数空間/時間で決定論的有限オートマトン(DFA)に効率的に変換できますか?


16

20年前、正規表現から有限状態マシン(DFA)への変換を含む正規表現パッケージを作成し、多数の閉じた正規表現操作(Kleeneスター、連結、リバース、集合操作など)をサポートしました。パッケージの最悪の場合のパフォーマンスについては確信が持てませんでした。

n状態のNDFAは2 ^ n状態のDFAに簡単に変換できるため、DFAにはNDFAと同じ表現力があります。ただし、状態の指数関数的な爆発を必要としないこのような変換の下限保証はありますか?

正常に動作しない正規表現やNDFAの例を見つけることはできませんでしたが、それについて考えるのに多くの時間を費やしませんでした。(((((e | A | B | C)*(e | D | E | F))*(e | G | H | I))*(e | J | K | Lのような正規表現を推測しています。 | M))*多くの交代とクリーン星を混ぜると、NDFAは直線的なサイズになりますが、DFAは拡張されます。


入力として受け入れたいNFAのクラスに制限はありますか?いくつかの制限は、より良い上限につながります。
アンドラスサラモン

重要なポイントではありませんが、ndfaを独自のタグにする必要がありますか?
レフReyzin

はい、制限があります。NFAは、一般化された遷移グラフとして扱うことにより、正規表現から直接構築されます。seas.upenn.edu/~cit596/notes/dave/regexp-nfa4.html
Wesnerモイーズ

回答:


15

n,aなどの自然数のペアごとに、対応する等価な最小dfaが状態(4文字以上のアルファベット)をn <= a <= 2^n持つn状態を持つ最小NDFAが存在することが知られていaます。

こちらの論文をご覧ください:固定アルファベット上の最小の非決定的有限オートマトンの決定論的爆発

論文の要約:

n≤α≤2 ^ nであるようなすべての整数nおよびαについて、4文字の入力アルファベットを持つn個の状態の最小非決定性有限オートマトンが存在し、その等価最小決定性有限オートマトンには正確に状態があることを示します。したがって、4文字のアルファベットの場合、「マジックナンバー」、つまり階層の穴はありません。これは、サイズn + 2のアルファベットの成長に対してゲファートによって得られた同様の結果を改善します(Proc。7th DCFS、Como、Italy、23-37)。

だから、あなたの質問への答えは、いいえだと思います。


問題は、NFAを変換するために指数関数的でない時間と空間で実行される「アルゴリズム」を求めていることです。
マルコスヴィラグラ

@Marcos:出力が指数関数的である場合、サブ指数時間で実行されるアルゴリズムを持つことはできません。
アルヤバタ

1
これは一般的な結果です。入力NFAのクラスに既知の制限がある場合は、さらに改善できる可能性があります。
アンドラスサラモン

@Andras:同意しましたが、これはおそらく(Kleen *などをサポートする)プログラミング関連であることを考えると、入力NFAのセットが適切なサブセットに制限されるかどうかは疑問です。
アルヤバタ

5
この結果は最近強化され、3文字のアルファベットを使用するようになりました。構成は少し単純になりました。portal.acm.org

13

DFAサイズとNFAサイズが指数関数的に分離されている言語の典型的な例は、次の有限言語です。NFAは、前半と後半が一致しないインデックスiを推測します。たとえば、DFAの下限は、通信の複雑さから生じます。


8

NFAに対応する最小DFAには、最悪の場合2 ^ nの状態があるため、何も保証できません。建設的な例はありませんが、その理由は、NFAでは特定の入力文字列を読み取った後、任意の状態のサブセットになり、そのような各サブセットは1文字を観察するときに異なる動作をする可能性があるためです。アルファベットの2文字(aおよびb)の言語と、s_0で受け入れ状態で始まるn状態のNFA Nがあるとします。Nの状態のすべてのサブセットを列挙し、サブセットS_iから「a」を観察するとサブセットS_i + 1に、bを観察するとサブセットS_i-1に移行するように遷移テーブルを構築します(これはいくつかの列挙で可能です。 )。現在、このオートマトンはn個の状態を持ち、mn = 0 mod 2 ^ | N |となるmaとnbのシーケンスを受け入れます。2 ^ | N |未満のDFAでは表現できません 状態(NFA Nの状態のすべてのサブセットを循環する必要がある場合があるため)


これを「NFAで(何らかの悪いこと)が回避された場合、DFAが準指数関数的な状態を持っている」という議論に変えることができますか?
アンドラスサラモン

1
@アンドラス、はい。「NFAで非決定性が回避される場合、DFAには準指数関数的な状態があります」。
P Shved

2
パベル、はい、明らかに。準指数関数的な爆発も保証する、効率的に認識できる重要なプロパティはありますか?
アンドラスサラモン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.