FormalLanguagesandAutomataTheory-第六章-课件.ppt
《FormalLanguagesandAutomataTheory-第六章-课件.ppt》由会员分享,可在线阅读,更多相关《FormalLanguagesandAutomataTheory-第六章-课件.ppt(20页珍藏版)》请在三一办公上搜索。
1、,Formal Languages and Automata Theory,6上下文无关文法与下推自动机,语言ai bi|i0是不能被有穷自动机所接受的。要接受这个语言,机器需要记录某一a的有限次数,有限状态机的约束不允许自动机“记住”输入串中a的个数。因此我们需要定义一个新型自动机,它由一个下推栈加上一个有限自动机组成,称为下推自动机(PDA)。,6.1 下推自动机(1),定义:下推自动机(pushdown automation)是一个七元组(Q,q0,z,F),其中Q是一有穷状态集,为一有穷字母表,为一有一有穷下推集,q0为开始状态,z为下推字符,FQ是终止状态集,是从Q()(P)到Q(P
2、)的转移函数。一个PDA有两个字符集:输入字符串它由输入字符串组成,有一个栈字符集P,它的元素存在栈中。A 表示以A为栈顶元素的栈,空栈被表示为。PDA的计算开始于状态q0,输入在输入带上且栈为空。PDA的当前状态、输入符号和栈顶符号决定自动机的转换。转换函数列出所有给定状态、符号和栈顶元素的所有可能的转换。(qi,a,A)=qj,B,qk,C表示当前状态为qi,输入符号为a,栈顶符号为A时的两种可能的转换。,6.1 下推自动机(2),qj,B(qi,a,A)new state current stack top new stack top current input symbol curre
3、nt state 表示 i)状态由qi换为qi ii)处理字符a,输入带向前移动iii)栈顶A退栈iv)B进栈。,6.1 下推自动机(3),一个下推自动也可由状态转换图表示,弧上的符号表示输入符号和栈操作。转换函qj,B(qi,a,A)表示如下:a A/Bqi qj 符号/表示B代替A 可以出现在输入字符和栈顶位置,分别三种转换函数。(1)qi,(qi,A)(输入位置是)A/A出栈 qi,6.1 下推自动机(4),(2)qi,A(qi,)(输入位置是)/A(A压栈,不改变输入状态)qi(3)qj,(qi,a,)a/(等价于有限自动机,转换由状态和输入符号决定)qi qj一个PDA可表示为一个三
4、元组qi,,qi是机器状态,为未处理的输入串,为栈顶。qi,qj,v,表示qj,v,由qi,经一步转换而得。,6.1 下推自动机(5),例1:构造一个PDA接受语言ai bi|i=0 M:Q=q0,q1 a/A b A/b A/=a,b=A F=q0,q1(q0,a,)=q0,A(q0,b,A)=q1,(q1,b,A)=q1,q0,aabb,q0,abb,A q0,bb,AA q0,b,A q0,q0 q1,6.1 下推自动机(6),定义:设M(Q,q0,F)为一PDA,字符串被PDA接受,如果q0,*qi,qiF(终态的集合)例2:PDAM接受语言 c R|a,b*M:Q=q0,q1=a,b
5、,c=A,B F=q1(q0,a,)=q0,A b/B b B/(q0,b,)=q0,B a/A a A/(q0,c,)=q1,q0 c/q1(q1,a,A)=q1,(q1,b,B)=q1,6.1 下推自动机(7),例3:PDAM接受语言 ai|i=0 ai bi|i=0 a/A b A/q0 b A/q1/q2 A/,6.1 下推自动机(8),例4:含有相同个数的0和1的所有的0,1串。思想:用栈记录0和1个数的差。当1比0多时,栈中全部为A,且A的个数等于1比0多的个数;当0比1多时,栈中全部为B,且B的个数等于0比1多的个数。M=(q,p,0,1,A,B,Z,q,Z,p),其中(q,Z)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FormalLanguagesandAutomataTheory 第六 课件

链接地址:https://www.31ppt.com/p-6505842.html