すべての非決定性有限オートマトンは、同等の決定性有限オートマトンに変換できます。ただし、確定的有限オートマトンでは、状態からポイントするシンボルごとに1つの矢印しか使用できません。したがって、その状態はNFAの状態のパワーセットのメンバーである必要があります。これは、DFAの状態の数がNFAの状態の数に関して指数関数的にスケーリングできることを示しているようです。しかし、私は実際にこれをどのように証明するのか疑問に思っていました。
すべての非決定性有限オートマトンは、同等の決定性有限オートマトンに変換できます。ただし、確定的有限オートマトンでは、状態からポイントするシンボルごとに1つの矢印しか使用できません。したがって、その状態はNFAの状態のパワーセットのメンバーである必要があります。これは、DFAの状態の数がNFAの状態の数に関して指数関数的にスケーリングできることを示しているようです。しかし、私は実際にこれをどのように証明するのか疑問に思っていました。
回答:
NFAを別のNFAに変換するが、DFAの変換を行わない1つの操作は反転です(逆方向にすべての矢印を指し、初期状態を受け入れ状態に交換します)。形質転換されたオートマトンによって認識される言語は逆言語である。
したがって、1つのアイデアは、非対称構造を持つ言語を探すことです。今後、この言語は、n + O (1 )状態のみを必要とする最初のシンボルを検査することで認識されるはずです。後方に戻ると、最後のn個の状態のメモリを保持する必要があります。これには、A n + O (1 )状態が必要です(Aはアルファベットサイズ)。
形式の言語を探しています。ここでM nは長さnの単語から成り、Sはアルファベットの重要なサブセットであり、M ′はそれ以上の制約を提供しません。同様に、最も単純なアルファベットA = { a 、b }(シングルトンアルファベットでは対応できず、小さいNFAを取得しない)とM ′ = A ∗を選択することもできます。自明でないSはS = { a }を意味します。はどうかと言うと、 Sと相関しないことを要求します(逆言語のDFAが Sのメモリを保持する必要があるように): M n = A nを使用します。
したがって、ます。n + 2状態の単純なDFAによって認識されます。
逆にすると、を認識するNFAが生成されます。
最小DFA認識 少なくとも有し、2つのn + 1の状態を。これは、長さ2 n + 1のすべての単語がDFAで異なる状態に到達する必要があるためです。(換言すれば、それらは別個に属するMyhill-Nerodeさんの同値類。)この2つの異なる単語を取ることを証明するためにUを、V ∈ A N + 1およびlet kは、それらが(異なる位置であるUはkは ≠ Vのkは)。一般性を失うことなく、u kを仮定しましょうとのV K = B。次いで、 U B 、K ∈ LのR N及び V B K ∉ L R N( Bのkはのための特徴的な拡張であり、 Uおよび V)。場合、Uおよび Vは、 DFA認識に同じ状態につながった L個のR nはそのように希望 uがB 、K及び VのBのK、一方は受け入れ状態になり、もう一方は受け入れ状態にならないため、不可能です。
謝辞:この例は、説明なしでウィキペディアで引用されました。この記事は、私が読んだことのない、より
きびしい記事への参照を提供します。Leiss、Ernst(1981)、「ブールオートマトンによる正規言語の簡潔な表現」、Theoretical Computer Science 13(3):323–330、doi:10.1016 / S0304-3975(81)80005-9。
言語の次の家族考える:
Sipserの本にはこの例があると確信しています。