本質的に曖昧で決定論的なコンテキストフリー言語はありますか?


36

決定論的プッシュダウンオートマトンで受け入れられる場合にのみ、コンテキストフリー言語を決定論的と呼び、そうでない場合は非決定的と呼びます。

言語を生成するすべての文脈自由文法が曖昧であり、それ以外では曖昧でない場合にのみ、本質的に曖昧な文脈自由言語を呼び出しましょう。

決定論的で明確な言語の例は次の言語です。 非決定的で明確な言語の例は次の言語です。 { W { B } * | w = w R }

{anbn{ab}|n0}
{w{ab}|w=wR}

ウィキペディアから、本質的に曖昧なコンテキストフリー言語の例は、コンテキストフリー言語の以下の結合であり、これもコンテキストフリーでなければなりません:

L={anbmcmdn{abcd}|nm0}{anbncmdm{abcd}|nm0}

質問のために:

  1. 決定論的で本質的に曖昧なコンテキストフリー言語が存在するかどうかはわかっていますか?もしそうなら、(簡単な)例はありますか?
  2. 非決定的で本質的に曖昧なコンテキストフリー言語が存在するかどうかはわかっていますか?もしそうなら、(簡単な)例はありますか?

明らかに、本質的に曖昧な文脈自由言語が存在するため(は例です)、が決定論的であるか非決定論的であるかがわかっていれば、これらの質問の1つに対する答えは簡単です。また、決定論的なものがある場合、非決定論的なものも存在することは確かだと思います...しかし、私は以前に驚きました。これがよく知られた有名な結果である場合は、参考文献を歓迎し、事前に謝罪します(この場合、私はそれを完全に知りません)。LL

回答:


30

言語の場合は決定的である、それはターン手段で言語を記述するいくつかのLR(1)文法があり、いくつかの決定論的なプッシュダウンオートマトンによって受理され、すべてのLR(1)文法があいまいであるとして、この手段は、できません本質的に曖昧であること。クヌースは彼の論文でこれを証明し、LR(1)(左から右への言語の翻訳について)を紹介しました。LL

言語は、何らかの非決定的オートマトンで認識できる場合にのみ、コンテキストフリーの文法で記述できます。この特殊なケースとして、本質的に曖昧なコンテキストフリーの文法は、いくつかの非決定的オートマトンによって解析されます。

最後に、決定論的プッシュダウンオートマトンも非決定論的です(これは、非決定論の合理的な定義のために、非決定論的となる可能性のあるほぼすべてのケースに当てはまります)。


すべての決定論的CFLが本質的に曖昧ではないという事実の参照に対して+1。実際、それは他の質問にも答えます:本質的に曖昧な言語があり、決定論的ではないので、非決定論的でなければなりません(非決定論的CFLの私の定義は決定論的CFLを除外するため、標準ではないことに注意してください;それは私のせいです)用語の誤用について)。いずれにしても、あなたは質問(2)の例を示し、質問(1)は不可能であることを示しました。私は待って、誰かがさらに詳しく説明するかどうかを確認しますが、そうでない場合はこれを正しいものとして受け入れます。ありがとう!
Patrick87

0

ウィキペディアとその答えとあなたのコメントを読んで、完全に述べるために再(Q2)、本質的に曖昧なCFLはすべて、std defnの下で非決定的でなければなりません(あなた自身の例を含む!)この参照に出くわしました

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