【问题标题】:Is this language regular? {a^i b^j| i=j mod 19}这种语言是正规的吗? {a^i b^j| i=j mod 19}
【发布时间】:2013-03-01 15:15:55
【问题描述】:

我知道{a^i b^j | i = j } 不规则,我可以用抽引理证明;同样,我也可以使用抽引引理来证明这个不规则。但我想我看到了一些类似的问题,说这种语言实际上是常规的。而且因为我对我在抽引引理方面的知识没有信心,所以我问了这个不好的问题。对不起。

这就是我证明它的方式:让 w 成为 a^p b^(19k+p) ,显然这是在语言中。然后,如果我抽 a,使其成为 a^(p+1) b^(19k+p) 。它失败。因此,它不是常规的。

我的证明对吗?

【问题讨论】:

    标签: pumping-lemma


    【解决方案1】:

    看看this answer。简而言之,您没有正确地抽弦。抽水引理指出您的字符串w 可以划分为w = xyz,其中|xy| ≥ py 不为空。然后,您可以将所有 i ≥ 0 的字符串作为 xyiz 泵送。

    这里的关键是,抽水引理指出存在字符串w 满足这些属性的划分,您无法选择划分,并且您只能抽水字符串为 xyiz.

    但是,这种语言是正则的,所以泵引理不能用来证明一种语言是否是正则的,它只能证明一种语言是否是不规则的(它是必要但不是充分条件)。为了证明一种语言是正则的,你可以构造一个 DFA、NFA 或正则表达式来准确描述你的语言。一种这样的正则表达式是:

    (a^19)*(e|ab|aabb|aaabbb|...|a^18b^18)(b^19)*
    

    其中e 是空字符串。


    我怀疑你的语言是自动机或计算入门课程中的一个例子。如果您有兴趣,Myhill-Nerode theorem 并不经常包含在介绍材料中,但在这种情况下提供了一个非常简单的规律性证明:考虑区分扩展 b、bb、bbb、...、b^19 和证明从那相对容易地遵循。

    【讨论】:

      猜你喜欢
      • 2021-04-09
      • 2021-11-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-10
      • 1970-01-01
      • 2019-04-19
      • 1970-01-01
      • 2020-09-14
      相关资源
      最近更新 更多