我对泵浦引理的理论有点困惑。据我所知,用于判断语言是否正常。 有一个变量让我这样就是状态?
x = vxu
Where vx >= m
And u not ε (>=1)
and a variable i such that v(x^i)u
所以我无法理解这是如何运作的。我的意思是哪个有用?通过将一个字符串分成3个部分并重复x? 如何显示它是否是常规的? 常规语言的抽取引理和无上下文语言之间有什么区别吗?
答案 0 :(得分:4)
泵浦引理是这样的:
对于常规语言 L ,存在 p> 0 使得所有w∈L 其中 | w | ≥p,存在一些分裂 w = vxu ,其中包含以下内容:
- 的 | VX | ≤p
- 的 | X | > 0 强>
- vx i u∈L所有i≥0
我再说一遍的原因是因为你的一些不平等是错误的。
泵浦引理的唯一用途是确定某种语言是否具体不常规。即如果一种语言不遵循抽水引理,则不能定期。 但是仅仅因为语言泵浦,并不意味着它是常规的(这个引理用于Contrapositive证明)。
正如我上面所说的那样,并不存在一些不规则的可泵送语言( EDIT 维基百科有一个满足抽水引理的语言示例,但不是常规的{ {3}})但是,我想也许你想问的问题是:为什么所有常规语言都可以被抽出来?
考虑常规语言的特征,正如一些离散有限自动机识别的那样, M ,有一些有限数量的状态 n 。
然后,考虑 M 语言中的一些字符串,我们将其称为 w ,其中 | w | ≥n成立。
在检查 w 时, M 必须通过 | w | + 1 状态(包括其开始和结束状态)。因此,通过鸽子原则, M 必须多次通过某些状态(因为 | w | + 1&gt; n )。< / p>
让 w = a 1 a 2 ... a n
想象一下,这些是 M 的状态转换,从 q s 开始,到 q f < sub> ,处理 w :
a1 a2 a3 ... an qs → q1 → q2 → ... → qn = qf
现在让我们看看这些状态转换的部分,其中 M 重复一个状态,我们称之为 R :
a1 a2 a3 ar ar+1 ar+2 ar+k ar+k+1 ar+k+2 an qs → q1 → q2 → ... → qr = R → qr+1 → ... → qr+k = R → qr+k+1 → ... → qn = qf
让我们用这里的简写来说明这一点:
a1 a2 a3 ar qs → q1 → q2 → ... → qr
与此相同:
v qs →* qr
其中 v = a 1 a 2 ... a r
现在让我们按照以下方式将 w 分成三部分, w = vxu :
v = a1a2...ar x = ar+1ar+2...ar+k u = ar+k+1ar+k+2...an
现在我们看到 v :
v qs →* R
x :
x R →* R
对于你:
u R →* qf
(我所做的就是将上面较长的状态转换图分成三个独立的转换图)
您在此处看到 M 也会接受 vu , vxxu , vxxxu ,...,< strong> vx i u i≥0,因为在 R 状态处理字符串 x ,将 M 保持在 R 状态。
基本上,泵浦引理的目的是找到在处理时不会改变 M 状态的字符串。
现在你可能想知道。如果没有 M 识别的字符串 | w |,该怎么办? ≥n是否成立?
那么,在这种情况下,你可以推断出语言是规则的,只是因为它是有限的(Σ*的所有有限子集都是规则的),而且,泵浦引理是空的 true,您只需选择一个泵送长度 p> n ,您可以确定 M 识别的所有字符串也满足 | w | ≥p可以抽水(因为你知道不存在)。
是的,这是:
对于无背景语言 L ,存在 p&gt; 0 使得所有w∈L 其中 | w | ≥p,存在一些分裂 w = uxyzv ,其中包含以下内容:
- 的 | XYZ | ≤p
- 的 | XZ | &GT; 0 强>
- ux i yz i v∈L所有i≥0
它的证据有点复杂,这个答案已经很长了,所以这里是草图:
基本上,这个引理利用的是另一个鸽派原则风格论证,但这一次,重点关注无语境语法中的变量数量,以及最大生成的长度。
使用这些信息,可以看出,对于给定的语法,有一些字符串足够大,它们需要在其自身内复制解析树的一部分。解析树的这一部分是 xyz ,正在发生的是 y 被另一个 xyz 替换。
如果语言是有限的,这个引理也可以是真实的,并且也可以用在Contrapositive中,就像常规语言的抽象引理一样。
如果您需要更多信息,我建议 Michael Sipser 计算理论简介。它对两个泵浦引理都有一些很好的部分,我觉得它很好地解释了它们。