有限状態オートマトンの言語の無限大の条件


9

次の定理があります。

状態を持つ有限オートマトンが与えられ、長さが満たす文字列が存在する場合 場合、オートマトンが受け入れる言語は無限です。ワットのn | w | 2 N - 1nwn|w|2n1

制約を理解しています、なぜ制約がなのかわかりませんがあります。| w | 2 N - 1|w|n|w|2n1

回答:


5

最悪のシナリオでは、NFAは次のようになります。

ループすることが保証されている(無限言語を受け入れるように強制する)最小のサイズはです。2 n 1w2n1


q0から開始し、その後q0に戻ったときは、マシンにサイクルがあることを意味します。最悪の場合、それで十分ではありませんか?なぜ、この場合、再び最終段階に戻るのですか?最終段階に入ると、他の状態に戻ったため、これは私の文字列ではないと想定していますが、再び最終段階に戻ったら、ループが存在するため、この文字列は汲み上げられた?
rahul sharma 2017年

私たちは、オートマトンについて何かを証明しようとしています。つまり、オートマトンは無限の言語を受け入れます。証明が定式化される方法では、文字列が推測され、そのサイズは特定の間隔内にあると想定されます。明らかに、オートマトンにループがある場合、文字列が存在します。何が起こるかというと、この区間内でを見つけることが不可能である場合、マシンは図のマシンのようにはならないということです。ループがないか、最終状態がありません。w wwww
アンドレ・ソウザ・レモス

私はあなたのポイントを理解しています。私は単に間隔の上限を理解しようとしています、なぜそれが2n-1であり、なぜ2n-x(xは1以外の何でもあり得ます)ではない理由です。上の図では、ループはqo -q1 .... qn-q1 .... qn、right(max。loop)?しかし、私が再びq0になったとき(q0 ... aq、q0)は、ループがあることを意味していません、したがって、最大値はnである必要があります。なぜn-1をnに追加するのか(または、なぜ最終状態に戻るのか)です。これを取得するのに苦労しています:(最大ループをq0にすることができます。q1、q2 ..qn、qn-1、qn-1..q0、something like that?
rahul sharma

それより悪くならないので、上限はです。はより小さいので、ステップが必要なオートマトンを紹介しました。これ以上必要なものはありません(そして仕事をします)が、この量が必要なものはあります。2 n x 2 n 1 2 n 12n12nx2n12n1
アンドレ・ソウザ・レモス

了解しました。ちょっとした疑問です。マシンに4つの状態があると仮定します。文字列abcを読み取り、最終状態に達してから、dを読み取って初期状態に戻り、再び最終状態に戻ります。私の文字列はabcdabcになります。これをポンピングレンマに分割して、y ^ iを取得して(i = 1)、yが1回ポンピングされたことを示すにはどうすればよいですか?
rahul sharma

5

追加の条件により、受け入れられる言語の(無限の)有限性を決定するために、単純なアルゴリズムを書くことができます-この間隔で長さを持つすべての文字列をチェックします-。したがって、このプロパティが決定可能であることの証明が得られます(これは、超規則的なパワーを持つほとんどのオートマトンモデルには当てはまりません)。


3

完全な定理は含意ではなく同等性を述べています:

NFAが受け入れる言語は、サイズが満たす単語が含まれている場合に限り、無限になります。ワットのn | w | 2 N - 1nwn|w|2n1

追加条件このように定理を強くします。|w|2n1

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