📜  门| GATE CS 2013 |第32章

📅  最后修改于: 2021-06-30 00:56:33             🧑  作者: Mango

考虑以下语言。

gatecs2013.12

下列哪一项是FALSE?
(A) L2是上下文无关的。
(B) L1交集L2是无上下文的。
(C) L2的补码是递归的。
(D) L1的补语与上下文无关,但不规则。答案: (D)
说明: (D)为假。

L1是规则的,因此它的补码也将是规则的。

L1是形式为0 ^ * 1 ^ * 0 ^ *的常规语言。另一方面,L2是CFL,因为它可以从以下CFG派生
L2 = {0 ^ p 1 ^ q 0 ^ r | p,q,r> 0并且p notEqualTo r}
S-> AC | CA
C-> 0C0 | B
A-> 0A | 0
B-> 1B |ε
如果很难为L2设计CFG,则可以通过将其简化为一个更简单的问题来直观地看到这一点。 L2与已知的CFL非常相似。 m notEqualTo n}

(A) L2是上下文无关的,这是正确的[CORRECT]
(B) L1交集L2是上下文无关的,这也是正确的,因为L1是常规语言,而L2是CFL。 RL union CFL始终是CFL。因此[正确]
(C) L2的补语是递归的,这是事实,因为CFL的补语肯定是CSL(上下文相关语言),而CSL则是递归语言的子集。因此[正确]
(D) L1的补语是上下文无关的,但不是常规的,由于常规语言的封闭法则,这是错误的。 RL的补充永远是RL。因此[不正确]

此解决方案由Vineet Purswani提供
这个问题的测验