簡體   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