【问题标题】:How a^n b^n where n>=1 is not regular?a^n b^n where n>=1 如何不规则?
【发布时间】:2015-12-28 06:15:02
【问题描述】:

这是我尝试的简单有限自动机,我做错了什么?

【问题讨论】:

  • 这东西应该如何记录它看到了多少as?如果你给它一个以aaaab开头的字符串,它怎么知道它需要再看3个bs?
  • 你把这和(ab)^n的语言混为一谈了吗?

标签: automata dfa pumping-lemma


【解决方案1】:

这匹配,而不是。又名ababab,不是aaabbb

【讨论】:

    【解决方案2】:

    b 转换导致机器停止的最终状态。只有给定长度为 1 或更长的“ab”序列,您的机器才会停止。

    【讨论】:

    • 我认为只有当输入序列结束/分隔符被识别时机器才会停止。我错了吗?
    【解决方案3】:

    n>=1 的语言 a^n b^n 是不规则的,可以使用抽水引理证明。假设有一个可以接受该语言的有限状态自动机。这个有限自动机具有有限数量的状态 k,并且语言中有字符串 x 使得 n > k。根据抽水引理,x 可以分解为 x=uvw,并且任何接受 x 的有限自动机也必须接受 uv*w。 v 是非空的,并且可以仅由 a 或 b 组成,因为 n > k。令 v 仅由 a 组成。如果有限自动机接受 x = uvw,它也必须接受 x = uvvw,它的 a 比 b 多,并且不是 a^n b^n 的形式。这是一个矛盾,所以 a^n b^n 不能是正则语言。

    【讨论】:

      【解决方案4】:

      这匹配 (ab)^n,而不是 a^nb^n。

      你要找的是Pumping lemma for regular languages.

      示例:
      令 L = {a^mb^m | m≥1}。
      那么 L 不是正则的。
      证明:令 n 与 Pumping Lemma 相同。
      设 w = a^nb^n。
      让 w = xyz 就像在 Pumping Lemma 中一样。
      因此,xy^2z ∈ L,然而,xy^2z 包含的 a 比 b 多。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-06-28
        • 2018-10-21
        • 2021-12-11
        • 2016-04-27
        • 1970-01-01
        • 1970-01-01
        • 2013-02-16
        • 1970-01-01
        相关资源
        最近更新 更多