形式语言与自动机ch39b-310课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《形式语言与自动机ch39b-310课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 形式语言 自动机 ch39b 310 课件
- 资源描述:
-
1、12022-11-26College of Computer Science&Technology,BUPT3.9(part 2)右线性语言的封闭性右线性语言的封闭性 3.10 双向和有输出的有限自动机双向和有输出的有限自动机 22022-11-26College of Computer Science&Technology,BUPT右线性语言的封闭性右线性语言的封闭性 上节从文法产生的角度证明了右线性语言及其并,积,闭上节从文法产生的角度证明了右线性语言及其并,积,闭包是正则集;本节用有限自动机接受的语言来证明。包是正则集;本节用有限自动机接受的语言来证明。(书书P103)1.1.设设和和是
2、右线性语言,证明是右线性语言,证明为右线性语言为右线性语言 构造NFA M(Q,T,q0,F)QQ1Qq0 q0是新的起始状态当,q 否则 F=M形如形如:32022-11-26College of Computer Science&Technology,BUPT右线性语言的封闭性右线性语言的封闭性 2.设设和和是右线性语言,证明是右线性语言,证明为右线性语言为右线性语言(书书P104)构造NFA M(Q,T,q0,F),其中Q=QQ q0=q1 当q2F2 当q2F2 F=M形如形如:42022-11-26College of Computer Science&Technology,BUPT
3、右线性语言的封闭性右线性语言的封闭性 3.设设是右线性语言,证明是右线性语言,证明L*是右线性语言是右线性语言(书书P106)构造构造NFA M(Q,T,q0,F),Q=Q1q q是新的起始状态是新的起始状态,F=1qL*形如形如 52022-11-26College of Computer Science&Technology,BUPT右线性语言的封闭性右线性语言的封闭性 4.设设是右线性语言,证明是右线性语言,证明 L 是右线性语言是右线性语言证明:证明:构造接受构造接受1的的M(Q,T,q0,F)其中其中Q=Q1 是一个新状态是一个新状态 T T1 q0=q1 (Q11)(即将即将1的终
4、止状态变为的终止状态变为M的非终止状态的非终止状态)定义为定义为:当当aT1,则则(q,a)=1(q,a)保留原有函数保留原有函数 当当aT1 且且1(q,a)=,则则(q,a)=当当aTT1,则则(q,a)=遇到原来没有的字符全转至遇到原来没有的字符全转至.对任意对任意aT,(,a)62022-11-26College of Computer Science&Technology,BUPT右线性语言的封闭性右线性语言的封闭性 例例:(:(书书P108)P108)对下图的对下图的1,求求(1 1)72022-11-26College of Computer Science&Technology
5、,BUPT右线性语言的封闭性右线性语言的封闭性 例例:设设DFA1(q,q,,q,q,q)对,对,,求求(1)82022-11-26College of Computer Science&Technology,BUPT右线性语言的封闭性右线性语言的封闭性 5.证明证明1是封闭的是封闭的 证明:证明:11 得证得证6.证明右线性语言对于置换是封闭的证明右线性语言对于置换是封闭的.(略略-自学自学)92022-11-26College of Computer Science&Technology,BUPT有关正则语言的几个判定性质n 判定正判定正则则语言是否为空语言是否为空n 判定正判定正则则语言
6、中是否包含特定的字符串语言中是否包含特定的字符串n 判定两个正判定两个正则则语言是否相等语言是否相等102022-11-26College of Computer Science&Technology,BUPT 判定正判定正则则语言是否为空语言是否为空 可由如下步骤递归地计算可达状态集合:可由如下步骤递归地计算可达状态集合:n 判定算法判定算法 测试从测试从 初态是否可达某一终态初态是否可达某一终态.先求所有可先求所有可 达状态的集合,若其中包含终态,则该正规语言非空,达状态的集合,若其中包含终态,则该正规语言非空,否则为空语言。否则为空语言。n 算法复杂度算法复杂度 设有限自动机的状态数目为
7、设有限自动机的状态数目为 n,上述判定上述判定 算法的复杂度为算法的复杂度为 O(n2).基础基础:初态是可达的:初态是可达的:归纳归纳:设状态:设状态 q 是可达的,若对于某个输入符号或是可达的,若对于某个输入符号或 ,q 可转移到可转移到 p,则则 p 也是可达的:也是可达的:112022-11-26College of Computer Science&Technology,BUPT 判定正判定正则则语言中是否包含特定的字符串语言中是否包含特定的字符串n 判定算法判定算法 从初态开始,处理输入字符串从初态开始,处理输入字符串 w,如果可如果可 以结束于某一终态,则该正规语言中包含以结束于
8、某一终态,则该正规语言中包含 w,否则不否则不 包含包含 w。n 算法复杂度算法复杂度 设输入字符串设输入字符串w 的长度的长度|w|=n,上述判定上述判定 算法的复杂度为算法的复杂度为 O(n).n 以以 DFA 表示正规语言表示正规语言n 以正规表达式表示正规语言以正规表达式表示正规语言将其转化为等价将其转化为等价的的 NFA,然后执行上述过程然后执行上述过程.n 以以 NFA(或或NFA)表示正规语言表示正规语言 可以将其转化为可以将其转化为等价的等价的 DFA,然后执行上述过程;也可以直接模拟其处然后执行上述过程;也可以直接模拟其处理字符串的过程,判定算法的复杂度为理字符串的过程,判定
9、算法的复杂度为 O(n2s),其中其中n为为字符串的长度,字符串的长度,s为为NFA(或或NFA)的状态数目的状态数目.122022-11-26College of Computer Science&Technology,BUPT 判定两个正判定两个正则则语言是否相等语言是否相等n 判定算法判定算法 可由采取如下步骤:可由采取如下步骤:n 算法复杂度算法复杂度 以上算法的复杂度即填表算法的以上算法的复杂度即填表算法的 复杂度,其上限为复杂度,其上限为O(n4);可以适当设计填表可以适当设计填表 算法的数据结构,使其复杂度降为算法的数据结构,使其复杂度降为 O(n2).1.先将两个正规语言的表达
10、形式都转化为先将两个正规语言的表达形式都转化为 DFA,问题问题 转化为两个转化为两个DFA是否是等价的;是否是等价的;2.适当重命名,使两个适当重命名,使两个DFA没有重名的状态;没有重名的状态;3.将两个将两个DFA相并,相并,构造一个新的构造一个新的DFA,原来的终态原来的终态仍是终态,转移边不发生任何变化,取任何一个状态仍是终态,转移边不发生任何变化,取任何一个状态为初态;为初态;4.对新构造的对新构造的DFA运用填表算法,如果原来运用填表算法,如果原来DFA的两个的两个初态不可区别,则这两个正规语言相等,否则不相等初态不可区别,则这两个正规语言相等,否则不相等.132022-11-2
展开阅读全文