0

我最近有一个任务,要求我使用抽引引理来表明一种语言不规则,不幸的是得到了错误的答案。

证明语言是非常规的如下: L = {a i b j c k : i = j or j = k}

我给出的抽水引理的定义如下:

  1. 对手选m
  2. 我想选择 w 来反驳抽水引理。使用 m 选择字符串 w ∈ L 其中 |w| ≥米
  3. 对手选择受约束的 w 分解。
  4. 我尝试选择一个 i 以便抽出的字符串 w i ∉ L。如果找到,则 L 不是正则

事实证明,这个主题对我来说非常难以理解,因此我感觉自己就像一个完整的空想,因此我将不胜感激详细解释我将如何正确应用抽水引理。

4

1 回答 1

0

直观地说,抽水引理表示在常规语言 L 中足够长的单词(长度仅取决于语言 L)必须包含一个可以根据需要多次重复的部分(长度 > 0)。重复该部分(“抽出”原始单词)任意次数会导致一些较长的单词,这些单词也在语言 L 中。

词的最小长度是上述定义第一步中的m;该部分重复的次数是上述定义的第 4 步中的 i。

抽水引理通常用于表明语言 L 不是正则的。这是一个矛盾的证明:假设 L 是正则的,因此正则语言的抽水引理对 L 是正确的。然后选择一个在 L 中足够长的单词 w* 并证明无论它如何分解* 一些抽水这个词不在语言中。这与抽水引理相矛盾——我们知道这是真的。因此,我们关于语言是规则的假设是错误的,因此语言不是规则的。不能选择标有 * 的部分以使事情变得简单——这就是为什么在步骤 1 和 3 中“对手”选择它们的原因。

单词 w 被重写为 w = xyz,其中 | 是 | > 0 和 |xy| <= 米。x 和 z 的长度都可以为 0。

通常的方法是选择 xy 为由相同字母组成的字符串,这样具有更多相同字母(在泵送之后)会导致不在 L 中的单词。

帖子中语言 L 中的 i 或 k 没有指定限制,因此假设 i = 0 是允许的,一个合适的词可能是 b^mc^m(即 m bs 后跟 m cs)。现在无论对手可能选择什么分解,y 总是由一些 bs 组成。重复这些 bs 会导致一个单词的 bs 多于 cs 而没有 as,因此 i != j 和 j!= k 并且该单词不在该语言中。

于 2016-10-18T04:58:35.230 回答