我正在学习问题中的引理之间的区别。我能找到的每个参考都使用了这个例子:
{(a^i)(b^j)(c^k)(d^l) : i = 0 or j = k = l}
显示两者之间的差异。我可以找到一个使用常规引理来“反驳”它的例子。
选择w = uvxyz,s.t。 | VY | > 0,| vxy | < = p。 假设w包含相同数量的b,c,d's。
我选择了:
u,v,x = ε
y = (the string of a's)
z = (the rest of the string w)
抽取y只会增加a的数量,如果| b | = | c | = | d |起初,它现在还会。
(类似的论据,如果w没有a。那么只需抽出你想要的任何东西。)
我的问题是,奥格登的引理如何改变这种策略? “标记”有什么作用?
谢谢!
答案 0 :(得分:14)
这里一个重要的绊脚石问题是“能够抽水”并不意味着没有上下文,而是“无法抽水”表明它不是无环境的。 同样,being grey does not imply you're an elephant, but being an elephant does imply you're grey...
Grammar context free => Pumping Lemma is definitely satisfied
Grammar not context free => Pumping Lemma *may* be satisfied
Pumping Lemma satisfied => Grammar *may* be context free
Pumping Lemma not satisfied => Grammar definitely not context free
# (we can write exactly the same for Ogden's Lemma)
# Here "=>" should be read as implies
也就是说,为了证明语言不上下文无关,我们必须显示失败(!)以满足其中一个这样的引理。 (即使它满足两者,我们还没有证明它是无上下文的。)
下面是L = { a^i b^j c^k d^l where i = 0 or j = k = l}
不是上下文的草图证明(虽然它满足抽水引理,它不符合奥格登的引理):
如果某个语言
L
是无上下文的,则存在一些整数p ≥ 1
,以便s
中L
的所有字符串|s| ≥ p
都带有p
(其中{ {1}}是一个抽水长度)可以写成s = uvxyz
使用子字符串u, v, x, y and z
,以便: 1.|vxy| ≤ p
,
2.|vy| ≥ 1
和
3.对于每个自然数u v^n x y^n z
,L
位于n
。
对于s
中的任何L
(|s|>=p)
:
s
包含a
s,请选择v=a, x=epsilon, y=epsilon
(并且我们没有矛盾对于无上下文的语言) s
不包含a
s w=b^j c^k d^l
且其中一个j
,则k
或l
不为零,因为{ {1}})然后选择|s|>=1
(如果v=b
,j>0
elif v=c
,则k>0
),v=c
,{{1} } (我们对无语境的语言没有矛盾)。 (很遗憾:使用Pumping Lemma,我们无法证明x=epsilon
的任何内容!
注意:上面的内容基本上就是你在问题中提出的论点。)
如果某个语言
y=epsilon
没有上下文,则存在一些数字L
(其中L
可能是或可能不是抽样长度),以便对任何字符串{{1p > 0
中至少p
的长度{}w
p
中L
或p
的每一种方式都可写为w
字符串w
和w = uxyzv
使得:
1.u, x, y, z,
至少有一个标记位置,
2.v
最多有xz
个标记位置,以及
3.xyz
位于p
,每u x^n y z^n v
。
注意:这个标记是Ogden引理的关键部分,它说:“不仅每个元素都可以被”抽“,而且可以使用任何L
标记位置进行抽取。/ EM>
让n ≥ 0
标记p
s的位置(其中w = a b^p c^p d^p
,b
满足Ogden引理的要求),并p
1}}是满足Ogden引理(w
)条件的分解。
u,x,y,z,v
或z=uxyzv
包含多个符号,则x
不在z
中,因为错误的顺序会有符号(请考虑u x^2 y z^2 w
)。L
或(bc)^2 = bcbc
必须包含x
(按引理条件1。)这使我们有五个案例要检查(z
):
b
i,j>0
x=epsilon, z=b^i
x=a, z=b^i
x=b^i, z=c^j
在每种情况下(通过比较x=b^i, z=d^j
,x=b^i, z=epsilon
和b
的数量),我们可以看到c
不在d
中(我们对语言的矛盾(!)是无上下文的,也就是说,我们已经证明u x^2 v y^2 z
不是上下文)
总结一下,L
不是没有上下文的,但是无法使用抽取引理(但可以由Ogden的引理)证明,因此{ {3}}那个:
Ogden的引理是针对无语境语言的第二个更强大的抽象引理。
答案 1 :(得分:0)
我不太确定如何在这里使用奥格登的引理,但你的“证明”是错误的。当使用泵浦引理来证明语言不是上下文时,你不能选择拆分为uvxyz。分裂是“为你”选择的,你必须证明任何uvxyz都没有满足引理。