Computer science 为什么{a^nb^n | n>;=0}是不规则的?

Computer science 为什么{a^nb^n | n>;=0}是不规则的?,computer-science,fsm,regular-language,Computer Science,Fsm,Regular Language,在CS课程中,我举了一个不规则语言的例子: {a^nb^n | n >= 0} 我可以理解,它是不规则的,因为没有有限状态自动机/机器可以被编写来验证和接受这个输入,因为它缺少内存组件。(如果我错了,请纠正我) 也列出了这个例子,但没有提供(数学)证明为什么它不是规则的 有谁能给我一些启发并提供证据,或者给我一个好的资源吗?你要找的是 下面是一个与您的确切问题相关的示例: 示例: 设L={ambm | m≥ 1} . 那我就不正常了。 证明:设n为泵引理。 设w=anbn. 设w=xyz

在CS课程中,我举了一个不规则语言的例子:

{a^nb^n | n >= 0}
我可以理解,它是不规则的,因为没有有限状态自动机/机器可以被编写来验证和接受这个输入,因为它缺少内存组件。(如果我错了,请纠正我)

也列出了这个例子,但没有提供(数学)证明为什么它不是规则的


有谁能给我一些启发并提供证据,或者给我一个好的资源吗?

你要找的是

下面是一个与您的确切问题相关的示例:

示例:
设L={ambm | m≥ 1} .
那我就不正常了。
证明:设n为泵引理。
设w=anbn.
设w=xyz如泵引理中所示。
因此,xy2z∈ 五十、 但是,xy2z包含的a多于b


因为你不能写一个有限状态机来“计数”相同的“a”和“b”符号序列。简言之,金融稳定机制无法“计数”。试着想象这样一个FSM:你会给符号“a”赋予多少个州?到“b”有多少?如果您的输入序列有更多内容,该怎么办


请注意,如果您有n有限状态自动机,它就没有数据结构(堆栈)-内存,就像下推自动机一样。是的,它可以给你一些“a”加上一些“b”,但不能给出“a”加上“b”的确切数量。

原因是,只有当输入字符串中“a”和“b”的数量相等时,你才能达到最终状态。要做到这一点,你必须同时计算‘a’和‘b’的数量,但因为‘n’的值可以达到无穷大,所以用有限自动机计算不到无穷大

这就是为什么{a^nb^n | n>=0}不是正则的。

假设L={anbn | n≥ 0}是规则的。然后我们可以使用泵引理

n为泵引理数。考虑<强> w=ANBN∈L。泵引理表明,可以将w划分为xyz,从而xy≤ ny≥ 1∀ 我∈ℕ0:xyiz∈L


使用前两条规则,我们可以很容易地看到,无论我们如何将w划分为xyzy始终只包含as,并且至少包含一个这样的字母。根据规则3,我们得出结论,是kbn∈L其中k=|y |≥ 1。但是n-k≠ n违反了L的定义,因此一个kbn∉L。这是一个矛盾谢谢,这正是我想要的。最后一个要求需要更好的解释。x2yz单词要么包含一种类型的更多字母(如果y的a比b多,反之亦然),要么复制它会破坏字母顺序,其中b应该排在a之后。证据不完整。你还没有定义x,y,z。x只有一个限制,即| xy |证明遗漏了某些部分,因此它是不正确的。加上链接断了。