なぜ有限オートマトンの3つの表現形式すべてを研究する必要があるのでしょうか。


9

DFA、NFA、イプシロンNFAの3つすべてにより、特定の通常の言語を表すことができます。これらの表現のいずれかを使用すると、同じ正規表現に到達できますが、有限オートマトンの3つの形式の表現すべてを調査する必要があるのはなぜですか。NFAがDFAではできないこと、NFAでは何ができるかについていくつかの説明があります。つまり、NFAは不確実性の設計に役立つ可能性があります。たとえば、ゲーム(チェス)の設計では、NFAを使用して簡単に表現できる特定の場所から特定のピースを移動するための多くのオプションがあります。しかし、NFAまたはDFAを使用して同じことができる場合、イプシロンNFAの使用は何ですか?


2
3つ以上あります。これらは、教科書で一般的に見られるものにすぎません。イプシロン遷移は定理を証明するのに役立ちますが、モデルでそれ自体が使用されているのを見たことがありません。
wvxvw 2016

3
ϵ

回答:


13

4分の1の通常の文法を追加します。他にもあります...

ϵ

正規表現(および正規の文法)はまったく異なる形式であり、たまたま同じ言語のセットを記述します。ここでも、この事実の証明が重要なクロス関係を探求し、形式主義がかもしれない例です見て非常にdiffent、根本的に異なる概念に基づいていますが、同じ言語を記述すること。繰り返しますが、かなりシンプルな設定です。

「現実の世界」での使用では、正規表現から始めて、高性能検索用の最小限のDFAを取得できます。デジタル回路は基本的にDFAであり、それらを理解することがコンピュータエンジニアリングの中心です。最後に重要なことですが、システムが実際のDFAから遠く離れている場合でも、システムを外部刺激で「ある状態」および「別の状態に移動する」としてモデル化できることがよくあります。

後で追加: Raphaelによって指摘されているように、DFAの作成はコストがかかる可能性があり、NFAははるかに小さい可能性があるため、検索のためにNFAを直接解釈する方が効率的かもしれません。


1
「他にもあります」-何十もの…
ラファエル

1
NFAは非常に小さいので(DFAが唯一の代替手段である場合)役立つ可能性があることに言及したいかもしれませんが、単語が受け入れられるかどうかを確認するために1つを使用することはそれほど高価ではありません。
ラファエル

5

DFAとNFAのさまざまな形式/対応を調査する理由はさまざまです。ここでは、いくつかの高度な複雑性理論からの抜粋をいくつか紹介します。

  • NFAは「並列計算」の興味深いモデルです。NFAによる状態の進行は、DFA計算の並列バージョンと見なすことができます。したがって、DFAとNFAの計算は、逐次計算と並列計算の違いの一部を反映しています。両方のコンテキストを比較することにより、問題の固有のアルゴリズムの複雑さを研究するのにも役立ちます。

  • NFAは、正規表現マッチングシステムでよく使用されます(UNIXの時代に生まれた現代の言語など、言語全体でかなり普及しています)。これにより、通常、NFAに変換され、DFAに変換されて、より効率的な検索を支援する正規表現の説明が可能になります。

  • この地域には未解決の問題が数多く残っており、DFA / NFA対応に基づいて調査されることがよくあります。たとえば、DFA(cstheory stackexchange)に未解決の問題が残っているかどうかを確認してください。幾分驚くべきことに、それらのいくつかは、P対NPの問題、つまりDFAの交差が空でないことなど、CSの非常に深い領域と関係があります。また、別のオープンエリアは、たとえばDFAの最小NFAの計算です。

  • また、いくつかの関連の洞察力のために、このsemifamous / highvoted質問を参照cstheory.se私は、有限オートマトンを勉強した後に達成することになってる啓発は何を?

  • DFAとNFAの用途は非常に多様であり、2つの間の対応はそれらでしばしば利用されます。文字列パターンマッチングについては上記で説明していますが、DFA / NFA構造は(自動)音声認識でよく使用されます。たとえば、この非常に引用された論文を参照してください:音声認識における加重有限状態トランスデューサ / Mohri、Pereira、Riley


2

NFAは複数のパスから選択できるため、次の状態は関数によって決定され、NFAはユーザーが出力として必要なものを簡単に表現できるため、DFAはNFAよりも実装が簡単です。epsilon-NFAはNFAの拡張であり、入力シンボルをとらずに遷移を実行できます。


2
要約:NFAのは非常に深遠な考えである非決定論の考え方を、伝える(その「発明者」、マイケル・ラビン、ダナS.スコットは、これらのアイデアのためのチューリング賞受賞)
蘭のG.

1

DFAの状態の数については厄介なことがあります。爆発することもあります。

つまり、状態の数が多すぎる(まだ有限であるが、私たちは物理的な世界に住んでいる)場合は、抽象化のレベルを上げて、速度低下による複雑化に対処する必要があります。NFAやAFAなどの他のモデルは、通常の言語を表現するためのより簡潔な方法を提供することです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.