证明正则表达式不是使用泵浦引理的常规语言

时间:2015-12-12 01:39:39

标签: regular-language dfa pumping-lemma

好的,我知道这不是一个编程问题,但它是一个计算问题所以它是相关的。

基本上,我如何使用抽水引理证明这种语言不规律?

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

请尽可能简单地回答这个问题,因为虽然我知道计算模型,但我相对较新。

非常感谢你!

1 个答案:

答案 0 :(得分:0)

根据抽取引理,如果该语言是常规的,那么必须存在一个数字 p ,以便对于语言中长于 p 的所有字符串,我们可以分解该字符串分为 x + y + z ,其中 x y z 是字符串,| y | > = 1,| x + y | < = p x +( y * i )+ z 是所有非负整数的语言 i

现在观察每个非负整数 i ,字符串" 1" * +" 0" +" 1" * 是该语言。 (也就是说, i 1的字符串后跟一个0,然后 i 更多1 s)

具体来说,字符串 S p 1组成,后跟0,然后是 p 更多1是该语言。由于此字符串的长度为2 p + 1,因此该字符串足够长,可以分为三个字符串 x y 和< em> z 与泵浦引理一样。由于| x + y | &lt; = p ,必须是 x y 都是1 s,且唯一的0 S 中的字符位于 z 中。现在考虑字符串 S&#39; = x + y + y + y + z 。由于我们添加了2 * | y |它的字符, S&#39; 也必须有一个奇数长度。但我们在 S 的唯一1左侧添加了一些0个字符,并且没有向右添加任何1个字符0的。{所以 S&#39; 没有0作为其中间字符,因此 S&#39; 不是该语言

因此,我们已经证明,语言不能像泵浦引理所需的那样被泵送。因此,语言不规律。