我看到关于自动机理论的一个注释:
考虑以下语言:
L = {xy:x,y in {a,b} *}
并考虑以下约束:
1)x = y
2)x!= y
3)x =(y)反转
4)x的数量不等于y的数量
我读了约束2,3,4的语言是无上下文的。我们非常感谢1到3的任何提示或教程。
答案 0 :(得分:0)
正如您所说,L1: {xy | x,y ∈ {a,b}* ∧ x=y}
不是一种无上下文的语言。
但是,非常相似的L3: {xy | x,y ∈ {a,b}* ∧ x=y-1}
是无上下文的,如下所示:
S → Ø
S → a S a
S → b S b
从技术上讲,你问题中的另外两种语言是微不足道的:
L2: {xy | x,y ∈ {a,b}* ∧ x≠y}
L4: {xy | x,y ∈ {a,b}* ∧ |x|≠|y|}
因为唯一不满足约束的字符串是空字符串。任何非空字符串S
都可以简单地分解为两个不相等的字符串Ø
和S
;很明显,这两个字符串的串联是S
,除非S
为空,否则这两个字符串是不相等的,并且具有不同的长度。由所有非空字符串组成的语言不仅是无上下文的,而且还是常规的:(a|b)+
。
由于这很容易,我怀疑这不是你实际要求的,但我猜不出你的意思。我建议你把问题编辑得更精确。