📜  门| GATE-CS-2005 |第57章

📅  最后修改于: 2021-06-29 11:57:36             🧑  作者: Mango

考虑以下语言:

L1 = {wwR |w ∈ {0, 1}*}
L2 = {w#wR | w ∈ {0, 1}*}, where # is a special symbol
L3 = {ww |  w ∈  (0, 1}*)

以下哪一项是TRUE?
(A) L1是确定性CFL
(B) L2是确定性CFL
(C) L3是CFL,但不是确定性CFL
(D) L3是确定性CFL答案: (B)
解释:

L1:{ww ^ R | w属于{0,1} *}
这是CFL,但不是DCFL。它可以从以下语法中得出
S-> aSa | bSb | ε
但是它不能从任何确定性下推自动机中得出,因为无法找出w字的结尾处和其反向字的开始位置。

L2:{w#w ^ R | w属于{0,1} *}
由于与上述相同的原因,这是CFL。这是确定性CFL,因为我们有一个标记来帮助我们找出w字的结尾和反字的开头。因此,将推入所有字母直到我们得到#,然后仅在堆栈顶部与当前字母匹配时弹出的PDA,否则将拒绝-将得出L2。

L3:{ww | w属于{0,1} *}
这甚至不是CFL。可以使用抽引引理证明上述主张–
考虑形式为(0 ^ n 1 ^ n 0 ^ n 1 ^ n)的字符串z。
假设L3是CFL,并且z显然满足L3 –因此z也应该满足泵激引理。
我们将n设为n = p,其中p是L3的抽运长度,因此迫使我们的字符串的长度大于抽运长度。
现在,根据抽运引理,必须存在u,v,w,x,y,使得z = uvwxy,| vwx | <= p,| vx | > 0,并且对于所有i> = 0,u {v ^ i} x {y ^ i} z都属于L3。
不存在u,v,w,x,y的任何此类配置,以使u {v ^ 0} x {y ^ 0} z属于L3。因此z不满足泵激引理。因此,L3不是CFL。

考虑到以上所有结论,只有正确的选择才是(B)L2是确定性CFL。

参考 ;

https://courses.engr.illinois.edu/cs373/sp2013/Lectures/lec17.pdf

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