证明{xy ∣ | x | = | y |,x≠y}是上下文无关的


43

我记得遇到过以下有关语言的问题,该语言原本是上下文无关的,但我找不到事实的证明。我是否可能忘记了这个问题?

无论如何,这是一个问题:

证明语言是上下文无关的。L={xy|x|=|y|,xy}


5
哦,这是一个好人!<3
拉斐尔

Answers:


35

声明:是上下文无关的。L

证明思想:上半部分和下半部分至少要有一个区别;我们给出一种语法,以确保生成一个语法,而其余语法则保持任意性。

证明:为简单起见,假定二进制字母。证明很容易扩展到其他尺寸。考虑语法:Σ={a,b}G

SABBAAaaAaaAbbAabAbBbaBaaBbbBabBb

很明显,它会产生

L(G)={w1kxw2v1k+lyv2l|w1|=|w2|=k,|v1|=|v2|=l,xy}Σ;

可疑者可能对和执行嵌套归纳,并区分成对。现在,和通勤(直觉上,和可以交换符号,因为它们都包含独立于单词其余部分选择的符号)。因此,和(在各自的一半中)具有相同的位置,这意味着因为对其语言没有其他限制。kl(x,y)w2v1w2v1xyL(G)=LG


感兴趣的读者可能会遇到两个后续问题:

练习1:为拿出PDA !L

练习2:呢?{xyz|x|=|y|=|z|,xyyzxz}


如果使用此语法,则可以生成如下字符串:之后,我们得到一个S作为阿巴!这不等于原始语言L,这有误吗?SAB Aa BbBa,thenBb
George.Zhao

@ George.Zhao我不关注。Cleary,,,吗?abbaLx=aby=ba
拉斐尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.