考虑以下语言:
L1 = {a n b m c n :m,n> = 1}
L2 = {a n b n c 2n :n> = 1}
以下哪一项是TRUE?
(A) L1和L2都是上下文无关的。
(B) L1没有上下文,而L2不是上下文。
(C) L2是无上下文的,而L1不是无上下文的。
(D) L1和L2都不是上下文无关的。答案: (B)
解释:
• L1 = {a n b m c n | m,n≥1}是上下文无关的语言,因为它是由以下CFG派生的:
S-> aSc | aBc;
B−> bB | b
• L2 = {a n b n c 2n | n≥1}不是上下文无关的语言,可以使用抽运引理证明这一点。直观地讲,下推式自动机无法记住即将出现的第三组字符,即iec。该语言与{a n b n c n | n≥1}非常相似,后者被称为非CFL。
因此,正确的答案是(B)L1没有上下文,而L2不是上下文。
L2不是上下文无关的。不。 b的匹配将与否匹配。 a的离开c的匹配不会与任何人匹配。因此L2不能是上下文无关的。
此解决方案由vineet purswani提供。
这个问题的测验