令P为非确定性下推自动机(NPDA),其堆栈字母中的状态正好为q,符号为Z。状态q既是PDA的开始状态,也是接受状态。在PDA开始工作之前,用一个Z初始化堆栈。令PDA的输入字母为Σ。令L(P)为PDA通过读取字符串并达到其接受状态所接受的语言。通过读取一个字符串并清空其堆栈,使N(P)为PDA所接受的语言。
下列哪项为真?
(A) L(P)一定是Σ*,但N(P)不一定是Σ*
(B) N(P)一定是Σ*,而L(P)不一定是Σ*
(C) L(P)和N(P)都必须为Σ*
(D) L(P)和N(P)都不是Σ*答案: (D)
说明:下推式自动机(PDA)通过读取字符串并到达而接受的语言L(P)
它的接受状态和PDA通过阅读所接受的语言N(P)
字符串并清空堆栈,但可能是字符串具有
PDA过渡上的无效配置,即PDA没有
特定字母或字符串的过渡。因此,它不接受
Σ*上的所有字符串。
For example- Transitions for the PDA are as follows:
1. (q, a, Z) -> (q, aZ)
2. (q, b, Z) -> (q, bZ)
3. (q, a, a) -> (q, aa)
4. (q, a, b) -> (q, ab)
5. (q, b, a) -> (q, ba)
6. (q, null, Z) -> (q, Z)
7. (q, null ,a) -> (q, null)
8. (q, null, b) -> (q, null)
其中q是初始状态和接受状态,Z是初始堆栈符号
和a和b是输入字母。这里{null,a,b,ab,aab………..}是
在两种情况下都可以接受,但在“ bb”的情况下,PDA陷入死机
配置,因为不存在这种过渡。因此,L(P)和N(P)都不
一定是Σ*。
该解释由Yashika Arora提供。
这个问题的测验