[英]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.