抽吸引理(常规语言)

时间:2012-11-16 00:13:30

标签: regular-language automata formal-languages pumping-lemma

我需要一些泵浦引理问题的帮助。

L = { {a,b,c}* | #a(L) < #b(L) < #c(L) }

这是我到目前为止所得到的:

y = uvw is the string from the pumping lemma.

我让y = abbc ^ n,n是泵浦引理的长度。 y在L中,因为a:s的数量小于b:s的数量,b:s的数量小于c:s的数量。

我让u = a,v = bb和w = c ^ n。 | UV | &LT; y,如抽水引理中所述。如果我“抽”(bb)^ 2那么我得到

y = abbbbc^n which violates the rule #b(L) < #c(L).

这是对的吗?我是在“正确的道路上”吗?

由于

1 个答案:

答案 0 :(得分:6)

抽取引理的主要思想是告诉你,当你的常规语言L具有无限数量的术语时,语言中的模式会永远重复。

与该语言相关的正则表达式将包含KLEENE-STAR(模式)。

与该正则表达式(和语言)相关联的自动机将包含一个循环。

使用鸽子原则进行证明。

image非常具有启发性。

请注意,在这种情况下,所有术语必须从q0开始并以qn结尾。因此,定义语言的自动机是有限的(最大N个状态),因此存在有限数量的状态,但是单词(即术语)可以具有> N个字母。鸽子原则告诉我们必须有一个达到2次的状态,所以在那个状态下会出现一个循环。

在您的符号中,您可以与图像进行对应:

  • 您的ux来自图片

  • v图片中的y

  • wz来自图片

要从q0qn,您可以使用套装中的任何字符串:{ uw , uvw, uvvw, uvvvw, ... }

在这种特殊情况下,模式Py,集X{xz xyz xyyz xyyyz ...}Slength(x)+length(y)