收藏 分享(赏)

chapter-7-下推自动机.ppt

上传人:无敌 文档编号:8435 上传时间:2018-03-03 格式:PPT 页数:17 大小:1.20MB
下载 相关 举报
chapter-7-下推自动机.ppt_第1页
第1页 / 共17页
chapter-7-下推自动机.ppt_第2页
第2页 / 共17页
chapter-7-下推自动机.ppt_第3页
第3页 / 共17页
chapter-7-下推自动机.ppt_第4页
第4页 / 共17页
chapter-7-下推自动机.ppt_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、第七章、下推自动机,一、下推自动机概念定义1、下推自动机(Pushdown Automaton,PDA)M是一个七元组:其中,Q是有限状态集,F是终止状态集, 是输入字母表, 是下推栈字母表, 是初始栈顶元素, 是起始状态, 是状态与栈元素转换函数:,第七章、下推自动机,事实上,下推自动机在某个状态 和某个栈顶元素 下,不仅扫描到某个字符 时,可以有运算式: 而且不扫描任何字符,也可以有运算式(称为空动作):,第七章、下推自动机,下推自动机的结构如下图所示:正如: RL语言 有穷自动机 一样 CFL语言 下推自动机,第七章、下推自动机,例2、设计一个下推自动机接受语言注意到 中元素(串)有一个

2、共同特点,串的中点为字符c,前半部可以是字母表0,1上的任意一个串,但后半部必须是前半部的逆串(即 中的每个串都是回文)。下推自动机中有一个辅助存储器:下推栈。栈结构的主要特点就是后进先出的存取顺序,根据这个特点,容易设计一个以空栈形式接受语言的PDA接受 。我们可以设置3个栈字母,设为R,B,G,其中R作为初始栈顶元素。扫描到字符c之前,PDA的状态为 (显然 就是初始状态),在 状态下,每扫描到一个字符“0”,就在栈中压入一个栈元素B,每读到一个“1”就在栈中压入一个元素G。,第七章、下推自动机,当扫描到字符“c”时,PDA的状态改为 。在 状态下,假如当前的栈顶元素为B,而读到的字符恰好

3、是“0”,则把栈顶弹出,继续读下一个字符(如果读到的字符为“1”,则说明c后面的子串不是c之前的子串的逆,这个输入串不被接受);假如当前的栈顶元素为G,而读到的字符恰好为“1”,则把栈顶元素弹出(同样,如果这时读到字符是“0”,也不接受输入串)。当把输入串全部扫描完时,如果恰好露出初始栈顶R,则说明输入串是 的一个元素,用一个空动作把初始栈顶弹出,把栈倒空,表示这个输入串被接受。根据上面的讨论,可以写出接受 的PDA如下: 其中,第七章、下推自动机,且,第七章、下推自动机,例如:对于输入串,的工作过程可以用下面的推导反映出来:,最后一个结果,表明,输入串全部扫描完,而且栈被倒空,因此这个输入串

4、被接受。参照p238页,例7-1,比较。,下推自动机,第七章、下推自动机,例3: 设计一个接受语言 的下推自动机 。 中的串同 类似,也可以分为前半部分和后半部分,前半部 分可以是字母表0,1上的任何串,后半部分必须是前半部分的逆串。同 不同的是, 中没有中界符号c。因此,从输入串的第2个字符开始,每读到一个字符(0或1),由于不知道它是前半部分或者是后半部分的字符,因此动作函数就要从两方面考虑,压入一个新栈顶还是弹出当前栈顶(在符合要求的情况下)。因此,相关的动作函数就有两个值。接受 的下推自动机 的形式表示在p242例7-2。,第七章、下推自动机,例4: 设计一个接受语言 的下推自动机 。

5、 令(1)、(2)、(3)、(4)、那么,运算表如下:,第七章、下推自动机,第七章、下推自动机,运算举例如下:注意: 表示机器读a时,可以用c来替换栈顶的b。,1,q3,q4,q1,q2,第七章、下推自动机,例5: 给出识别PDA。解、显然PDA先读完i个a,并把它们全部放入栈,然后与b或c匹配,由于机器不知是与b还是与c,因此便想到了非确定性,即用2个分支去做,即:,第七章、下推自动机,q5,q7,q2,q1,q1,q3,q4,q5,q6,第七章、下推自动机,形式定义如下:(1)(2)(3)(4) (5) q1 (6) ,大家看表后,计算剩下的空格。,第七章、下推自动机,第七章、下推自动机,二、上下文无关文法CFG与下推自动机PDA的等价性1、以空栈方式接受语言的PDA(即NPDA,略)同以终态方式接受语言的PDA的等价。2、NPDA与CFG等价定理1、 对任一个上下文无关语言L,都存在一个以空栈接受语言的下推自动机M,使得LN(M)。定理2、 对任意一个以空栈方式接受语言的下推自动机M,都存在一个上下文无关文法G,使得L(G)=N(M)。,第七章、下推自动机,三、总结PDA M是七元组,它是CFL的识别器。比FA多了栈符号,这些符号和状态一起用来记录相关的语法信息,从而可以计数无限数字相等。如同茶碟器,无论多少,装完,计数,见底后,手中也无,就算相等,否则,就不等。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 职业教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报