形式语言与自动机课件——上下文无关语言的性质
合集下载
形式语言与自动机课件-第11章 LBA和上下文有关语言

线性有界自动机上下文有关文法的关系
定理 11.2 设M =( Q,∑,Γ,δ,¢,$ ,s,t,r)是一个LBA,且L(M)=L,则L{ε}是一个CSL。
证明 证明方法与第九章定理9.10十分相似。不过由于LBA可以接受ε, 而CSL不能包含ε(CSG不能产生ε),因此我们构造一个CSG G,只能 有L(G)= L-{ε}。
上下文有关文法的性质及其与递归集的关系
(3) 对于L1+ , 构造新文法 G5 =(V1∪{S5},T1,P5,S5) 其中P5 =P1∪{ S5→S1 , S5→S1 S5}。
显然L(G5)=L1+ ,且G5是CSG。定理证完。
由于CSL不含ε,所以若L1为CSL,则它的闭包L1* 将不是CSL。
(1) δ(q0 ,¢)=(q1 ,¢, R) (2) δ(q1 ,X)=(q2 , X , R)
(3) δ(q2 ,X)=(q2 ,X, R)
(4) δ(q2 ,$)=(q3 ,$, L) δ(q2, X)=(q3 , ,L)
设q0 为初始状态。 打右箭头标记 (X=a,b)。 向右找边界$或已标记的符号 。 找到后左移。
A1
*
[a1 ,s¢a1 ][a2 ,a2 ]…[an ,an $]
,
(n>1)
或者
A1 [a, ¢a$] 。
(n=1)
此时,方括号内的第二分量连在一起就表示ID0 :
s ¢a1 a2 …an $ 。(n≥1)
产生式(3)~(12)负责模拟M的动作,其中(3)~(5)处理左边界附近的情
况,(6)~(9)对应一般情况,(10)~(12)处理右边界附近的情况。产生式
上下文有关文法的性质及其与递归集的关系
形式语言和自动机上下文无关文法与下推自动机课堂PPT

(3)由(q1,)(q1, 1, X) 得 [q1 ,X ,q1] 1;
(4)由(q2,)(q1, , Z0) 得 [q1 ,Z0 ,q2] ;
(5)由(q0,XZ0)(q0, 0, Z0) 得 [q0 ,Z0 ,qj] 0[q0 ,X ,qi] [qi ,Z0 ,qj] , i, j = 0,1,2;
从上下文无关文法构造等价的下推自动机
定理4.5.1(由CFG可导出PDA): 设上下文无关文法G=(N,T,P,S),产生语
言L(G),则存在PDA M,以空栈接受语言Lφ(M), 使Lφ(M)=L(G)。
证明:构造下推自动机M,使M按文法G的最左推导 方式工作。
1
从上下文无关文法构造等价的下推自动机
q0 b, A/ε
b, A/ε ε, A/ε
q1 ε, z0/ε
(3) 对①式δ(q0,a,z0)={( q0, A z0)} , ∵所有可能的状态序列为:q0q0,q1q0,q0q1,q1q1 ∴可构造出产生式:
[q0,z0,q0]→ a [ q0,A, q0 ][ q0,z0, q0 ] [q0,z0,q0]→ a [ q0,A, q1 ][ q1,z0, q0 ] [ q0,z0,q1]→ a [ q0,A, q0 ][ q0,z0, q1 ] [ q0,z0,q1]→ a [ q0,A, q1 ][ q1,z0, q1 ]
then A w.
归纳于 (q, w,A)├*(q, , ) 的步数 n.
基础 n=1,必有 w = ,且 A 为 G 的产生式,所以 A w.
归纳 n>1,设第一步使用产生式 AX1X2…Xm , 可以将w 分为 w = w 1 w 2… w m ,满足 (q, wi , Xi )├*(q, , ),
形式语言与自动机理论--第六章 上下文无关语言2(第十五周)

SAB|a|BB,Aa,Cb|ABa
先用算法6-1,文法被化简成:
Sa,Aa,C b
再用算法6-2,可得到文法:
S a
14
2.1去无用符号
例 6-2-1 设有如下文法
SAB|a|BB,Aa,Cb|ABa
先用算法6-2,文法被化简成:
SAB|a|BB,Aa
再用算法6-1,可得到文法:
S a,Aa
11
2.1去无用符号
定理 6-5 算法6-2是正确的。
证明要点: (1) 施归纳于派生步数n,证明如果Sn αXβ,则
当 X∈V 时 , X 在 算 法 中 被 语 句 (3) 或 者 语 句 (8) 放入NEWV;当X∈T时,它在算法中被语句(4) 或者语句(9)放入NEWT。 (2) 对 循环 次 数 n施 归 纳, 证 明如 果 X被放 入 NEWT 或 者 NEWV 中 , 则 必 定 存 在 α , β∈(NEWV∪NEWT)*,使得Sn αXβ。 (3) 证明L(G′)=L(G) 。
26
2.3 去单一产生式
(3)删除G2中的无用符号。 由于在删除单一产生式后,文法中可能出现新的 无用符号,因此,我们还需要再次删除新出现的无 用符号。 此外,在去ε-产生式后可能会产生新的单一产生式, 也可能会引进新的无用符号。这是值得注意的。
27
2.3 去单一产生式
例:
SA|B Aa BbB|b
G4:S0|0A A0|1|0A|1A| _C
C0用符号、 ε产生式和 单一产生式。
3
2.1 去无用符号
定义6-8:无用符号(useless symbol)
对于任意X∈V ∪ T,如果存在w∈L(G), X出现在w的派生过程中,即存在α, β∈(V∪T)*,使得S*αXβ*w,则称X 是有用的,否则,称X是无用符号。
先用算法6-1,文法被化简成:
Sa,Aa,C b
再用算法6-2,可得到文法:
S a
14
2.1去无用符号
例 6-2-1 设有如下文法
SAB|a|BB,Aa,Cb|ABa
先用算法6-2,文法被化简成:
SAB|a|BB,Aa
再用算法6-1,可得到文法:
S a,Aa
11
2.1去无用符号
定理 6-5 算法6-2是正确的。
证明要点: (1) 施归纳于派生步数n,证明如果Sn αXβ,则
当 X∈V 时 , X 在 算 法 中 被 语 句 (3) 或 者 语 句 (8) 放入NEWV;当X∈T时,它在算法中被语句(4) 或者语句(9)放入NEWT。 (2) 对 循环 次 数 n施 归 纳, 证 明如 果 X被放 入 NEWT 或 者 NEWV 中 , 则 必 定 存 在 α , β∈(NEWV∪NEWT)*,使得Sn αXβ。 (3) 证明L(G′)=L(G) 。
26
2.3 去单一产生式
(3)删除G2中的无用符号。 由于在删除单一产生式后,文法中可能出现新的 无用符号,因此,我们还需要再次删除新出现的无 用符号。 此外,在去ε-产生式后可能会产生新的单一产生式, 也可能会引进新的无用符号。这是值得注意的。
27
2.3 去单一产生式
例:
SA|B Aa BbB|b
G4:S0|0A A0|1|0A|1A| _C
C0用符号、 ε产生式和 单一产生式。
3
2.1 去无用符号
定义6-8:无用符号(useless symbol)
对于任意X∈V ∪ T,如果存在w∈L(G), X出现在w的派生过程中,即存在α, β∈(V∪T)*,使得S*αXβ*w,则称X 是有用的,否则,称X是无用符号。
形式语言与自动机讲义(Part3)

* 证明思路: $ 对派生的步数n施归纳,证明对于任意A∈V,如果 A⇒nα ,则在G中存在对应的从A到α的最左派生: A⇒n左α 。
定理6-3 如果α是CFG G的一个句型, α的派生树与最左派 生和最右派生是一一对应的,但是,这棵派生树可以对 应多个不同的派生。
15
文法的二义性
* 定义6-6 文法的二义性(ambiguity) $ 设有CFG G=(V,T,P,S),如果存在w∈L(G),w至 少有两棵不同的派生树,则称G是二义性的。否则, G为非二义性的。
Gexp1: $ E→E+T|E-T|T $ T→T*F|T/F|F $ F→F↑P|P $ P→(E)|N(L)|id $ N→sin|cos|exp|abs|log|int $ L→L,E|E
8
上下文无关文法的派生
上下文无关文法的派生
* 定义6-1 派生树(derivation tree) :设有CFG G=(V,T,P,S),G的一棵派生树是满足如下条件 的一棵(有序)树: (1)树的每个顶点有一个标记X,且 X∈V∪T∪{ε} (2)树根的标记为S; (3)如果非叶子顶点v标记为A,A的儿子从 左到右依次为v1,v2,…,vn,并且它们 分别标记为X1,X2,…,Xn,则 A→X1X2…Xn∈P; (4)如果X是一个非叶子顶点的标记,则 X∈V; (5)如果顶点v标记为ε ,则v是该树的叶 子,并且v是其父顶点的惟一儿子。
⇒x+x/F ⇒x+x/F↑P ⇒x+x/P↑P ⇒x+x/y↑P ⇒x+x/y↑2
(b)最右推导:
E
⇒E+T
⇒E+T/F ⇒E+T/F↑P ⇒E+T/F↑2 ⇒E+T/P↑2 ⇒E+T/y↑2 ⇒ E+F/y↑2 ⇒ E+P/y↑2 ⇒ E+x/y↑2 ⇒ T+x/y↑2 ⇒ F+x/y↑2 ⇒ P+x/y↑2 ⇒x+x/y↑2
定理6-3 如果α是CFG G的一个句型, α的派生树与最左派 生和最右派生是一一对应的,但是,这棵派生树可以对 应多个不同的派生。
15
文法的二义性
* 定义6-6 文法的二义性(ambiguity) $ 设有CFG G=(V,T,P,S),如果存在w∈L(G),w至 少有两棵不同的派生树,则称G是二义性的。否则, G为非二义性的。
Gexp1: $ E→E+T|E-T|T $ T→T*F|T/F|F $ F→F↑P|P $ P→(E)|N(L)|id $ N→sin|cos|exp|abs|log|int $ L→L,E|E
8
上下文无关文法的派生
上下文无关文法的派生
* 定义6-1 派生树(derivation tree) :设有CFG G=(V,T,P,S),G的一棵派生树是满足如下条件 的一棵(有序)树: (1)树的每个顶点有一个标记X,且 X∈V∪T∪{ε} (2)树根的标记为S; (3)如果非叶子顶点v标记为A,A的儿子从 左到右依次为v1,v2,…,vn,并且它们 分别标记为X1,X2,…,Xn,则 A→X1X2…Xn∈P; (4)如果X是一个非叶子顶点的标记,则 X∈V; (5)如果顶点v标记为ε ,则v是该树的叶 子,并且v是其父顶点的惟一儿子。
⇒x+x/F ⇒x+x/F↑P ⇒x+x/P↑P ⇒x+x/y↑P ⇒x+x/y↑2
(b)最右推导:
E
⇒E+T
⇒E+T/F ⇒E+T/F↑P ⇒E+T/F↑2 ⇒E+T/P↑2 ⇒E+T/y↑2 ⇒ E+F/y↑2 ⇒ E+P/y↑2 ⇒ E+x/y↑2 ⇒ T+x/y↑2 ⇒ F+x/y↑2 ⇒ P+x/y↑2 ⇒x+x/y↑2
形式语言与自动机理论电子教案01PPT课件

• 知识
–掌握正则语言、下文无关语言的文法、识别模 型及其基本性质、图灵机的基本知识。
• 能力
–培养学生的形式化描述和抽象思维能力。 –使学生了解和初步掌握“问题、形式化描述、
自动化(计算机化)”这一最典型的计算机问 题求解思路。
13.11.2020
4
主要内容
• 语言的文法描述。 • RL
– RG、 FA、RE、RL的性质 。
•考虑的对象的不同,所需要的思维方式和能力就不 同,通过这一系统的教育,在不断升华的过程中, 逐渐地培养出了学生的抽象思维能力和对逻辑思维 方法的掌握。
•创新意识的建立和创新能力的培养也在这个教育过 程中循序渐进地进行着。
•内容用于后续课程和今后的研究工作。 •是进行思维训练的最佳知识载体。
•是一个优秀的计算机科学工作者必修的一门课程。
13.11.2020
16
1.4.3 基本概念
• 字母表(alphabet)
– 字母表是一个非空有穷集合,字母表中的元素 称为该字母表的一个字母(letter)。又叫做符号 (symbol)、或者字符(character)。
– 非空性。 – 有穷性。
• 例如:
{a,b,c,d} { a,b,c,…,z}
{0,1}
13.11.2020
17
1.4.3 基本概念
• 字符的两个特性
– 整体性(monolith),也叫不可分性。 – 可辨认性(distinguishable),也叫可区分性。
• 例(续)
{a,a′,b,b′} {aa,ab,bb} {∞,∧,∨,≥,≤}
13.11.2020
18
1.4.3 基本概念
• CFL
– CFG(CNF、GNF)、PDA、CFL的性质。
–掌握正则语言、下文无关语言的文法、识别模 型及其基本性质、图灵机的基本知识。
• 能力
–培养学生的形式化描述和抽象思维能力。 –使学生了解和初步掌握“问题、形式化描述、
自动化(计算机化)”这一最典型的计算机问 题求解思路。
13.11.2020
4
主要内容
• 语言的文法描述。 • RL
– RG、 FA、RE、RL的性质 。
•考虑的对象的不同,所需要的思维方式和能力就不 同,通过这一系统的教育,在不断升华的过程中, 逐渐地培养出了学生的抽象思维能力和对逻辑思维 方法的掌握。
•创新意识的建立和创新能力的培养也在这个教育过 程中循序渐进地进行着。
•内容用于后续课程和今后的研究工作。 •是进行思维训练的最佳知识载体。
•是一个优秀的计算机科学工作者必修的一门课程。
13.11.2020
16
1.4.3 基本概念
• 字母表(alphabet)
– 字母表是一个非空有穷集合,字母表中的元素 称为该字母表的一个字母(letter)。又叫做符号 (symbol)、或者字符(character)。
– 非空性。 – 有穷性。
• 例如:
{a,b,c,d} { a,b,c,…,z}
{0,1}
13.11.2020
17
1.4.3 基本概念
• 字符的两个特性
– 整体性(monolith),也叫不可分性。 – 可辨认性(distinguishable),也叫可区分性。
• 例(续)
{a,a′,b,b′} {aa,ab,bb} {∞,∧,∨,≥,≤}
13.11.2020
18
1.4.3 基本概念
• CFL
– CFG(CNF、GNF)、PDA、CFL的性质。
形式语言与自动机总结精品PPT课件

–DPDA 接受非歧义文法,但并不是所有非歧 义文法都可由DPDA接受。S->0S0|1S1|e
–定理6.20,6.21空栈机、终态机与非歧义文 法
• 前缀性质与DPDA
第7章 上下文无关语言的性质
本章是重点
SUCCESS
THANK YOU
2020/12/26
7.1 上下文无关文法的范式
• 文法的化简
• ~代数定律
第4章 正则语言的性质
• 正则语言的泵引理及其应用(重点!)
第4章 正则语言的性质 对于给定的同态(或逆同态)
映射,应能计算映射后的符
• ~的封闭性
号串及语言
– 交、并、补、差、闭包(*)、连 接
– 反转
– 同态
– 逆同态
• 判定性质(各种表示之间的转换、空性、 成员性)
• 最小化(状态的等价性、最小化的填表 算法P106)
7.4 CFL的判定性质
• CFL与PDA转换的复杂度(略) • CFG变换到CNF复杂度(不要求) • 测试空性 • 测试成员性(CYK算法 P209 必须掌握) • 不可判定问题一览(参阅P211)
第8章 图灵机导引
重点
8.2 图灵机
• ~的定义 • ID: q • ~的图形表示 • ~的设计技术(必须掌握) • ~的语言 • ~作为函数(程序) • 停机问题
6.2 PDA的语言(必须掌握)
• 以终态方式接受 • 以空栈方式接受 • 从空栈方式到终态方式(包装) • 从终态方式到空栈方式 • 构造PDA技术
6.3 PDA与CFG的等价性
• 从文法到PDA(必须掌握) • 从PDA到CFG(不要求)
6.4确定型的PDA
• ~定义 • 正则语言与DPDA • DPDA与CFL • DPDA与歧义文法
–定理6.20,6.21空栈机、终态机与非歧义文 法
• 前缀性质与DPDA
第7章 上下文无关语言的性质
本章是重点
SUCCESS
THANK YOU
2020/12/26
7.1 上下文无关文法的范式
• 文法的化简
• ~代数定律
第4章 正则语言的性质
• 正则语言的泵引理及其应用(重点!)
第4章 正则语言的性质 对于给定的同态(或逆同态)
映射,应能计算映射后的符
• ~的封闭性
号串及语言
– 交、并、补、差、闭包(*)、连 接
– 反转
– 同态
– 逆同态
• 判定性质(各种表示之间的转换、空性、 成员性)
• 最小化(状态的等价性、最小化的填表 算法P106)
7.4 CFL的判定性质
• CFL与PDA转换的复杂度(略) • CFG变换到CNF复杂度(不要求) • 测试空性 • 测试成员性(CYK算法 P209 必须掌握) • 不可判定问题一览(参阅P211)
第8章 图灵机导引
重点
8.2 图灵机
• ~的定义 • ID: q • ~的图形表示 • ~的设计技术(必须掌握) • ~的语言 • ~作为函数(程序) • 停机问题
6.2 PDA的语言(必须掌握)
• 以终态方式接受 • 以空栈方式接受 • 从空栈方式到终态方式(包装) • 从终态方式到空栈方式 • 构造PDA技术
6.3 PDA与CFG的等价性
• 从文法到PDA(必须掌握) • 从PDA到CFG(不要求)
6.4确定型的PDA
• ~定义 • 正则语言与DPDA • DPDA与CFL • DPDA与歧义文法
形式语言与自动机_课件_陈有祺第08章 上下文无关语言的性质

上下文无关语言的泵引理
上下文无关语言的泵引理
在Chomsky范式文法中,对于较长字符串的语法分析树,其中必 然存在较长的路径(树的最大层数 - 1)。为了确切说明着这一事 实,将图8.1所示的语法分析树的所有叶结点,都复制到最底层上, 得出如图8.2所示的一棵树。
在图8.2中,由S推导出的终结符号串中各符号都出现树的最底层 上。根据二元树的性质可知,二元树的第i层上最多有2i-1个结点, 那么,若|z|≥2n ,则z的语法分析树不能少于n+2层,即从根到 叶至少有一条长度超过n的路径。
上下文无关语言的泵引理
仅举一例,说明P的构造。设G的产生式为S→AS|b和A→a。取 z=aaaaaab(G只有2个变元,|z|=7已满足要求),并指定前5 个a的位置为特殊位置。则z的语法分析树(将叶结点都复制到最底 层)和路径P如图8.7所示。
在图8.7中,用圆圈标出的变元为分支点,用双线标出的边为路径。 例如,对于第二层的结点S,它有两个儿子A,S(在第三层), 它们都有后代(叶结点)处于特殊位置,但是A只有一个,而S有 三个后代(叶结点)处于特殊位置,所以在路径中取S而不取A。 又如第五层的结点S,它虽然也有两个儿子A,S(在第六层), 但只有A有一个后代(叶结点)处于特殊位置,而S没有。所以取 A加入路径。另外,第五层的结点S,它虽然在路径中,但它不是 分支结点,所以对它不画圆圈。最后,路径P(从根到叶)包含的 各结点:S,S,S,S,S,A,a 。
|vwx|≤k,将z写成z = uvwxy,可能出现以下几种情况:
① 如果v或x包含两种不同的符号,取i=2,无论v或x在什么位置,则 uv2wx2y都将成为ambnapbrasbt形式,这里不论m,n,p,r,s,t为何 值(都不为0),ambnapbrasbt都不能写成ww形式。因此它不在L2中。 ② 如果v和x都只包含a或都只包含b,则取i=0,uwy中不是少了a就是少 了b,再不能写成ww形式,因此它不在L2中。 ③ 如果v只包含前面的a,x只包含前面的b,则取i=0,uwy中前面的a和 b的个数少于后面的a和b的个数,不能再写成ww形式,因此它不在L2中。 ④ 如果v只包含前面的b,x只包含后面的a,则取i=0,uwy中前面的a, b的个数与后面的a,b的个数将不会对应相等,不能再写成ww形式,因 此它不在L2中。如果v只包含后面的a,x只包含后面的b,理由与③类似, uwy将不在L2中。 根据引理8.1或引理8.2,L2不是CFL。
形式语言学_Ch8_上下文无关语言的性质

8.1 上下文无关语言的泵引理
证明要点:
(1)用CNF作为CFL的描述工具。
(2)对于任意的z∈L,|≤2k-1成立。
( 3 )仅当 z 的语法树呈图 8-1 所示的满二 元树时,才有 |z|=2k-1,其他时候均有|z|<2k-1。
(4) 取N=2|V|=2|V|+1-1,z∈L,|z|≥N。
CFL也有类似性质?
8.1 上下文无关语言的泵引理
CFL的自嵌套特性:如果L是一个CFL,CFG G=(V, T, P,S) 是产生 L的文法。当 L是一个无穷语言时,必存在 w∈L, A∈V,α,β∈(V∪T) *,且 α 和 β中至少有一个不
为ε,使得如下派生成立
S* γAδ+γαAβδ+ z
uviwxiy=aN+(i-1)hbN+(i-1)fcNdNL
i≠1成立。 由泵引理,L不是CFL。
对
8.1 上下文无关语言的泵引理
L={anbmck|n≠m, m≠k,k≠n} 是CFL么?
取z=aNbN+ncN+m其中,n≠m, n≠0,m≠0。
只能让v或者x由若干个a组成,才有可能随着i的变化,
L1 L2 L1 L2 L1 L2
8.2 CFL的封闭性
定理8-3 CFL与RL的交是CFL。
证明: (1)构造
设PDA M1=(Q1,∑,Γ,δ1,q01,Z0,F1)
DFA M2=(Q2,∑,δ2,q02,F2)
L1=L(M1)
L2=L(M2)
8.2 CFL的封闭性
取PDA M=(Q1×Q2,∑,Γ,δ,[q01,q02],Z0,F1×F2)
8.1 上下文无关语言的泵引理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
14
作业:ch4习题 23,24,25
College of Computer Science & Technology, BUPT
15
第四章 上下文无关文法与下推自动机
推导树与二义性 上下文无关文法的变换 Chomsky范式和Greibach范式 下推自动机 上下文无关文法与下推自动机 上下文无关语言的性质 受限型上下文无关文法
对文法的生成式形式加以某些限制=> 受限型文法 一、线性文法:
生成式为A→ω 1Cω 2 或 A→ω 1 形式的2型文法,其中 ω 1、ω 2∈ T* , A,C∈N ,且ω 1ω 2≠ε 。
由线性文法产生的语言称为线性语言。 正则文法为线性文法。反之不成立。
College of Computer Science & Technology, BUPT
证明:
设G是Chomsky文法(形如A→BC,A→a),产生语言L-{ε},
若ω∈L且ω有一定的长度,则边缘为ω的推导树有一定长度的
路径。 对于Chomsky范式,设路径长度为n,则有边缘长度 ︱ω︱≤ 2n-1 ,如下图所示
S S A a A 路径 =1 ︱ω ︱ = ︱a︱ = 21 =1 B 路径 =2 a ︱ω ︱ = ︱aa︱ = 22 A =2
(∵其中a、b个数将大于c的个数) ∴与2型语言假设矛盾。 综上,L不是2型语言。
College of Computer ce & Technology, BUPT
7
例:证明L={ ak2 ︱k≥1}不是2型语言 证:假设L是2型语言。 由泵浦引理,取常数p,当ω∈L时,︱ω︱ = k2 ≥ p 将ω=ak2 写为ω=ω1ω2ω0ω3ω4,并有 ︱ω2ω0ω3︱≤ p 且 ︱ω2ω3︱≠ε即︱ω2ω3︱≥1 则应有ω1ω2iω0ω3iω4 ∈ L ∵︱ω2ω0ω3︱≤ p,︱ω2ω3︱≥1 ∴1≤︱ω2ω0ω3︱≤p 又∵ω=ak2 ,特别是当取k=p时, 有︱ω︱=p2 =︱ω1ω2ω0ω3ω4︱ ∴ p2 <︱ω1ω2 2ω0ω32ω4︱< p2 +p (增加了ω2ω3,而︱ω2ω3︱≤ p) 而(p+1)2 =p2 +2p+1> p2 +p 即导致p2 <︱ω1ω2 2ω0ω32ω4︱<(p+1)2 即ω’ ∈L,与假设L是2型文法矛盾 ∴L不是2型文法。
Greibach范式文法G,及空栈接受L的NPDAM。
College of Computer Science & Technology, BUPT
17
§4.6 上下文无关语言的性质
2型语言的泵浦引理 2型语言的封闭性 2型语言的判定问题 二义性问题
College of Computer Science & Technology, BUPT
1
1.
2型语言的泵浦引理
设 L 是上下文无关语言,存在常数 p ,如果 ω ∈L,且︱ ω ︱ ≥p,则 ω 可以写为 ω = ω 1 ω 2 ω 0 ω 3 ω 4 ,使 ω 2 ω 3 ≠ ε , ∣ω 2ω 0ω 3∣≤p,对于i≥0有ω 1ω 2iω 0ω 3iω 4∈L。(不 含L={ε }的情况)
College of Computer Science & Technology, BUPT 8
2. 2型语言的封闭性
(1)设有2型语言L1、L2,则L1∪L2,L1L2,L1*为2型语言。 证明——自学 (2)2型语言对交不封闭 反证:取反例 L1={ anbncm︱m,n≥1} —— 2型 L2={ ambncn ︱m,n≥1} —— 2型 L1∩L2={anbncn︱n≥1} —— 不是2型 (3)2型语言对补运算不封闭 若对补封闭,则对交封闭。 已知对交不封闭, ∴对补不封闭 (4)2型语言对置换封闭。 (略)
College of Computer Science & Technology, BUPT 4
设为v1= v2=A, v1靠近树根,v1到叶子的最长路径为n+1。 形如 如图:Z1=ω2ω0ω3
S
︱Z1∣≤2 n =p
C
B
B
A
B b
A b
在该路径上: v1 靠近根,其子树为 T1 , 边为Z1 v2 远离根,其子树为 T2 , 边为ω 0
- 1
a A
-
1
College of Computer Science & Technology, BUPT
3
S
路径=4 ︱ω ︱≤24-1=8 ( 第 i 层 最 多 有 2i 个 非 终 结 符 。 第 i+1 层若全为终结符,则 与第 i 层非终结符个 数相等。) a a a a a
设文法G有n个非终结符,取p=2n ,若ω∈L,且︱ω︱ ≥p (即︱ω︱≥ 2n ),则必有︱ω︱≥ 2n-1 ,即存在一条 长度 > n的路径,至少为n+1。这时,该路径上的结点数为 n+2(包括最高层顶点及最底层叶子)。 ∵G中只有n个非终结符 ∴在这条路径上必然有某两个结点相同
College of Computer Science & Technology, BUPT 5
2型文法泵浦引理的用途:判断一给 定语言不是上下文无关文法。
思路:用反证法。 例:证明 L={anbncn ∣n≥1 不是2型语言} 证:假设L是2型语言。 取常数p,ω =apbpcp ,∣ω ∣=3p≥p 将ω 写成ω =ω 1ω 2ω 0ω 3ω 4, 其中∣ω 2ω 3∣≥1 且 ∣ω 2ω 0ω 3∣≤p. 考虑ω 2ω 0ω 3在ω 中所处的位置: ①如果ω 2含有a,ω 3含有c, ∵ω =apbpcp , 则有∣ω 2ω 0ω 3∣最小为∣abpc ∣=p+2>p ∴不满足泵浦引理的条件。 ②如果ω 2、ω 3都含有a,(b或c) ∵∣ω ∣=apbpcp 可写成ω =akam an al ajbpcp ω 2ω 0 ω 3 其中m+n+l≤p, m+l≥1,k+m+n+l+j=p. 将ω 2、ω 3重复i=2次,将有ω’ = akamianaliajbpcp =ap+m+lbpcp∈L
(a的个数大于b和c的个数) ∴与2型语言的假设矛盾。
College of Computer Science & Technology, BUPT 6
(3)若ω2、ω3分别包含a和b(b和c) 设ω2=am、ω3=bn 且m+n≥1 当取ω = akamap-m-kbjbnbp-j-ncp 时 将ω2、ω3重复i=2次, 有将ω’ =akaimap-m-kbjbinbp-j-ncp ∈ L
College of Computer Science & Technology, BUPT
16
练习题
证明L={ambn|n=m2}不是2型语言。
L={|{a,b}*},求产生L的Greibach范式文法G,
及空栈接受L的NPDAM。
L={|{a,b}*且含a,b的个数相同},求产生L的
(1)S→SS︱β 对句型SSS,有
S S S S S S S S S S
和
二棵推导树
将S→SS︱β
变换为 S→SA︱A,可消除二义性。 A→β
College of Computer Science & Technology, BUPT 11
(2) S→SbS (3)S→aS︱Sβ
§4.7 受限型上下文无关文法
College of Computer Science & Technology, BUPT 9
※
3. 2型语言的判定问题——略
College of Computer Science & Technology, BUPT
10
4.
二义性问题
a. 二义性定义:对同一句子(句型)存在两个不同的推 导树或存在两个不同的最左(右)推导。 b. 上下文无关文法的二义性是不可判定的。 c. 可能导致二义性的某些生成式形式
12
例:G1=({S},{a,b},P,S) S→aSa︱bSb︱ε L(G1)={ωω︱ω∈{a,b}* }
例:G2=({S},{a,b},P,S) S→aSb︱ab L(G2)={anbn ∣n≥1}
L(G1)和L(G2)都是线性语言,但不是正则集。
College of Computer Science & Technology, BUPT 13
(∵v1到叶子的路径最多为n+1)
而v1 * =>ω2v2ω3, v2 * =>ω0
∵v1=v2=A ∴v1 * =>ω2v2ω3 =>ω2ω2v2ω3ω3 =>ω2iω2v2ω3ω3i =>ω2iv2ω3i =>ω2iω0ω3i
b
ω1
b
B
C
ω4
B
A
路径P
b
b
ω2
ω0
ω 3= ε
∴ S =>ω1ω2ω0ω3ω4 * =>ω1ω2i ω0ω3
二、顺序文法:
设G=(N,T,P,S),若非终结符可被排序为 A1A2…An,N={A1,A2,…,An},当P中有生成式 Ak→β,则β内不含有l<k的Al。此时称文法G为顺 序文法。 由顺序文法产生的语言为顺序语言。 例:(书P181,例2)
College of Computer Science & Technology, BUPT