- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章:词法分析 NFA与自动机的最小化 内容介绍 非确定有限自动机(NFA)的定义 NFA到DFA的转换 自动机的最小化 自动机的化简 1.1 非确定有限自动机的定义 非确定有限自动机NFA为一个五元组(?,S,S0,f,Z),其中: ?是一个有穷字母表,它的每个元素称为一个输入字符; S是状态的集合,它的每个元素称为一个状态; S0? S,是非确定有限自动机的初始状态集; f是一个从S×(?∪{?})到S 的子集的映射,即 S×(?∪{?})→2s Z?S,是一个终止状态集,又称为接受状态集 1.2 DFA和NFA的区别 总结来看有3点区别 一个状态的不同输出边可以标有相同符号 允许有多个开始状态 允许有空边 1.3 NFA的一些问题 NFA所能接受的串与DFA的定义是相同的 实现起来很困难 2.1 自动机等价 定义:设A1和A2是同一个字母表上的自动机,如果有L(A1)=L(A2),则称A1和A2等价。 定理:对于每一个非确定自动机A,存在一个确定自动机A’,使得L(A)=L(A’). 2.2 NFA到DFA的转换 状态集I的ε闭包:设I是NFA M状态集的子集,定义I的ε闭包ε_CLOSURE(I)为: 若q ∈I ,则q ∈ε_CLOSURE(I). 若q ∈I,那么从q出发经任意条ε弧而能到达的任何状态q’都属于 ε_CLOSURE(I). 2.2 NFA到DFA的转换 例: ?_CLOSURE({1})={1,2} ?_CLOSURE({1,5})={1,5,2,6} 2.2 NFA到DFA的转换 状态集I的a转换:若I={S1, … , Sm }是NFA的状态集的一个子集,a∈?, 则定义: Ia = ε_CLOSURE(J ) 其中: J = f (S1,a) ? f (S2,a)…? f(Sm,a) 2.2 NFA到DFA的转换 例: {1,2}a =?_CLOSURE(J ) J=f(1,a) ? f(2,a)={4,5} {1,2}a =?_CLOSURE({4,5} )={4,5,7,6,2} 2.2 NFA到DFA的转换 NFA A到DFA A的转换过程(确定化): 1.令I0= ?_CLOSURE(S0 )作为DFA的初始状态,其中S0 为NFA初始状态集. 2.若DFA中的每个状态都经过本步骤处理过.则转步骤3;否则任选一个未经本步骤处理的DFA状态Si,对每一个a??,进行下述处理: ①计算 Sj = Sia ② 若Sj≠Φ ,则令f(Si,a)= Sj , 若Sj不为当前DFA的状态,则将其作为DFA的一个状态. 转步骤2. 3.若S =[S1,…,Sn]是A的一个状态,且存在一个Si是A的终止状态,则令S为A的终止状态. 2.2 NFA到DFA的转换 2.2 NFA到DFA的转换 2.2 NFA到DFA的转换 转化后的结果 {1,2}对应1 {2,4,5,6,7}对应2 {3,8}对应3 {3,8,9}对应4 {9}对应5 2.2 NFA到DFA的转换 例:将如下的NFA转化为DFA 2.2 NFA到DFA的转换 另外一种消除空边的转换方式 删去空边,增加0到2的边 ε环路的时候,就把这几个状态合成一个 2.3 自动机的最小化 定义: 等价状态 设DFA M 的两个状态S1和S2 , 如果对任意输入的符号串x,从S1和S2出发,总是都到达接受状态或拒绝状态中,则称S1和S2是等价的。 2.3 自动机的最小化 定义:无关状态 设S是DFA M的一个状态,若: 从开始状态无到S的通路,或 S到任意终止状态无通路 则称S为M的无关状态 2.3自动机的最小化 定义:最小(最简)自动机 如果DFA M 没有无关状态,也没有等价状态,则称M 为最小自动机 结论:任一DFA都可以化为最简自动机,即任一DFA M都存在DFA M,使得 L(M)=L(M),且M是最简自动机 2.4自动机的化简 状态分离法 状态分离法的目标: SS = SS1∪SS2∪……∪SSn 其中: SSi∩ SSj=Φ (i ≠ j时),并且每个SSi中的所有状态均等价. 状态集SSi对a(a∈Σ)是不可区分的:若SSi中元素对输入符a都转到相同的状态集中. 状态集SSi对a(a∈Σ)是可区分的: 若SSi中元素对输入符a转到不同的状态集中. 状态集SSi对a(a∈Σ)进行划分:若S
您可能关注的文档
最近下载
- 教育社会学-复习题与答案社会学.docx
- PKPM使用手册(重大版).pdf VIP
- 《螺栓螺母紧固原理》课件 .ppt VIP
- 大学-思想道德与法治-期末复习总结-2021年版高等教育出版社.pdf VIP
- DLT935-2020 钢塑复合管和管件.pdf VIP
- 医管家 -2022中国医院后勤服务行业发展报告.pdf VIP
- CJT 178—2013 建筑排水柔性接口承插式铸铁管及管件.docx VIP
- (高清版)C-J∕T 177-2002 建筑排水用卡箍式铸铁管及管件.pdf VIP
- 新生儿胎粪性肠梗阻诊治体会.pptx
- 遂宁职业学院《机械控制工程基础》2023-2024学年第二学期期末试卷.doc VIP
原创力文档


文档评论(0)