[英]Proof that a regular expression is not a regular language using pumping lemma
好的,我知道这不是编程问题,而是计算问题,因此很相关。
基本上,我如何使用抽水引理证明该语言不是常规语言?
{w in {0,1} ** | 如果w的长度为奇数,则中间符号为0}
在我了解计算模型的同时,请尽可能简单地回答这个问题,但我对此并不陌生。
提前非常感谢您!
根据泵激引理,如果该语言是规则的,则必须存在一个数字p ,对于所有比该语言中的p长的字符串,我们可以将该字符串分解为x + y + z ,其中x , y和z是字符串和| y | > = 1,| x + y | <= p ,并且x +( y * i )+ z是所有非负整数i的语言。
现在观察到,对于每个非负整数i ,字符串“ 1
” * i +“ 0
” +“ 1
” * i在语言中。 (即,字符串i 1
s,后跟单个0
,然后是i more 1
s)
具体来说,该字符串S是由p 1
s后面跟着0
,然后是p more 1
s组成的语言。 由于该字符串的长度为2 p +1,因此该字符串足够长,可以像抽运引理中一样分成三个字符串x , y和z 。 由于 x + y | <= p ,必须x和y均为1
,并且S中唯一的0
字符在z中 。 现在考虑字符串S' = x + y + y + y + z 。 由于我们加了2 * | y | 字符, S'还必须具有奇数长度。 但是我们在S中唯一的0
的左侧增加了一定数量的1
字符,而在0
的右侧未添加任何1
字符。 因此S'的中间字符没有0
,因此S'不在语言中。
因此,我们证明了无法根据泵送引理要求来泵送语言。 因此,语言不规则。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.