文脈自由言語の認識のために、非決定論的プッシュダウンオートマトン(DPA = NPDA)のみが機能する理由を知りたいのですが。なぜ確定的プッシュダウンオートマトン(DPDA)はそのような言語を認識しないのですか?
文脈自由言語の認識のために、非決定論的プッシュダウンオートマトン(DPA = NPDA)のみが機能する理由を知りたいのですが。なぜ確定的プッシュダウンオートマトン(DPDA)はそのような言語を認識しないのですか?
回答:
あなたが探している「なぜ」のどのフレーバーがよくわからない。非決定性を許可する際にパワーが増加する理由の1つは、次の例に示されています。
FAは、確定的または非確定的に同じ言語を受け入れます(つまり、通常の言語)。
ただし、PDAの場合、確定的に動作するように制限すると、一部のCFL(プレフィックスプロパティのない CFL(RLを除く))を受け入れません。
なんでそうなの?
接頭辞プロパティを持たないCFLの例を考えます(langの接頭辞プロパティ:文字列は、lang内の別の文字列の適切な接頭辞ではありません)。
L = wwr
例えば。文字列00および0000。(00は0000の適切なプレフィックスであるため、wwrには設定プロパティがありません)。
00が発生すると、DPDAは最終状態になります。現在、DPDAは受け入れと継続のどちらかを選択できないため、00を受け入れた後で0000を受け入れることはできません。これは、PDAが非決定性を要求する場所です。
所見:FAの場合、lang(RL)は設定なし。プロパティは確定的に受け入れることができます(例:0で始まる文字列)。これは、RLとCFLのプレフィックスプロパティの効果が異なることを示しています。PDAの決定論と非決定論の違いにより、langの新しいファミリーが生まれます。これはDPDAで受け入れられています。この言語はDCFLと呼ばれます。