繁体   English   中英

使用抽引引理证明正则表达式不是正则语言

[英]Proof that a regular expression is not a regular language using pumping lemma

好的,我知道这不是编程问题,而是计算问题,因此很相关。

基本上,我如何使用抽水引理证明该语言不是常规语言?

{w in {0,1} ** | 如果w的长度为奇数,则中间符号为0}

在我了解计算模型的同时,请尽可能简单地回答这个问题,但我对此并不陌生。

提前非常感谢您!

根据泵激引理,如果该语言是规则的,则必须存在一个数字p ,对于所有比该语言中的p长的字符串,我们可以将该字符串分解为x + y + z ,其中xyz是字符串和| 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,因此该字符串足够长,可以像抽运引理中一样分成三个字符串xyz 由于 x + y | <= p ,必须xy均为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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM