非确定性下推自动机 (PDA) 接受以下哪种语言,但确定性 PDA 不接受?
(A) {a n b n c n ∣ n≥0}
(B) {a l b m c n ∣ l≠m 或 m≠n}
(C) {a n b n ∣ n≥0}
(D) {a m b n ∣ m,n≥0}答案:(乙)
解释:
1. L = {anbncn |n >= 0} 这不是 CFL,因为没有可以导出这种语言的 PDA。
同样可以使用泵引理证明,这也可以直观地看出。 [错误]
2. L = {albmcn |l! = 米或米! = n} 是两个 CFL 的并集 L1 = {albmcn |l! = m} 和 L2 =
{albmcn |m! = n} 都有 DPDA。因此 L 肯定是 CFL,因此它将具有 DFA,
虽然不一定是确定性的。 L = {anbncn} 和 DPDA 被关闭在
互补——因此,如果 L 是一个 DPDA,那么它的互补也应该是一个 DPDA,
这是不正确的。因此,L 被 NPDA 接受。 [正确的]
3. L = {anbn |n ≥ 0} 可以从确定性 PDA 推导出来——如果当前字母表是
如果是 b 则弹出。如果字符串末尾的堆栈为空,则接受,否则拒绝。 [错误]
4. L = {anbm |n, m ≥ 0} 是 a ∗ b ∗ 形式的正则语言,因此它有一个 DPDA。 [错误]
参考 :
https://cs.wmich.edu/elise/courses/cs6800/DCFL.pptx
该解决方案由vineet purswani 提供。
这个问题的测验