2016-03-29 4 views
2

プッシュダウンオートマトン(PDA)を生成して、10個の部分文字列と同じ数の01部分文字列が存在することを確認し、同様に00部分文字列11個の部分文字列。2つの同じ部分文字列の出現を保証するためにプッシュダウンオートマトンを生成する

相続人問題:

レッツL1⊆{0、1} * 10個のサブストリングとして01サブストリングの同じ数 を有する文字列の言語、および00 サブストリングの同じ数のようにすること11個の部分文字列。 (注:000には2つの00部分文字列があります) 言語L1を認識するプッシュダウンオートマトンを生成します。

これまで、私は、後でPDAに変換できるCFGの製作を試みました。私は両方の条件が満たされることを保証するためにCFGを作り出すことができないので、そこには運がありません。

Iは、文法の多くのCFG変動がと同様の規則を試みた:

S -> 00S11S | 11S00S | 01S10S | 10S01S | 010S | 101S | 00110S | ϵ 

Iはまた、PDAのそれぞれにA、B、C、Dとして01,10,00,11の各発生を格納しようとしましたスタック。私はめちゃくちゃうまく私は一致することができ、B'sとC'sはD'sとポップすると思った、残りの文字は条件を満たしていないことを私に警告するだろう。

誰かが私を正しい方向に操縦するためのヒントを提供できますか?

答えて

0

代わりにNFAを作成して、単純にプッシュ操作とポップ操作を追加してPDAに変換しようとしましたか?

+0

私はこれを試しました。 1つのスタックで2つの条件(11 == 00&10 == 01)をどのように追跡することができますか? – Trent

+0

hmm、第1の条件の終了状態から第2の条件の開始状態へのイプシロン遷移を有する可能性があり、通常のようにスタック操作を行い、その後、第1の条件の開始状態および終了状態e - > eのようになり、最終的にその状態がe、$ - > eの状態になり、それがあなたの最終状態になります – javip

+0

希望があれば誰かがより簡潔な答え、幸運 – javip

関連する問題