下の写真では、このNFAが何を受け入れているかを正確に把握しようとしています。
私を混乱させているのは、ジャンプ。
場合は入力すると、両方のシステムに移動しと(状態を受け入れますか)?
が入力された場合、システムは両方の移動しますとますか?
入力がない場合(空の文字列)、システムは(状態を受け入れる)にのみ移動しますか
下の写真では、このNFAが何を受け入れているかを正確に把握しようとしています。
私を混乱させているのは、ジャンプ。
場合は入力すると、両方のシステムに移動しと(状態を受け入れますか)?
が入力された場合、システムは両方の移動しますとますか?
入力がない場合(空の文字列)、システムは(状態を受け入れる)にのみ移動しますか
回答:
遷移のある状態になるたびに、自動的に両方の状態になり、これが簡単になります:
文字列の場合、あなたのオートマトンは、両方で終わるのq 0とqは1
文字列が「0」の場合、再びとq 1になります
あなたの文字列が「1」である場合、それが唯一のでしょうあなたがのポイントから見た場合ので、Q 0、あなたが「1」に移行持っQ 2を、しかし、あなたが持っているあなたがいる場合を見ても、でQ 1(あなたがしていた場合は、Q 0あなたはいつもしていたQ 1、その後何の「1」の遷移は、この代替パスので、ちょうど「ダイス」、存在しないも)。
これらのケースを見るだけで、オートマトンが、0 ∗を受け入れ、q 0からq 1に進むことがわかりやすいため、q 2に到達する唯一の方法は0 ∗ 11 ∗ 1なので、オートマトンはtoに戻ります、0 ∗、0 ∗ 11 ∗ 1
これがお役に立てば幸いです。さらに疑問がある場合は、お問い合わせください!
入力をまったく読み取らない状態では、NFAは両方ともq 0にとどまり、(場合によっては代替ユニバースで)状態q 1に移動します。これは、キャラクターの入力で異なる状態への2つの遷移があったNFAで起こることと似ています。特に、NFAは空の文字列を受け入れます。入力がない場合、受け入れ状態q 1に遷移できるからです。
あなたの例を続けると、状態から入力見る0を、それは、そのシンボルを消費する状態での滞在qは0(ループ)と、状態に行き、Q 1、それによって入力受付、0を。入力1を読み取る状態q 0では、NFAは状態q 2になります。また、消費しない可能性があります1の状態に、変更Q 1からの移行がないことから、別の宇宙のをして(それがすべての入力を読んでいなかったことから、そして受け入れない)が立ち往生Q 1の1。
このマシンで受け入れられる言語が正規表現で示されていることを確信できるかどうかを確認します。つまり、0個以上の0の後にゼロまたは2個以上のいずれかが続く文字列1 s。
ところで、とNFAをとるアルゴリズムがあります -movesとせずに同等のNFAを生成ε私はあなたがすぐに学ぶ期待-movesは、。
このNFAのDFAを構築してみました
アルファベットセット
状態セット
状態FUNC
すべてのNFAはDFAが等しいため、この特定のNFAに対してDFA を構築できます。
アルファベット-同じ
-状態
このFSMで計算するもの
おかげでデビッドRicherby