第三章第四讲下推自动机.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 上下文无关文法与下推自动机 第四讲 下 推 自 动 机 一、有关概念 1、下推自动机的特点 特点:下推自动机PDA(Push Down Automaton)是一种类似于NFA的新型计算机模型,它比NFA多了一个下推栈。下推栈在控制器的有限存储量之外增加了一个附加的存储,从而使得下推自动机能够识别某些非正则语言。 引例:前面曾用泵浦定理(定理6)证明:L(M)={anbn|n≥1}不是正则集。这就表明无法用有限自动机来识别该语言。这是因为: 对于任意的正整数k,至少必须有一个状态用以记住“k个a”,则用状态转换图表示这种情况,在对任意大的n来说,有如下无限状态转换图: .......... .......... a a a a b b b b b b 显然,上述无限状态的模型是无法用有限状态自动机来表示的,因此需要扩充机器的能力。 一、有关概念 1、下推自动机的特点 引例:前面曾用泵浦定理(定理6)证明:L(M)={anbn|n≥1}不是正则集。这就表明无法用有限自动机来识别该语言。这是因为: 对于任意的正整数k,至少必须有一个状态用以记住“k个a”,则用状态转换图表示这种情况,在对任意大的n来说,有如下无限状态转换图: .......... .......... a a a a b b b b b b 显然,上述无限状态的模型是无法用有限状态自动机来表示的,因此需要扩充机器的能力。 一、有关概念 1、下推自动机的特点 引例:前面曾用泵浦定理(定理6)证明:L(M)={anbn|n≥1}不是正则集。这就表明无法用有限自动机来识别该语言。这是因为: 对于任意的正整数k,至少必须有一个状态用以记住“k个a”,则用状态转换图表示这种情况,在对任意大的n来说,有如下无限状态转换图: .......... .......... a a a a b b b b b b 显然,上述无限状态的模型是无法用有限状态自动机来表示的,因此需要扩充机器的能力。 下推自动机拥有一个容量不受限制的下推“栈”,所以它可以解决许多实际问题。例如:对于非正则语言L(M)={anbn|n≥1},由于PDA能够利用栈容量的无界性保存大量的信息,可以动态跟踪保存a的个数,从而PDA能够识别这个语言。 一、有关概念 1、下推自动机的特点 组成:下推自动机(PDA)是由一条输入带、一个有限控制器和一个下推栈组成的。其示意图如下: a b b b c c a ...... 输入带 有限控制器 A B C Z0 . . 下推栈 栈顶元素 栈底元素 一、有关概念 1、下推自动机的特点 注意1:下推自动机(PDA)在能力上与上下文无关文法等价。只不过上下文无关文法是以产生语言的方式而存在的;而下推自动机是以识别语言的方式而存在的。这个等价性对于后面许多定理的证明来说提供了很多方便。 注意2:有些语言用生成器(文法)描述较为容易,而另一些语言又可能用识别器(下推自动机)描述更容易一些。 注意3:下推自动机(PDA)与有限自动机类似,亦分为确定的下推自动机(DPDA)和不确定的下推自动机(NPDA)。 一、有关概念 2、不确定的下推自动机 定义:下推自动机M是一个七元组:M=(Q,T,Γ,δ,q0,Z0,F),其中 状态转换图: Q:有限控制器的状态集合; T:有限的输入字母表; Γ:有限的下推栈字母表; q0 :初始状态,q0∈Q; Z0:下推栈的起始符号,Z0∈Γ; F :终止状态集合,F∈Q; δ:转换函数,是从Q×(T∪{ε})×Γ到Q×Γ*的映射。 当有转换函数δ(q,a,Z)={(p,α)} ( q,p∈Q,a∈T,Z∈Γ,α∈Γ*)时, 表示在状态q输入字符a且下推栈的栈顶字符为Z时,进入状态p,下推栈的栈顶字符Z由字符串α替代,同时读头右移一位。 这个过程的状态转换图如右图所示: q p a , Z / α 约定:①当|α|1时,α的最左位放在栈的最高位;②当α=ε时,表示栈顶符号Z被弹出。③当a=ε时,称为ε转换,这时不考虑输入字符,读头不移动,但状态发生改变,且栈顶元素被α替换。 注意:Z0是栈底元素,在初始化时设定,可作为识别句子过程的结束标志。 一、有关概念 2、不确定的下推自动机 格局及其应用: 重要回顾:原始的有限自动机中格局的定义: 定义2 设有限自动机M=(Q,T,δ,q0,F), 对偶或称二元组 (q,w)∈Q×T*称为M的格局,并称(q0,w)为初始格局;对于q∈F,称(q,ε)为终止格局或接受格局。 若当前状态为q,当前读入字符为a

文档评论(0)

shujukd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档