【发布时间】:2015-12-28 06:15:02
【问题描述】:
【问题讨论】:
-
这东西应该如何记录它看到了多少
as?如果你给它一个以aaaab开头的字符串,它怎么知道它需要再看3个bs? -
你把这和
(ab)^n的语言混为一谈了吗?
标签: automata dfa pumping-lemma
【问题讨论】:
as?如果你给它一个以aaaab开头的字符串,它怎么知道它需要再看3个bs?
(ab)^n的语言混为一谈了吗?
标签: automata dfa pumping-lemma
b 转换导致机器停止的最终状态。只有给定长度为 1 或更长的“ab”序列,您的机器才会停止。
【讨论】:
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 不能是正则语言。
【讨论】:
这匹配 (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 多。
【讨论】: