版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、12022-1-6College of Computer Science & Technology, BUPT3.9 (part 2) 右线性语言的封闭性右线性语言的封闭性 3.10 双向和有输出的有限自动机双向和有输出的有限自动机 22022-1-6College of Computer Science & Technology, BUPT右线性语言的封闭性右线性语言的封闭性 上节从文法产生的角度证明了右线性语言及其并,积,闭上节从文法产生的角度证明了右线性语言及其并,积,闭包是正则集;本节用有限自动机接受的语言来证明。包是正则集;本节用有限自动机接受的语言来证明。(书书P1
2、03)1.1.设设和和是右线性语言,证明是右线性语言,证明为右线性语言为右线性语言 构造NFA M(Q ,T ,q0,F)QQ1Qq0 q0是新的起始状态当,q 否则 F =M形如形如: 32022-1-6College of Computer Science & Technology, BUPT右线性语言的封闭性右线性语言的封闭性 设设和和是右线性语言,证明是右线性语言,证明为右线性语言为右线性语言(书书P104) 构造NFA M(Q ,T , q0, F), 其中Q=QQ q0 =q1 当q2F2 当q2F2 F =M形如形如: 42022-1-6College of Comput
3、er Science & Technology, BUPT右线性语言的封闭性右线性语言的封闭性 设设是右线性语言,证明是右线性语言,证明L*是右线性语言是右线性语言(书书P106) 构造构造NFA M(Q ,T ,q0,F), Q = Q1q q是新的起始状态是新的起始状态, F=1qL* 形如形如 52022-1-6College of Computer Science & Technology, BUPT右线性语言的封闭性右线性语言的封闭性 设设是右线性语言,证明是右线性语言,证明 L 是右线性语言是右线性语言证明:证明:构造接受构造接受1的的M(Q ,T , q0, F)
4、其中其中Q = Q1 是一个新状态是一个新状态 T T1 q0 =q1 (Q11) (即将即将1的终止状态变为的终止状态变为M的非终止状态的非终止状态)定义为定义为: 当当aT1 ,则则(q,a)= 1(q,a) 保留原有函数保留原有函数 当当aT1 且且1(q,a)= ,则则(q,a)= 当当aTT1,则则(q,a)= 遇到原来没有的字符全转至遇到原来没有的字符全转至.对任意对任意aT, (,a) 62022-1-6College of Computer Science & Technology, BUPT右线性语言的封闭性右线性语言的封闭性 例例: (: (书书P108)P108)
5、 对下图的对下图的1 , ,求求( (1 1) ) 72022-1-6College of Computer Science & Technology, BUPT右线性语言的封闭性右线性语言的封闭性 例例: 设设DFA1(q,q,,q,q,q) 对,对,, 求求(1) 82022-1-6College of Computer Science & Technology, BUPT右线性语言的封闭性右线性语言的封闭性 证明证明1是封闭的是封闭的 证明:证明:11 得证得证6. 证明右线性语言对于置换是封闭的证明右线性语言对于置换是封闭的. (略略 - 自学自学) 92022-1-6
6、College of Computer Science & Technology, BUPT有关正则语言的几个判定性质 判定正判定正则则语言是否为空语言是否为空 判定正判定正则则语言中是否包含特定的字符串语言中是否包含特定的字符串 判定两个正判定两个正则则语言是否相等语言是否相等102022-1-6College of Computer Science & Technology, BUPT 判定正判定正则则语言是否为空语言是否为空 可由如下步骤递归地计算可达状态集合:可由如下步骤递归地计算可达状态集合:- 判定算法判定算法 测试从测试从 初态是否可达某一终态初态是否可达某一终态
7、. 先求所有可先求所有可 达状态的集合,若其中包含终态,则该正规语言非空,达状态的集合,若其中包含终态,则该正规语言非空, 否则为空语言。否则为空语言。- 算法复杂度算法复杂度 设有限自动机的状态数目为设有限自动机的状态数目为 n,上述判定上述判定 算法的复杂度为算法的复杂度为 O(n2). 基础基础:初态是可达的:初态是可达的: 归纳归纳:设状态:设状态 q 是可达的,若对于某个输入符号或是可达的,若对于某个输入符号或 , q 可转移到可转移到 p ,则则 p 也是可达的:也是可达的:112022-1-6College of Computer Science & Technology
8、, BUPT 判定正判定正则则语言中是否包含特定的字符串语言中是否包含特定的字符串- 判定算法判定算法 从初态开始,处理输入字符串从初态开始,处理输入字符串 w ,如果可如果可 以结束于某一终态,则该正规语言中包含以结束于某一终态,则该正规语言中包含 w,否则不否则不 包含包含 w 。- 算法复杂度算法复杂度 设输入字符串设输入字符串w 的长度的长度 |w|=n,上述判定上述判定 算法的复杂度为算法的复杂度为 O(n). 以以 DFA 表示正规语言表示正规语言 以正规表达式表示正规语言以正规表达式表示正规语言将其转化为等价将其转化为等价的的 -NFA ,然后执行上述过程然后执行上述过程. 以以
9、 NFA (或或-NFA )表示正规语言表示正规语言 可以将其转化为可以将其转化为等价的等价的 DFA,然后执行上述过程;也可以直接模拟其处然后执行上述过程;也可以直接模拟其处理字符串的过程,判定算法的复杂度为理字符串的过程,判定算法的复杂度为 O(n2s), 其中其中n为为字符串的长度,字符串的长度,s为为NFA (或或-NFA )的状态数目的状态数目.122022-1-6College of Computer Science & Technology, BUPT 判定两个正判定两个正则则语言是否相等语言是否相等 判定算法判定算法 可由采取如下步骤:可由采取如下步骤: 算法复杂度算法
10、复杂度 以上算法的复杂度即填表算法的以上算法的复杂度即填表算法的 复杂度,其上限为复杂度,其上限为O(n4) ;可以适当设计填表可以适当设计填表 算法的数据结构,使其复杂度降为算法的数据结构,使其复杂度降为 O(n2) .1. 先将两个正规语言的表达形式都转化为先将两个正规语言的表达形式都转化为 DFA ,问题问题 转化为两个转化为两个DFA是否是等价的;是否是等价的;2. 适当重命名,使两个适当重命名,使两个DFA没有重名的状态;没有重名的状态;3. 将两个将两个DFA相并,相并, 构造一个新的构造一个新的DFA ,原来的终态原来的终态仍是终态,转移边不发生任何变化,取任何一个状态仍是终态,
11、转移边不发生任何变化,取任何一个状态为初态;为初态;4. 对新构造的对新构造的DFA运用填表算法,如果原来运用填表算法,如果原来DFA的两个的两个初态不可区别,则这两个正规语言相等,否则不相等初态不可区别,则这两个正规语言相等,否则不相等.132022-1-6College of Computer Science & Technology, BUPT双向有限自动机双向有限自动机 (2DFA)定义定义:n读入一个字符之后,读头既可以左移一格,也可以右移一格,或者不移动的有限自动机, 为双向有限自动机.n确定的双向有限自动机: 每读入一字符,必须向左或右移动,不考虑不移动的情况. 1420
12、22-1-6College of Computer Science & Technology, BUPT2DFA的形式定义2DFA M(Q ,T , q0, F) 是从是从QTQL,R的映射的映射.即即 (q,a)=(p,R) 或或 (q,a)=(p,L) (在状态在状态q, 读入读入a, 进入状态进入状态p,读头向右读头向右(向左向左)移一格)移一格) 用格局描述用格局描述: 设有设有1q2 1 - 已输入串已输入串q - 当前状态当前状态 2 - 待输入串待输入串(q,am+1)=(p,R)的格局表示的格局表示:a1 a2am q am+1an a1 a2am+1 p am+2an
13、(q,am+1)=(p,L)的格局表示的格局表示:a1 a2am q am+1an a1 a2am-1 p am am+1an 152022-1-6College of Computer Science & Technology, BUPT2DFA2DFA接受的字符串集合是接受的字符串集合是: L(M)=| q*q,q F例例: 书书P113 例例1. 其状态图为其状态图为b,R162022-1-6College of Computer Science & Technology, BUPT有输出的有限自动机有输出的有限自动机 有输出的有限自动机是有限自动机的一个类型有输出的有限
14、自动机是有限自动机的一个类型.这类自动机在有字符输入时,不仅存在状态转换,这类自动机在有字符输入时,不仅存在状态转换,同时引起字符输出同时引起字符输出. 根据输入字符,自动机状态,输出字符三者之根据输入字符,自动机状态,输出字符三者之间关系,可有两类有输出的自动机间关系,可有两类有输出的自动机:n 米兰机米兰机(Mealy): 输出字符与输入字符及状态有关输出字符与输入字符及状态有关.n 摩尔机摩尔机(Moore): 输出字符仅与状态有关输出字符仅与状态有关.最大优点最大优点: : 节省状态节省状态! ! 172022-1-6College of Computer Science &
15、Technology, BUPT米兰机米兰机米兰机米兰机形式定义形式定义: M(Q ,T ,R, g , q0)其中其中 Q 有限状态集合有限状态集合 T 有限输入字母表有限输入字母表 R 有限输出字母表有限输出字母表 : QTQ 转换函数转换函数 g : QTR 输出函数输出函数 q0: 初始状态初始状态 q0 Q和和g函数共同描述了米兰机的工作状况函数共同描述了米兰机的工作状况. 182022-1-6College of Computer Science & Technology, BUPT米兰机米兰机米兰机米兰机图形表示图形表示: (p(p,a)=qa)=q g(pg(p,a)=
16、ba)=b Pqa/b例例: (P115 例2) 设计米兰机,其输出是输入字符个数的模3数解解: 输出字母表R=0,1,2. 设输入字母表T=a, M的状态数应有3个,记录已输入字符个数的模3数.Q=q0,q1,q2 分别表示输入字符数模3 = 0, 1, 2192022-1-6College of Computer Science & Technology, BUPT米兰机米兰机例例: (P115 例3)设计米兰机, 其输入0,1*, 当输入串有奇数个1时,输出1. 当输入串有偶数个1时,输出0. 解解: 需二个状态q0,q1 q0 表示输入串有偶数个1, q1 表示输入串有奇数个1
17、202022-1-6College of Computer Science & Technology, BUPT课堂练习课堂练习 设语言L由0,1组成,且字符串的最后两个字符相同. 构造米兰机M ,输出Y/N表示输入串是否属于L.解解: 设状态集Q为 初始状态q0 状态p0 表示输入串最后字符为0 状态p1 表示输入串最后字符为1212022-1-6College of Computer Science & Technology, BUPT课堂练习课堂练习练习练习: (书书P122 19题题) 设计米兰机,输入是0,1组成的串,要求输出串对输入串延迟两个时间单位. 解: M(Q
18、 ,T ,R, g , q0), T=0,1 R=0,1 分析分析:可能的状态-即一个输入在输出前可能处于的状态 Q: 00 q00 01 q01 10 q10 11 q11 Q= q00, q01, q10, q11222022-1-6College of Computer Science & Technology, BUPT课堂练习课堂练习初始情况初始情况: 刚开始工作时输入前两个字符,输出为 232022-1-6College of Computer Science & Technology, BUPT摩尔机摩尔机 摩尔机的输出只与到达的状态有关摩尔机的输出只与到达的状态
19、有关 形式定义形式定义: M(Q ,T ,R, g , q0) g : Q R: Q T Q 图形表示图形表示: (q(q,a)= pa)= p g (p)= bg (p)= b2 2 q,b1p,b2a242022-1-6College of Computer Science & Technology, BUPT摩尔机摩尔机例例: (书P117 例4)设计自动机,其输入串0,1*,输出是(n1- n0) mod 4,n0是中含0的个数,n1是中含1的个数。四个状态 q0, q1, q2, q3 分别输出0,1,2,3 解解: 需四个状态, 取输出字母表 R=0,1,2,3. 252022-1-6College of Computer Science & Technology, BU
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 道闸及车牌识别系统专项施工方案
- 学校物业考勤制度
- 小型中餐馆考勤制度
- 公司突然签考勤制度
- 单休周末加班考勤制度
- 内部员工考勤制度
- 外卖员考勤制度规定
- 新媒体公司主编的年度内容创作规划
- 2026年高中数学专项题哪里找答案
- php课程设计作品
- 新媒体文案写作教程(第二版)课件 项目四 微信公众号文案写作 课件
- 2025年中烟机械考试真题及答案
- 建筑工地食物中毒应急处置方案
- 2.1地形导学案-八年级地理上学期人教版
- 冷板液冷标准化及技术优化白皮书
- 结晶重结晶技术培训
- 城市空中交通管理基础设施保障功能能力标准
- 2025年中国内地和香港特别行政区年度建造成本手册
- 企业公司情报管理制度
- 鹦鹉热治疗讲课件
- 台球室治安管理制度
评论
0/150
提交评论