形式语言与自动机课件——上下文无关语言的性质

合集下载

形式语言与自动机课件-第11章 LBA和上下文有关语言

形式语言与自动机课件-第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

形式语言和自动机上下文无关文法与下推自动机课堂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(第十五周)

形式语言与自动机理论--第六章 上下文无关语言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是无用符号。

形式语言与自动机讲义(Part3)

形式语言与自动机讲义(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

形式语言与自动机理论电子教案01PPT课件

形式语言与自动机理论电子教案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的性质。

形式语言与自动机总结精品PPT课件

形式语言与自动机总结精品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与歧义文法

形式语言与自动机_课件_陈有祺第08章 上下文无关语言的性质

形式语言与自动机_课件_陈有祺第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_上下文无关语言的性质

形式语言学_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 上下文无关语言的泵引理

形式语言与自动机课件-第06章 上下文无关文法

形式语言与自动机课件-第06章 上下文无关文法
S→a∣aS 显然,L(G)= L(G´)={an∣n≥1}。很容易验证,文法G´已不再 有二义性了。
具有二义性的文法在理论上和实用上都不是一个好的描述语言的 形式,因此我们应尽量避免写出一个有二义性的文法。但是,对 于某些上下文无关语言,无论用什么上下文无关文法去产生它, 该文法都是有二义性的,这种语言称为“固有二义性的”上下文 无关语言。
写。
对于某些文法来说,对于同一个句型α,可能有两种或两种以上的最左推 导或最右推导来产生它。当然,也就有两棵或两棵以上的以α为边缘的语 法分析树。
上下文无关文法的语法分析
定义6.4 对于某个上下文无关文法G,若有某个字符 串w∈L(G),存在两棵不同的语法分析树都以w为边 缘。则称该文法G是有二义性的。
S aAS aSbAS aabAS aabbaS aabbaaຫໍສະໝຸດ lmlmlm
lm
lm
和唯一的最右推导
S aAS aAa aSbAa aSbbaa aabbaa 。
rm
rm
rm
rm
rm
这里符号“ lm
”和 “ rm
”分别表示最左推导和最右推导。如果在上下文中
已经提到是最左推导或最右推导,则箭头下面的字母lm或rm可以略去不
推导步数用归纳法来证明这一结论。
若推导步数为1,则结论显然成立。现假定,对任何变元A,若通
过少于k步(k>1)的推导得到A * α,则存在一棵边缘为α的A树 。再考虑通过k步推导得到A α* 的情况。
上下文无关文法的语法分析
若推导的第1步是A X1X2…Xn ,则α中符号或是X1,X2,…,Xn中
根据语法分析树与最左(最右)推导的对应关系,对 于文法G的二义性也有等价的定义:若有某个字符串 w∈L(G),存在两个不同的最左(最右)推导过程, 则称该文法G是有二义性的。

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

形式语言自动机——上下文无关文法与下推自动机(三)
或者
⑵ δ (q,a,z ) =φ 且δ (q,ε ,z)最多含一个元素。
这两个限制防止了在ε 动作和包含一个输入符号的动作之 间做选择的可能性(即在同样状态,同样栈顶符号下最多 只能有一个选择。)
College of Computer Science & Technology, BUPT
19
确定的下推自动机(DPDA)
Q={q0 ,q1 ,q2}
q0 — 初态;接受a — q1状态;接受b — q2状态;输入ε — 回到q0
T={a,b},
Γ
={
z, 0
a},
F = { q} 0
δ 定义为:
δ (q0,a,z0) = {( q1 ,a z0)}
δ (q1,a,a) = {( q1 ,aa)}
δ
(q ,b,a) 1
§4.3 Chomsky范式和Greibach范式
Chomsky范式定义:
2型文法G=(N,T,P,S),若生成式形式都 是A→BC和A→a,A、B、C∈N,a∈T,则G是 Chomsky范式。若ε∈L(G),则S→ε是P的一 个生成式,但S不能在任何其它生成式的右边。
每个上下文无关文法都具有等效的CNF(定理 4.3.1)
15
下推自动机接受的语言
两种接受方式 终态接受:
L(M)={ ω∣(q0 ,ω,z0)├* (q,ε,α) ,q∈F,α∈Γ*}
空栈接受:
L(M)={ ω∣(q0 ,ω,z0) ├* ( q,ε,ε), q∈Q}
(当空栈接受时,终止状态可为Q中任意状态,换言之, 终止状态集是与状态无关的。此时,取F=φ)
当前状态 当前输入 当前栈顶符号 有限子集
q0:初始状态,q0∈Q z0:下推栈的起始符号,z0∈Γ F: 终态集合,F Q

形式语言与自动机课件-第12章 确定的CFL和LR(k)文法

形式语言与自动机课件-第12章 确定的CFL和LR(k)文法

确定的上下文无关语言的性质
根据以上分析,可以断言,LM' LM 。假设
a1a2…an∈L(M),则当扫描完an之后,M进入终结状态 。此时无论是立即进入或经过几步ε动作之后进入终结 状态,M´的状态都将是[q,1],所以M´不接受a1a2…an。 反之,若a1a2…an L(M),那么,根据定理12.3,M´在读 过an以后的某个时刻,将没有ε动作可做。而这时M´的 状态是[q,2]的形式,根据δ´的定义(2),M在试图读 一个真输入符号之前,[q,2]马上变为[q,3],即M´接受 a1a2…an。定理证完。
δ´定义的第(3)条是为了解决ε循环问题。区分两种情况:
一种是在“原地踏步”过程中有M的终结态出现。说明M应接受已读过的 输入串,此时M´进入自己的终结状态f,表示也接受读过的输入串。
另一种是在“原地踏步”的过程中永不出现M的终结状态。这时M´即进 入“死”状态d,表明不会接受整个输入串了。
δ´定义的第(4)条是为了处理一种特殊情况。若输入串在末尾处作ε 循环动作,则f就已表示接受了该输入串。若在输入串中间作ε循环 ,那么,虽然也进入M的接受状态,但此时M´变为终结状态f只是 暂时的,通过(4),f马上就变为d,然后扫描完剩余输入串而不接 受该输入串。
确定的下推自动机的标准形式
M模拟M´的基本思想是:将M´的栈顶放入M的状态上,因此初始 状态就是q0=[q0´,X0],并放置自己的栈底Z0。当δ´的动作要退栈 时(情况(a)),δ就将新栈顶吸收到状态上,并消去新栈顶。当 δ´的动作要改变栈顶符号时(情况(b)),δ就只改变状态上的 栈顶符号。当δ´的动作是要将栈顶符号X改变为YZ时,δ就将新栈 顶Y代替原来放在状态上的栈顶X,同时将Z进栈作为M的新栈顶 。此种方法保证了将M的栈内容去掉栈底Z0,加上状态上的栈顶, 永远等于M´的栈的内容。因此M接受输入串u时,当且仅当M´接 受u。

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

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

§4.6 上下文无关语言的性质1. 2型语言的泵浦引理:设L 是上下文无关语言,存在常数p ,如果ω∈L , 且︱ω︱≥p ,则ω可以写为ω=ω1ω2ω0ω3ω4,使ω2ω3≠ε,∣ω2ω0ω3∣≤p ,对于i ≥0有ω1ωi2ω0ωi3ω4∈L 。

(不含L ={ε}的情况) 物理意义:线性语言的泵浦引理是说,在正规集合中,每个足够长的字符串都包含一个短的字串,随便将这个子串在原处重复插入多少次,所得的新字串还是在原正规集中。

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

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

对于Chomsky 范式,设路径长度为n ,则有边缘长度 ︱ω︱≤ 2n -1,如下图所示a 路径 =1︱ω︱=︱a ︱=21- 1=1a a路径 =2︱ω︱=︱aa ︱=22- 1=2设文法G 有n 个非终结符,取p =2n若ω∈L ,且︱ω︱≥p (即︱ω︱≥ 2n)则必有︱ω︱≥ 2n -1,即存在一条长度 > n 的路径,至少为n+1。

这时,该路径上的结点数为n+2(包括最高层顶点及最底层叶子)。

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

路径=4︱ω︱≤24- 1=8 (第i 层最多有2i个非终结符。

第i+1层若全为终结符,则与第i 层非终结符个数相等。

)ω2 ω0 ω3=εv 1靠近根,其子树为T 1,Z 1v 2远离根,其子树为T 2,ω0如图:Z 1=ω2ω0ω3︱Z 1∣≤2 n =p (∵v 1到叶子的路径最多为n+1) 而v 1* =>ω2v 2ω3, v 2* =>ω0∵v 1=v 2=A ∴v 1 *=>ω2v 2ω3 =>ω2ω2v 2ω3ω3=>ωi2ω2v 2ω3ωi3 =>ωi2v 2ωi3 =>ωi2ω0ωi3∴ S =>ω1ω2ω0ω3ω4 *=>ω1ωi 2ω0ωi3ω4 v 1的子树得证#2型文法泵浦引理的用途:判断一给定语言是否是上下文无关文法。

形式语言与自动机第八章 上下文无关语言的性质

形式语言与自动机第八章  上下文无关语言的性质
L1 = {anbncn: n ≥ 0}
试着设计一个 CFG 或者 PDA
S → aBc | e B → ??
read a / push x read b / pop x
???
看一看CFG应该满足的特征:
设某个上下文无关文法CFG如下 :(是CNF
范式)
S BC B CS | b C SB | a
i≥1。假设在i-1步时(*)式成立。 ([p0,q0],xa,Z0)┝(i-1步) ([p´,q´],a,β)┝([p,q],ε,γ), 其中w=xa,a∈∑∪{ε}。对于第i-1步,根据归纳法假设,得到 (q0,x,Z0)┝(i-1步)(q´,ε,β)且δA(p0 ,x)= p´。
上下文无关语言的泵引理
引理8.2 设L是一个字符串的集合,假设L有下述性质: “对一切 正整数k,存在z∈L,|z|≥k,将z划分为5个子串z = uvwxy, 这里|vx|≥1,|vwx|≤k,并有某个i≥0,使得uviwxiy L”,则L 不是CFL。
和正则语言一样,若想证明某个集合不是CFL,可以设想你和对手 “打赌”,你的对手认为L是CFL,你认为不是。双方采取以下步 骤进行争论:
① 你的对手选出一个正整数k。 ② 你选出某个z∈L,且|z|≥k。 ③ 你的对手选出子串u,v,w,x,y,使z = uvwxy,且满足
|vx|≥1,|vwx|≤k。 ④ 你选出某个i≥0。如果uviwxiy L,那么你就赢了,证明了L不是
CFL。
上下文无关语言的泵引理
引理8.3(Ogden引理) 对每个CFL L ,都存在正整 数k,对每个z∈L,并且在z中标出k个或多于k个特殊 位置,将z写成z=uvwxy,且满足: ① v或x中至少有一个符号处于特殊位置; ② vwx中至多有k个符号处于特殊位置。 则对任何i≥0,uviwxiy都属于L。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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
相关文档
最新文档