简体   繁体   English

有人可以使用泵浦引理帮我解决这个问题吗?

[英]Can someone help me with this proof using the pumping lemma?

I just started reading about the pumping lemma and know how to perform a few proofs, mostly by contradiction. 我刚开始阅读关于泵浦引理的知识,并且知道如何进行一些证明,主要是矛盾。 It is only this particular question which I don't seem to find an answer for. 只是这个特殊的问题,我似乎没有找到答案。 I have no idea on how to begin. 我不知道如何开始。 I can assume that there has to be a pumping length P and that for all w element of L that the LENGTH(w) >= P . 我可以假设必须有一个泵浦长度P ,而对于L的所有w元素, LENGTH(w) >= P And of course that we can write w as xyz with the three normal conditions of the pumping lemma. 当然,我们可以用泵浦引理的三个正常条件将w写成xyz

I have to proof that the following language is non regular: 我必须证明以下语言不常规:

L = {x + y = z | x,y,z element of {0,1}* and #(x) + #(y) = #(z) }

Can someone help me on this, I really want to master the process in proofing these kind of questions? 有人可以帮助我,我真的想掌握这些问题的证明过程吗?

Edit: 编辑:
Sorry, forgot to say that the alphabet is {0,1,+,=} and # means the binary value of the string. 对不起,忘了说字母是{0,1,+,=}#是指字符串的二进制值。 Like #(00101) = 5 and #(110) = 6 . #(00101) = 5#(110) = 6

Since you want to master the process, I'll point out a few things before showing a proof. 既然你想掌握这个过程,我会在展示证据之前指出一些事情。

  1. The first thing to notice is that the + and the = may only appear once each. 首先要注意的是+=可能只出现一次。 So when you write your string w as w = abc , the pumped portion, b , cannot contain + or = otherwise you'd reach a trivial contradiction (I'm not using the more standard w = xyz notation to avoid confusion with L 's definition). 所以当你把你的字符串w写为w = abc ,抽取的部分b不能包含+=否则你会达到一个微不足道的矛盾(我没有使用更标准的w = xyz符号来避免与L '混淆的定义)。

  2. Another thing to notice is that normally, you'd pick a specific string w to pump. 要注意的另一件事是,通常情况下,你会选择一个特定的字符串w到泵。 In this case, it could be easier to pick a class of strings that share a certain property. 在这种情况下,它可能是更容易挑一类共享某个属性字符串。 The pumping lemma only requires you to reach a contratiction using one string, but there's no reason you can't reach a contradiction with multiple strings. 泵浦引理只需要你使用一个字符串来达到一个相互作用,但没有理由你不能与多个字符串达成矛盾。

Proof (in a spoiler): 证明(在扰流板中):

So let w be any string in L such that |w| ≥ P 所以让w成为L任何字符串,使得|w| ≥ P |w| ≥ P and x, y, z do not contain leading 0 's. |w| ≥ Px, y, z不包含前导0 By the pumping lemma we can write w as w = abc By pumping lemma, we know b is not empty. 通过泵浦引理,我们可以写ww = abc通过引入引理,我们知道b不是空的。 Since b cannot contain + or = , it is fully contained in either x, y, or z . 由于b不能包含+= ,因此它完全包含在x, y,z Pumping w with any i ≠ 1 results in the binary equation no longer holding since exactly one of x, y, z would be a different number (this is why we needed the no leading 0 's bit). 在任何i≠1的情况下抽运w导致二进制方程不再保持,因为x, y, z中的一个将是不同的数字(这就是为什么我们需要无前导0的位)。

Choose as the string 1(0^n+1) + 1(0^n) = 11(0^n) . 选择字符串1(0^n+1) + 1(0^n) = 11(0^n)

In other words, your string will read "the sum of two to the power n+2 plus two to the power n+1 is equal to 11 followed by n zeroes". 换句话说,你的字符串将显示“2到2的幂和+ 2加上2到幂n + 1等于11然后是n个零”。

Since the string to be pumped will consist entirely of symbols from the first addend, pumping must change the number represented (adding or removing digits to a number will change the number; this is true because our string doesn't contain leading zeroes) and if x + y = z holds, then x' + y = z does not hold if x' != x (over integers, at least). 由于要抽取的字符串将完全由第一个加数中的符号组成,因此抽取必须更改所表示的数字(向数字添加或删除数字将更改数字;这是正确的,因为我们的字符串不包含前导零)并且如果x + y = z成立,那么如果x' != x (至少是整数),则x' + y = z不成立。

Since the pumping lemma requires pumped strings to be in the language, and pumping this string fails, we have that the language is not regular. 由于泵浦引理要求泵送的字符串使用语言,并且泵送该字符串失败,我们认为语言不规则。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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