有限自动机理论章下推自动机精品文稿.ppt
《有限自动机理论章下推自动机精品文稿.ppt》由会员分享,可在线阅读,更多相关《有限自动机理论章下推自动机精品文稿.ppt(166页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、有限自动机理论章下推自动机第1页,本讲稿共166页 FA只能处理正则语言只能处理正则语言 正则文法生成无穷语言是由于正则文法生成无穷语言是由于 A-wA不需要记录不需要记录w的个数的个数第2页,本讲稿共166页 无关文法无关文法生成无穷语言生成无穷语言 A-A 需要记录需要记录和和之间的对应关系之间的对应关系 无法用无法用FA的有穷个状态来表示。的有穷个状态来表示。第3页,本讲稿共166页为为FA扩充一个扩充一个无限容量无限容量的的栈栈 用用栈栈的的内内容容和和FA的的状状态态结结合合起起来来就就可以表示可以表示无限存储。无限存储。这种模型就是下推自动机这种模型就是下推自动机PDA第4页,本讲
2、稿共166页 PDA作作为为形形式式系系统统最最早早于于1961年年出出现现在在 Oettinger 的论文中。的论文中。与与 上上 下下 文文 无无 关关 文文 法法 的的 等等 价价 性性 由由Chomsky于于1962年年发现发现。第5页,本讲稿共166页与与FA比较比较PDA具有一个栈存储器具有一个栈存储器有两个操作:有两个操作:入栈入栈-将内容压入栈中将内容压入栈中 出栈出栈-将栈顶元素移出将栈顶元素移出第6页,本讲稿共166页下推自动机下推自动机物理模型物理模型a1a2a3aj anan+1FSC存储带存储带栈存储器栈存储器第7页,本讲稿共166页栈存储器栈存储器 存放存放不同于不
3、同于字母的符号字母的符号 只能对只能对栈顶栈顶元素进行操作。元素进行操作。第8页,本讲稿共166页下推自动机动作下推自动机动作 根据 FSC当前的当前的状态状态 输入带上的当前输入带上的当前字符字符 栈顶符号栈顶符号 进行进行状态改变状态改变和入栈或出栈和入栈或出栈操操作作 将读头向右将读头向右移动移动一个单元一个单元第9页,本讲稿共166页5.1.1 确定的下推自动机确定的下推自动机 例例5-1 语言语言 L=w|w(a,b)*,且,且a、b个数相等个数相等 暂时不考虑状态暂时不考虑状态 (或或PDA仅有一个状态仅有一个状态)第10页,本讲稿共166页初始初始栈为空栈为空从左到右逐个扫描串从
4、左到右逐个扫描串w(a,b)*第11页,本讲稿共166页入栈若栈为若栈为空空,当前符号是当前符号是a,则则A入栈入栈若栈为若栈为空空,当前符号是当前符号是b,则则B入栈入栈若栈顶为若栈顶为A,当前符号是当前符号是a,则则A入栈入栈若栈顶为若栈顶为B,当前符号是当前符号是b,则则B入栈入栈第12页,本讲稿共166页出栈若栈顶为若栈顶为A,当前符号是当前符号是b,则,则A出栈出栈若栈顶为若栈顶为B,当前符号是当前符号是a,则,则B出栈出栈第13页,本讲稿共166页若串若串w有相同个数的有相同个数的a和和b 当且仅当当且仅当 w扫描结束后,扫描结束后,栈为空栈为空。第14页,本讲稿共166页注意注意
5、PDA在在两种情况下停机两种情况下停机:串扫描结束串扫描结束 没有对应的规则没有对应的规则第15页,本讲稿共166页串扫描结束栈如果为空栈如果为空 就接收扫描过的串。就接收扫描过的串。第16页,本讲稿共166页对于非正式的对于非正式的算法算法,用用形式化形式化的方式进行描述:的方式进行描述:第17页,本讲稿共166页特殊的符号特殊的符号Z0表示栈底表示栈底 初始化时先压入栈初始化时先压入栈第18页,本讲稿共166页规则规则(指令指令)若若x是是w的当前符号的当前符号 D是栈顶符号是栈顶符号则用符号串则用符号串V代替代替D即将即将D弹出栈,而将串弹出栈,而将串V压入栈压入栈第19页,本讲稿共16
6、6页具体若若x是是w的的当当前前符符号号,栈栈顶顶符符号号为为D 将将D弹出栈弹出栈 将将A压入栈,成为新的栈顶压入栈,成为新的栈顶第20页,本讲稿共166页一般地一般地若若x是是w的的当当前前符符号号,栈栈顶顶符符号号为为D 表示:表示:将将D弹出栈弹出栈 将串将串A1A2 Ak压入栈压入栈(A1为新栈顶为新栈顶)第21页,本讲稿共166页例例5-1 算法的算法的形式化描述形式化描述第22页,本讲稿共166页规则规则 表示将表示将w扫描结束后,扫描结束后,将栈置成空将栈置成空也表示该也表示该PDA可以接收可以接收空串空串第23页,本讲稿共166页思考:如何接收语言如何接收语言 L=w|w(a
7、,b)+,且且a和和b个数相等个数相等?第24页,本讲稿共166页例:语言L=anbn|n0定义:定义:第25页,本讲稿共166页则还可以接收语言则还可以接收语言 (ab)n|n0,或,或 ambm(ab)n|m0,n0 等语言。等语言。第26页,本讲稿共166页思考:如何接收语言 L=anbn|n0 L=anbn|n0 L=(ab)n|n0 L=(ab)n|n0第27页,本讲稿共166页例5-2 L=wcwT|w(a,b)*识别语言识别语言第28页,本讲稿共166页思想:将将w的各个字符压入栈后的各个字符压入栈后 栈中的内容从栈中的内容从栈顶到栈底栈顶到栈底的顺序的顺序 刚好是刚好是wT的顺
8、序的顺序第29页,本讲稿共166页为了为了区别区别压栈和出栈动作压栈和出栈动作 增加两个增加两个状态状态-read 和和match PDA处于处于read状态时,状态时,处理整个串的前半部分,将对应的处理整个串的前半部分,将对应的符号压符号压入栈入栈第30页,本讲稿共166页扫描到字母扫描到字母c时时 PDA的状态转为的状态转为match开始处理整个串的后半部分,将栈开始处理整个串的后半部分,将栈中的内容中的内容出栈出栈。第31页,本讲稿共166页规则规则 若若PDA处于状态处于状态q w的当前字母是的当前字母是x 当前栈顶符号为当前栈顶符号为D则自动机的状态改变为则自动机的状态改变为q并用符
9、号串并用符号串V代替代替D第32页,本讲稿共166页(在本例中)用(在本例中)用Z代表任意的栈顶符号代表任意的栈顶符号 规则规则read,a,Z,read,AZ可以表示以下可以表示以下3条规则:条规则:read,a,Z0,read,AZ0read,a,A,read,AAread,a,B,read,AB第33页,本讲稿共166页用下列的规则来描述用下列的规则来描述PDAread,a,Z,read,AZread,b,Z,read,BZread,c,Z,match,Zmatch,a,A,match,match,b,B,match,match,Z0,match,第34页,本讲稿共166页若串若串w是该
10、语言的合法的串是该语言的合法的串 当且仅当当且仅当 w扫描结束后,扫描结束后,栈为空栈为空。第35页,本讲稿共166页Z0符号栈符号栈串串abbcbba的处理过程的处理过程ABreadmatch=B第36页,本讲稿共166页扫描到扫描到字母字母c 栈栈内内的的内内容容(从从栈栈顶顶到到栈栈底底)是是扫扫描描过的串的逆过的串的逆 与未扫描过的串的顺序相同与未扫描过的串的顺序相同此时,不作出栈和入栈操作,此时,不作出栈和入栈操作,仅仅把仅仅把PDA的的状态从状态从read改变到改变到match。第37页,本讲稿共166页接收语言接收语言L=anbn|n0q0,a,Z0,q0,AZ0q0,a,A,q
11、0,AAq0,b,A,q1,q1,b,A,q1,q1,Z0,q1,第38页,本讲稿共166页5.1.2 不确定的下推自动机不确定的下推自动机例例5-3 语言语言L=wwT|w(a,b)*第39页,本讲稿共166页 没有中心点字符没有中心点字符 在在扫扫描描过过程程中中,就就没没有有确确定定的的位位置置进进行状态的变换行状态的变换 具有具有不确定不确定性。性。第40页,本讲稿共166页使用规则使用规则read,Z,match,Z 来代替来代替read,c,Z,match,Z即即在在read状状态态时时,可可随随时时改改变变为为match状状态态(栈的内容和扫描符号不变)(栈的内容和扫描符号不变)
12、第41页,本讲稿共166页read,a,Z,read,AZread,b,Z,read,BZread,Z,match,Zmatch,a,A,match,match,b,B,match,match,Z0,match,第42页,本讲稿共166页该该PDA是是不确定不确定的的 处于状态处于状态read状态时状态时 随时随时都可以进行选择都可以进行选择:继续扫描,或状态变换为继续扫描,或状态变换为match第43页,本讲稿共166页一个串一个串w能够由能够由PDA所识别:所识别:仅当串是仅当串是wwT的形式的形式且且PDA状态在状态在中心点中心点进行了变换进行了变换第44页,本讲稿共166页对于不确定的
13、对于不确定的PDA和串和串w 若存在至少一个可能的扫描过程若存在至少一个可能的扫描过程 使得当串使得当串w扫描结束时,栈为空扫描结束时,栈为空 则称串则称串w能够被能够被PDA所所识别识别。第45页,本讲稿共166页接收语言接收语言L=(ab)n|n0q1,a,Z0,q2,AZ0q2,b,A,q1,q1,Z0,q1,第46页,本讲稿共166页接收语言接收语言L=(ab)n|n0q0,a,Z0,q0,AZ0q0,b,A,q1,q1,a,Z0,q2,AZ0q2,b,A,q1,q1,Z0,q1,第47页,本讲稿共166页定义5-1下推自动机下推自动机PDA是一个七元式:是一个七元式:M=(Q,q0,
14、Z0,F)Q是一个有限状态的集合是一个有限状态的集合 是输入串的字母集合是输入串的字母集合 是栈内符号集合是栈内符号集合第48页,本讲稿共166页q0Q是开始状态是开始状态Z0是栈底符号是栈底符号F Q是接收状态集合是接收状态集合第49页,本讲稿共166页:Q()Q*对于确定的对于确定的PDA,有,有 (q,x,D)=(q,V)对于不确定的对于不确定的PDA,有,有 (q,V)(q,x,D)第50页,本讲稿共166页一般一般使用使用 表示表示函数函数第51页,本讲稿共166页定义定义5-2 PDA格局格局(或瞬间描述或瞬间描述ID)格局代表某个时刻格局代表某个时刻PDA的情况的情况 PDA的格
15、局是一个三元式的格局是一个三元式 (q,w,)其中,其中,q为状态为状态第52页,本讲稿共166页w=x1x2xn 还没有被扫描到的串还没有被扫描到的串(将扫描将扫描x1)=Z1Z2Zm 栈的内容栈的内容(Z1在栈顶在栈顶,Zm在栈底在栈底)第53页,本讲稿共166页PDA初始格局为初始格局为 (q0,w,Z0)接收格局为接收格局为 (q,)其中其中:qQ(与接收状态无关)(与接收状态无关)第54页,本讲稿共166页格局的转换是格局的转换是 由于状态转换函数的作用引起的由于状态转换函数的作用引起的第55页,本讲稿共166页确定的确定的PDA 引起的格局转换为:引起的格局转换为:(q,xw,A)
16、=(q1,w,A1A2 Ak)第56页,本讲稿共166页不确定的不确定的PDA (情况(情况1)则则(q,xw,A)=(q1,w,A1A2 Ak)则则(q,xw,A)=(q2,xw,B1B 2Bj)第57页,本讲稿共166页不确定的不确定的PDA (情况(情况2)则则(q,xw,A)=(q1,w,A1A2 Ak)则则(q,xw,A)=(q2,w,B1B 2Bj)第58页,本讲稿共166页用用=*代表格局的任意次变换代表格局的任意次变换第59页,本讲稿共166页 不不确确定定PDA对对于于某某一一格格局局可可能能会会有不同的下一格局。有不同的下一格局。第60页,本讲稿共166页5.1.3 PDA
17、接收语言的两种方式接收语言的两种方式定定义义5-3 PAD以以空空栈栈方方式式接接收收的的语语言言为为L(M),且),且 L(M)=w|(q0,w,Z0)=*(q,)qQ第61页,本讲稿共166页接收格局与接收状态无关接收格局与接收状态无关 只要当只要当串串w扫描结束扫描结束,而,而栈为空栈为空则串则串w被被PDA以以空栈方式空栈方式所接收。所接收。第62页,本讲稿共166页定义5-4PAD以以终终态态方方式式接接收收的的语语言言为为F(M),且且 F(M)=w|(q0,w,Z0)=*(q,)qF,*第63页,本讲稿共166页接收格局与栈是否为空无关接收格局与栈是否为空无关只只要要当当串串w扫
18、扫描描结结束束,而而PDA处处于于某某个个接收状态接收状态则串则串w被被PDA以终态方式以终态方式所接收。所接收。第64页,本讲稿共166页定理5-1语言语言L被被PDA以终态方式以终态方式所接收所接收 当且仅当当且仅当 它被它被PDA以以空栈方式空栈方式所接收。所接收。即终态接收与空栈接收方式等价。即终态接收与空栈接收方式等价。第65页,本讲稿共166页证明:证明:l略略第66页,本讲稿共166页5.1.4广义广义PDA和单态和单态PDA定义定义5-5 广义的广义的PDA是七元式是七元式 PDA=(Q,,q0,Z0,F)(除了(除了外,其余同一般的外,其余同一般的PDA)其中其中第67页,本
19、讲稿共166页Q是一个有限状态的集合是一个有限状态的集合是输入串的字母集合是输入串的字母集合是栈内符号集合是栈内符号集合q0Q是开始状态是开始状态Z0是初始的栈底符号是初始的栈底符号F Q是接收状态是接收状态(终止状态终止状态)集合集合第68页,本讲稿共166页:Q()+Q*(q,x,B1 B2 Bk)=(q,C1 C2 Cn)一般形式为一般形式为 第69页,本讲稿共166页一般的一般的PDA,栈顶只是一个符号,栈顶只是一个符号广义广义PDA的的栈顶栈顶可以为可以为多个符号多个符号。第70页,本讲稿共166页定理5-4若语言若语言L能由广义能由广义PDA所接收所接收 则则L能够由一般的能够由一
20、般的PDA所接收。所接收。第71页,本讲稿共166页证明思路 广义的广义的PDAPDA的一条规则的一条规则一般一般PDAPDA的多条规则的组合的多条规则的组合就是就是第72页,本讲稿共166页证明:l对于广义的对于广义的PDA的任意一条规则的任意一条规则 增加状态增加状态r1,r2,rk-1,第73页,本讲稿共166页改造为:改造为:第74页,本讲稿共166页l得到一般的得到一般的PDA 且且L=L(PDA)。第75页,本讲稿共166页定义定义5-6单态单态PDA l仅有一个状态的仅有一个状态的PDA 规则简化为规则简化为 第76页,本讲稿共166页(等价性等价性)问题问题l一个一个NFA是否
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 有限 自动机 理论 下推自动机 精品 文稿
限制150内