(21)第三章-第四讲-下推自动机
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
当转换函数δ(q,a,Z)={(p,γ)} 时,可用格局表示为:
(q , aw , Zα) (p , w , γα)
接受语言的两种方式:
终止状态方式接受:当PDA以终止状态接受语言L(M)时,有:
L(M)={w | (q0,w,Z0) * (q,ε,α),且 q∈F,α∈Γ*} 空栈方式接受:当PDA以空栈接受语言Lφ(M)时,有:
第三章
上下文无关文法与下推自动机
第四讲 下推自动机
一、有关概念
1、下推自动机的特点 特点:下推自动机PDA(Push Down Automaton)是一种类似于NFA
的新型计算机模型,它比NFA多了一个下推栈。下推栈在控制器的 有限存储量之外增加了一个附加的存储,从而使得下推自动机能够
识别某些非正则语言。
定义:下推自转动换机,M这是时一不个考七虑元输组入:字M符=,(Q读,T,头Γ,δ不,q移0,Z动0,F,),但其状中态发
Q:有限控制生器改的变状,态且集栈合顶;元素被αT替:有换限。的输入字母表;
Γ:有限的下推栈字母表;
q0 :初始状态,q0∈Q;
Z0:下推栈的起始符号,Z0∈Γ; F :终止状态集合,F∈Q;
若当前状态为q,当前读入字符为a,若有状态 转换函数δ(q,a)=q1 , 则状态变换后的后继状态为q1, 此时可用格局变化形式描述这一变换过程: (q,aw)├─(q1,w) 。
一、有关概念
这里q是任意状态,说明空栈接受时
2、不确定的下推自动机 对终止状态用没γ有字要符求串,替因换此栈可顶以Z,认为 格局及其应用: 注意:这终里止第状一态个集εaF表为为示当空此前集时输Фw入。恰字好符被读完;
Lφ(M)={w | (q0,w,Z0) * (q,ε,ε),且 q是Q中的任意状态}
一、有关概念
采用终止状态接收方式
2、不确定的下推自动机
实例:构造一个PDA M,能够接受语言L(M)={anbn|n≥1}。
设 PDA M=(Q , T , Γ,δ, q0 , Z0 , F),其中: Q={q0,q1,q2} , T={a,b} , Γ={Z0,a} , F={q0} ,δ定义如下:
引例:前面曾用泵浦定理(定理6)证明:L(M)={anbn|n≥1}不是正则
集。这就表明无法用有限自动机来识别该语言。这是因为:
对于任意的正整数k,至少必须有一个状态用以记住“k个a”,
则用状态转换图表示这种情况,在对任意大的n来说,有如下无限
状态转换图:
a
a
a
a ..........
b b
b b
b b
q a,Z/α
p
注意:Z0是栈底元素,在初始化时设定,可作为识别句子过程的
结束标志。
一、有关概念
2、不确定的下推自动机 格局及其应用:
重要回顾:原始的有限自动机中格局的定义:
定义2 设有限自动机M=(,
并称(q0,w)为初始格局;对于q∈F,称(q,ε)为终止格 局或接受格局。
注意2:有些语言用生成器(文法)描述较为容易,而另一些语言
又可能用识别器(下推自动机)描述更容易一些。
注意3:下推自动机(PDA)与有限自动机类似,亦分为确定的下推
自动机(DPDA)和不确定的下推自动机(NPDA)。
一2、、不有确定关的概约当下念定α=推:ε时自①,当动表|机α示|>1栈时顶,符α号的Z最被左弹位出放。在③栈当的a最=ε高时位,;称②为ε
下推栈组成的。其示意图如下:
a b b b c c a ......
输入带
有限控制器
A
下B
推 栈
C
Z0
.
.
栈顶元素 栈底元素
一、有关概念
1、下推自动机的特点
注意1:下推自动机(PDA)在能力上与上下文无关文法等价。只不
过上下文无关文法是以产生语言的方式而存在的;而下推自动机是 以识别语言的方式而存在的。这个等价性对于后面许多定理的证明 来说提供了很多方便。
则用状态转换图表示这种情况,在对任意大的n来说,有如下无限
状态转换图:
a
a
a
a ..........
b b
b b
b b
..........
显然,上述无限状态的模型是无法用有限状态自动机来表示的, 因此需要扩充机器的能力。
一、有关概念
1、下推自动机的特点 引例:前面曾用泵浦定理(定理6)证明:L(M)={anbn|n≥1}不是正则
下推自动机拥有一个容量不受限制的下推“栈”,所以它可以 解决许多实际问题。例如:对于非正则语言L(M)={anbn|n≥1},由于 PDA能够利用栈容量的无界性保存大量的信息,可以动态跟踪保存 a的个数,从而PDA能够识别这个语言。
一、有关概念
1、下推自动机的特点 组成:下推自动机(PDA)是由一条输入带、一个有限控制器和一个
第二个ε表示此时栈恰好为空。 格局是一个三元组:(q,w,α),其中:q是当前状态(q∈Q);w是待输
入的字符串(w∈T*,当w=ε时,表示输入字符均已读完);α是栈中内容
(α∈Γ*,当α=ε时表示下推栈注已意弹:空ε)表。示此时w恰好被读完,q∈F表
格局描述下推自动机的瞬时示工此作时状也况恰:好进入终止状态。
..........
显然,上述无限状态的模型是无法用有限状态自动机来表示的, 因此需要扩充机器的能力。
一、有关概念
1、下推自动机的特点
引例:前面曾用泵浦定理(定理6)证明:L(M)={anbn|n≥1}不是正则
集。这就表明无法用有限自动机来识别该语言。这是因为:
对于任意的正整数k,至少必须有一个状态用以记住“k个a”,
δ:转换函数,是从Q×(T∪{ε})×Γ到Q×Γ*的映射。
状态转换图:
当有转换函数δ(q,a,Z)={(p,α)} ( q,p∈Q,a∈T,Z∈Γ,α∈Γ*)时, 表示在状态q输入字符a且下推栈的栈顶字符为Z时,进入状态p,下 推栈的栈顶字符Z由字符串α替代,同时读头右移一位。
这个过程的状态转换图如右图所示:
集。这就表明无法用有限自动机来识别该语言。这是因为:
对于任意的正整数k,至少必须有一个状态用以记住“k个a”,
则用状态转换图表示这种情况,在对任意大的n来说,有如下无限
状态转换图:
a
a
a
a ..........
b b
b b
b b
..........
显然,上述无限状态的模型是无法用有限状态自动机来表示的, 因此需要扩充机器的能力。