【发布时间】:2017-09-29 02:13:27
【问题描述】:
即将举行考试,教授希望包含这些信息。我了解引理是如何工作的,但我无法概念化“泵送”是如何发生在进出和多少次方面的。
【问题讨论】:
标签: regular-language fsm pumping-lemma
即将举行考试,教授希望包含这些信息。我了解引理是如何工作的,但我无法概念化“泵送”是如何发生在进出和多少次方面的。
【问题讨论】:
标签: regular-language fsm pumping-lemma
正则语言的泵引理是形式语言正则性的必要条件,但不是充分条件。如果 L 是正则语言,则存在一个自然数 p,使得任何长度至少为 p 的字符串 s 都可以写成 s = xyz,其中:
从逻辑上讲,条件是:
1. if (L is regular) then
2. there exists a natural number p such that
3. if s is in L and |s| >= p then
4. s = xyz
5. and |y| > 0
6. and |xy| <= p
7. and x(y^n)z is in L
在第 7 行,我们说字符串 s 的“泵送”版本必须在 L 中。请注意,对于 n = 1,我们恢复 s 本身;我们已经根据第 3 行中的假设假设 s 在 L 中。您是“抽入”还是“抽出”,以及抽出多少,取决于您对 n 的选择。
正则语言的抽引引理按以下逻辑运作:
鉴于此逻辑:
例如,考虑这个最小 DFA:
0,1 0 /---\
--->(q0)--->(q1)--->(q2)<--/ 0,1
^ |
\------/
1
字符串 0100 在 L 中。p = 3 和 |0100| = 4,所以泵引理必须成立。我们对 x、y 和 z 的唯一选择是 x=0、y=10 和 z=0。抽水引理声称我们可以去掉 y 或向其添加任意数量的倍数并在 L 中得到另一个字符串。我们看到这是可行的,因为 y 只是从 q1 到 q0 的循环;我们可以跳过它(n = 0)或者我们可以重复它(n > 1)。
【讨论】: