泵引理
浅浅冒泡一下我这个科研废物。
泵引理:若
A
A
A是一个正则语言,则存在一个数
p
p
p(泵长度)使得,如果
s
s
s是
A
A
A中任一长度不小于
p
p
p的字符串,那么
s
s
s可以被分成
3
3
3段,
s
=
x
y
z
s=xyz
s=xyz,满足下述条件:
- 对每一个
i
≥
0
,
x
y
i
z
∈
A
i\geq0,xy^iz\in A
i≥0,xyiz∈A
-
∣
y
∣
>
0
|y|>0
∣y∣>0
-
∣
x
y
∣
≤
p
|xy|\leq p
∣xy∣≤p
这定理乍一看给我整不会了,然后以下借助例题说一下我的理解。(如有错误可以告诉我呜呜呜)
泵引理就是:在一个正则语言
A
A
A中有任意一个字符串
s
s
s,这个字符串由
3
3
3个子串
x
、
y
、
z
x、y、z
x、y、z构成(即
s
=
x
y
z
s=xyz
s=xyz),且
s
s
s中的一个子串(也就是
y
y
y)在自我重复
i
i
i次后,组成的新字符串
x
y
i
z
xy^iz
xyiz仍在语言
A
A
A中。
注意:泵引理只能证明一个语言不是正则语言,而不能证明一个语言是正则语言。
例1:用泵引理证明语言
B
=
{
0
n
1
n
∣
n
≥
0
}
B=\{0^n1^n|n\geq0\}
B={0n1n∣n≥0}不是正则的。
- 先假设语言正则:假设相反,
B
B
B是正则的。
- 找合适的字符串
s
s
s,一般与语言本身形式长得一样:设
p
p
p是泵引理给出的泵长度。选择字符串
s
=
0
p
1
p
s=0^p1^p
s=0p1p。
- 利用泵引理证明语言非正则,一般考察
x
y
y
z
xyyz
xyyz?:
书上说,满足条件的子串
y
y
y有以下三种情况—— (1)
y
y
y中只有
0
0
0:比如对于
000111
000111
000111,
x
=
00
,
y
=
0
,
z
=
111
x=00, y=0, z=111
x=00,y=0,z=111,那么
x
y
y
z
=
0000111
xyyz=0000111
xyyz=0000111,
0
0
0比
1
1
1多,矛盾。 (2)
y
y
y中只有
1
1
1:比如对于
000111
000111
000111,
x
=
000
,
y
=
11
,
z
=
1
x=000, y=11, z=1
x=000,y=11,z=1,那么
x
y
y
z
=
0001111
xyyz=0001111
xyyz=0001111,
1
1
1比
0
0
0多,矛盾。 (3)
y
y
y中有
0
0
0有
1
1
1:比如对于
000111
000111
000111,
x
=
00
,
y
=
01
,
z
=
11
x=00, y=01, z=11
x=00,y=01,z=11,那么
x
y
y
z
=
00010111
xyyz=00010111
xyyz=00010111,顺序乱了,不是所有
0
0
0都在
1
1
1前面,矛盾。
但是考虑
∣
x
y
∣
≤
p
|xy|\leq p
∣xy∣≤p,又因为
s
s
s前
p
p
p个字符都为
0
0
0,说明
x
y
xy
xy肯定由全
0
0
0组成。 而且
∣
y
∣
>
0
|y|>0
∣y∣>0,所以
y
y
y必然由
0
0
0组成。那就是上面的第(1)种情况。
例2:用泵引理证明语言
C
=
{
w
∣
w
中
0
和
1
的
个
数
相
同
}
C=\{w|w中0和1的个数相同\}
C={w∣w中0和1的个数相同}不是正则的。
- 先假设语言正则:假设相反,
C
C
C是正则的。
- 找合适的字符串
s
s
s,一般与语言本身形式长得一样:设
p
p
p是泵引理给出的泵长度。选择字符串
s
=
0
p
1
p
s=0^p1^p
s=0p1p。
- 利用泵引理证明语言非正则,一般考察
x
y
y
z
xyyz
xyyz?:同上。
例3:用泵引理证明语言
D
=
{
w
w
∣
w
∈
{
0
,
1
}
?
}
D=\{ww|w\in\{0,1\}^*\}
D={ww∣w∈{0,1}?}不是正则的。
- 先假设语言正则:假设相反,
D
D
D是正则的。
- 找合适的字符串
s
s
s,一般与语言本身形式长得一样:设
p
p
p是泵引理给出的泵长度。选择字符串
s
=
0
p
1
0
p
1
s=0^p10^p1
s=0p10p1。
- 利用泵引理证明语言非正则,一般考察
x
y
y
z
xyyz
xyyz?:
同样地,
s
s
s前
p
p
p个字符串都是
0
0
0,所以根据泵引理,
y
y
y必然由
0
0
0组成。 那么考察
001001
001001
001001,选择
x
=
0
,
y
=
0
,
z
=
1001
x=0, y=0, z=1001
x=0,y=0,z=1001,
x
y
y
z
=
0001001
xyyz=0001001
xyyz=0001001,前面一串
0
0
0和后面一串
0
0
0的个数不相等,不满足
s
s
s的形式,矛盾。
参考:《计算理论导引(第3版)》
|