形式语言自动机——上下文无关文法与下推自动机(五)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

a
3| = | a 1= 21 1
= 1
a a 〔31 = 1 aa 1= 2
2 1
= 2
讯6上下文无关语言的性质
1. 2型语言的泵浦引理:
设L 是上下文无关语言,存在常数
P ,如果3e L ,
> P ,则3可以写为 3 = 3
1 3
2
3 0 3 3 3 4
, 使3 2 3 3工
£ , l3 2 3 0 3 3 |< p ,对于
i > 0 有 3 1 3 2
含L = { £ }的情况) 物理意义:
符串都包含一个短的字串,随便将这个子串在原处重复插入多少 次,所得的新字串还是在原正规集中。

2 型语言的泵浦引理是说,有两个靠得很近的子串,它们可 以重复任意多次(但二者重复的次数相同),所得的新串依然属 于该2型语言。

证明:
设G 是Chomsky 文法(形如A -BC,La ),产生语言L — { £ } 若L 且3有一定的长度,则边缘为3的推导树有一定长 度的路径。

3 0 3 3 3
4 e L
o (不 线性语言的泵浦引理是说, 在正规集合中, 每个足够长的字
对于Chomsky 范式,设路径长度为 n ,则有边缘长度
< 2n —1
,如下图所示
路径=1 =2
若L ,且
这时,该路径上的结点数为n+2(包括最高层顶点及最底层叶子)。

V
G 中只有n 个非终结符
• ••在这条路径上必然有某两个结点相同
设为v i = V 2=A, v 1靠近树根,V 倒叶子的最长路径为 n+1。

在该路径上:
V 1靠近根,其子树为T i ,
J 边为乙
I V 2
远离根,其子树为T 2
, 、 边为
O 0
\
路径=4
co
J — 1
< 2 = 8
(第i 层最多有2个 第i 层非终结符个数 相等。


设文法G 有n 个非终结符,取
P = 2n
则必有
> 2 n ,即存在一条长度 n 的路径,至少为n+1。

o
非终结符。

第i+1层
若全为终结符,则与 a
\
\
b
形如
■ C
B
A B
A
B C
B
路径P
:工b
/ b
/
o b
i
/
/
女口图:Z l =3 2 3 03 3
而V 1 => 3 2V 2 3 3 ,
V 2 => 3 0
/ vi
= V 2= A

V 1 => 3 2V 2 3 3
=> GJ 23 2V 2 GJ 33 3
i
i
=> 3 2 3 2V 2 3 3
3 3
i
i
=> 3 2 V 2 3 3
*
i i
二 S => 3 1 3 2 3 03 3 3 4 => 3 1 3 2 3 0 3 3 3 4
V 1的子树
得证#
2型文法泵浦引理的用途:判断一给定语言是否是上下文无关文
法。

思路:用反证法。

例:证明 L = {a n
b n
c n
I n A 1不是2型语言}
证:假设L 是2型语言。

取常数 P , 3= a b C , I3I = 3p > p 彳将 3 写成 3 = 3 1
3 2
3 0
3 3
3 4
3 2 3 3 lA
1 且 I3
2
3 0 3 3 |< p
乙 Iw
2 n
= p
(V v i 到叶子的路径最多为 n+1)
其中
考虑3 23 03 3在3中所处的位置:
①如果3 2含有a,3 3含有C,
则有 l3 2
3 0
3 3
I 最小为 I a b P
c l= p+2> p
• 3=
a p
b P
c P
•••不满足泵浦引理的条件。

I = a p b p c p 可写成 3= a 才-2 a b p c p
3 3重复
i 次,将有
3'
= a i
a p-2
a i
b p
c p
•••与2型语言的假设矛盾。

3 3分别包含a 和b (b 和C )
3 1 3 2 3 0
3 3
3 4
3 3重复i 次,
i P-2 , i , p -1 p .
=a a a b b c L
3 2 3 0
3 3
(•••其中a 、b 个数将大于c 的个数)
•••与2型语言假设矛盾。

综上,L 不是2型语言。

证:假设L 是2型语言。

②如果3
2

3 3都含有a , (b 或
C )
(a 的个数大于
b 和
c 的个数) 当取3
a a a p-2
b b P -1
(卩时
将3 2、 例:证明L = { a
k 2 k > 1}不是2型语言
由泵浦引理,取常数P,当L时,
则应有3 1 3 2 3 0 3 3 3 4
3 23 03 3
=P 2
=
二 p 2
<
(增加了 3 23 3,而
而(p+1) 2
= P 2
+2p+1> P 2
即导致P 2
<
•••L 不是2型文法。

2. 2型语言的封闭性 (1)设有2型语言L 1、L 2
则L 1 U L 2, L 1L 2, L *为2型语言。

证明一一自学
(2) 2型语言对交不封闭
反证:取反例 L 1 = { a n b n c m
m,n A 1}
----- 2 型 -
, m , n n
L 2= { a b c
m,n 》1}
L 1
n L 2
= { a n
b n
c n
n A 1}
不是2型
.2
又•••3
=a k
,特别是当取k = P 时,
即3 ' € L ,与假设 L 是2型文法矛盾 < (P+1)
(3) 2型语言对补运算不封闭 •/ L i n L 2= L I U L 2
若对补封闭,则对交封闭。

已知对交不封闭, •••对补不封闭
(4) 2型语言对置换封闭。

(略)
探3. 2型语言的判定问题一一略
4.二义性问题
导树或存在两个不同的最左(右)推导。

(1)
S T SS 3
对句型SSS,
将S T SS IB 变换为rS T SAI A 可消除二义性。

(3) S — aS S B
a.
二义性定义:对同一句子(句型)存在两个不同的推 b . 上下文无关文法的二义性是不可判定的。

c . 可能导致二义性的某些生成式形式

S S
/\
/S \ S 二棵推导树
s" s
4.7 受限型上下文无关文法
对文法的生成式形式加以某些限制= >受限型文法
、线性文法:
生成式为A fw i C w 2或A fw 1形式的2型文法
其中w 1>w 2€ T , A,C €,且w 1 w 2工£。

由线性文法产生的语言称为线性语言。

正则文法为线性文法。

反之不成立。

例:G=( {S},{a,b},P,S
S f aSa bSb
{a,b} }
例:G=( {S},{a,b},P,S
S f aSb ab
L(G 2)= {a n b n I n A 1}
L(G 1)和L(G2)都是线性语言,但不是正则集。

二、顺序文法:
设G=( N,T,P,S ),若非终结符可被排序为氏A…A, N= {A I,A2,…,A n},当P中有生成式A fp,则P内不含
有l<k的A。

此时称文法G为顺序文法。

由顺序文法产生的语言为顺序语言。

例:(书P181, 例2) ,
作业:ch4 习题23, 24。

相关文档
最新文档