📜  门| GATE CS 2021 |套装2 |第51章

📅  最后修改于: 2021-06-29 06:18:05             🧑  作者: Mango

对于字符串w,我们将w R定义为w的倒数。例如,如果w = 01101,则w R = 10110。

以下哪种语言是上下文无关的?
(A) {wxw R x R ∣ w,x∈{0,1} *}
(B) {ww R xx R ∣ w,x∈{0,1} *}
(C) {wxw R ∣ w,x∈{0,1} *}
(D) {wxx R w R ∣ w,x∈{0,1} *}答案: (B) (C) (D)
说明:选项A:L = {wxw ^ R x ^ R | w,x∈{0,1} *}
这不是CFL,就像我们先按“ w”然后按“ x”一样,然后我们不能将w ^ R与“ w”匹配,因为堆栈顶部包含x。

选项B:L = {ww ^ R xx ^ R | w,x∈{0,1} *}
这是CFL。我们不确定地猜测字符串的中间。因此,我们推“ w”然后与w ^ R匹配,然后再次推x并与x ^ R匹配

选项C:L = {wxx ^ R w ^ R | w,x∈{0,1} *}
这也是CFL。我们不确定地猜测字符串的中间。因此,我们先推“ w”,再推x,然后与x ^ R匹配,再与w ^ R匹配

选项D:L = {wxw ^ R | w,x∈{0,1} *}
这是一种常规语言(因此称为CFL)。用这种语言,每个字符串以相同的符号开头和结尾(因为x可以扩展)。
这个问题的测验