【问题标题】:What exactly is a pumping lemma and how do you do one?究竟什么是抽引引理,你是怎么做的?
【发布时间】:2016-01-20 22:00:47
【问题描述】:

所以我有一个引理问题A{www|w ∈ {a,b}*} 我有正确的答案,但我不完全确定它是如何工作的。我会给出答案,让人们知道我要做什么

假设 A 是 REG 设 p 为泵送长度 x ∈ A, x=a^p b, a^p b, a^p b.... |s|=3p+3 其中每个 a^p b 是一个 w

让 s = xyz 分裂使得 1)sum of i>=0s'=xy'z ∈ A 2)|x|>0, 3)|xy| <=p

由 (3) y 仅包含 a,由 (2) y 至少包含 1 个 a。 让s'=xyyz,然后s=a^+ ba^p ba^p b

1)s' ∈ A 因为它包含矛盾 t>p IE。 A 不是 REG 的元素

【问题讨论】:

  • 我投票结束这个问题作为题外话,因为有一个数学交换,应该迁移到那里。
  • @Rob 这是一个计算理论问题,属于这里
  • @Rob 我不认为你可以强有力地论证这个问题应该被转移。数学有 537 个问题标记为 regular-language vs. 417 在 SO,有 17 个问题标记为 pumping-lemma vs. 81 在 SO。 Computer Science 有相似的数字(这将是另一种选择),但我不认为其中一个明显优于另一个。
  • @beaker 考虑到数学交换没有计算理论标签,我觉得它好像属于这里。感谢您显示数字
  • 您可能想在cs.stackexchange.com 上阅读this question 的答案。 {math,cs}.stackexchange.com 的优势之一是您可以在这些网站上使用 mathjax,从而使此类问答更具可读性。

标签: math computation-theory


【解决方案1】:

我认为你会在 cs.stackexchange 上得到更好的答案,但这里是基本概述:

抽引引理(对于常规语言;对于上下文无关语言有一个更复杂的引理)是关于常规语言的一个结果,它说“如果 L 是常规语言,那么有一个整数 p 使得 L 中的每个单词在至少只要 p 可以分为 x、y 和 z 三部分,使得 xz ∈ L,xyz ∈ L,xyyz ∈ L,xyyyz ∈ L,等等。” (还有一些细节,比如 y 的长度至少为 1,xy 的长度

这个结果通常被用作证明一种语言不规则的一种方式——这些证明的工作原理是这样的:

  1. 如果 L 是正则的,则它的泵送长度为 p,如泵送引理中所示。

  2. 构造一个比语言中的 p 个字母更长的字符串。通常这个字符串最终会比 p 个字母长得多,但会在开头有一些长度为 p 个字母的部分,以使下一步更容易。

  3. 表明当你“pump”这个字符串时(也就是说,当你多次重复部分“y”时)你得到的东西不是语言 L.

    李>
  4. 因此,抽水引理对 L 不成立,因此 L 不是正则的。

请注意,您不能反向使用它来证明一种语言是正则的!您只能用它来证明一种语言不是正则的,并且偶尔可以用来证明一种正则语言包含某些类型的字符串。

示例证明遵循该格式。这是另一个证明,取自最近的一个 stackoverflow 问题:

L = {w ∈ {0,1}* | w has an odd length and the middle character is 0}

现在,证明 L 不是正则:

如果 L 是规则的,它的泵送长度为 p。

考虑字符串 s = '1'*p + '0' + '1'*p - 该字符串在 L 中并且比 p 个字符长。因此,通过泵浦引理s可以分为三部分x,y,z使得|xy|0,并且像xyyyz这样的字符串在L中。

但是由于 s 的构造方式,我们知道部分 y 只包含 '1' 字符,字符串 xyyyz 是否只有一个 '0' 字符,并且在 ' 的左侧有更多的 '1' 字符0' 比右边,所以 xyyyz 不在 L 中。

因此,L 不是正则的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    相关资源
    最近更新 更多