【问题标题】:Pumping lemma (Regular language)抽引理(常规语言)
【发布时间】:2012-11-04 16:48:12
【问题描述】:

我需要一些帮助来解决抽水引理问题。

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。 |紫外线|

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

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

谢谢

【问题讨论】:

  • 您正在寻求使用抽水引理来证明所描述的语言是正则的?还是说它不规律?无论哪种方式,您都不能选择要重复的子字符串:抽水引理只是说有一些 n 使得在任何长度为 s 的句子中 >= n 将 s 分为 uvw 使得 | uw | n, | v | >= 1,而 u v ^ i w 是所有 i的句子>。 (由于 'c' 在这种语言中总是可重复的,因此您可能很难找到在某些内部 c 上划分句子不起作用的句子。)

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


【解决方案1】:

pumping lemma 的主要思想是告诉你,当你有一个规则语言 L 有无限数量的术语时,语言中的模式会永远重复。

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

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

证明是使用鸽子原理完成的。

这个很有启发性。

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

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

  • 您的u 是图片中的x

  • v 在图片中是y

  • w 是图片中的z

要从q0 到达qn,您可以使用集合中的任何字符串:{ uw , uvw, uvvw, uvvvw, ... }

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

【讨论】:

  • 感谢您提供此图片。但是我选择了一根好的绳子来抽水吗?
猜你喜欢
  • 2013-01-20
  • 2016-06-09
  • 2012-08-03
  • 2014-08-03
  • 2015-12-01
  • 1970-01-01
  • 2013-09-13
  • 2017-12-19
  • 2016-08-03
相关资源
最近更新 更多