📜  门| GATE CS 2019 |第 40 题

📅  最后修改于: 2021-09-25 05:06:57             🧑  作者: Mango

以下哪种语言超过 ∑ = {a, b} 不是上下文无关的?
(A) {a n b i ⏐ i ∈ {n, 3n, 5n}, n≥ 0}
(B) {wa n w R b n ⏐ w ∈ {a, b}*, n≥ 0}
(C) {ww R ⏐ w ∈ {a, b}*}
(D) {wa n b n w R ⏐ w ∈ {a, b}*, n≥ 0}答案:(乙)
解释: (A):它是 CFL,因为我们有三个 CFL 的并集,而 CFL 是在 union 属性下关闭的。

{anbi ⏐ i ∈ {n, 3n, 5n}, n≥ 0} 
= anbn ∪ anb3n ∪ anb5n 

我们可以仅使用一个堆栈来识别这些语言的字符串。

(B):它不是CFL,因为你可以只用一个堆栈来识别给定语言的字符串,你至少需要2个堆栈。仅使用一个堆栈是不可能实现替代字符串匹配的。它是上下文敏感的语言,但不是内容自由的。

(C):这是众所周知的节能灯。它是仅使用一个堆栈即可识别的仅两个字母表的回文语言。

(D):这也是 CFL,因为我们可以先推 w,然后 a’s, b’s pop 与 a’s 和 wR pop 与 w。所以PDA可以接受这种语言。

选项(B)是正确的。
这个问题的测验