通过使用Pumping Lemma

时间:2016-02-27 23:13:15

标签: regex regular-language pumping-lemma

如果我将字符串w设为a^mb^m,则我们知道y仅由a组成,因为规则为|xy| <= m

如果我设置i=0,那么ww^R左侧的a将少于右侧的w = a^2m。因此,它证明这种语言不规律。

然而,我的教科书(形式语言和自动机的介绍第111页由林茨撰写)说如果我选择y = aa并让x,那么我会失败的。

但是如何呢?

在我看来,无论yza^2m是什么,第一个a将会更少i个或更多,具体取决于a^2m比第二个reserve更多。

1 个答案:

答案 0 :(得分:0)

你之所以在 m 上有一个偶数标量。由于 L 中的字符串只是一个字符串反向附加到自身,因此偶数个 a 将始终位于 L 中。

对于任何 m&gt; = 1 ,你有 aa [aa ...] 。因此,当您的对手选择 y = aa 时,他们会强制您将 L 中的字符串注入 w(i)。无论多少次,如果有的话,它最终会被抽出:(aa)^ k:k = pump ,这是 L 中的一个字符串

我认为仅使用 a 是一个糟糕的选择。拥有两个字母符号通常会让您更​​容易获胜。正如本书继续说的那样,你不能认为应该很容易击败你的对手;任何尝试都会自动失效。

相关问题