08-Complementary Ch02-Finite Automaton 2幻灯片.pptVIP

08-Complementary Ch02-Finite Automaton 2幻灯片.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
08-Complementary Ch02-Finite Automaton 2幻灯片

College of Computer Copyright ? SE Dept GPC Complementary Ch02 Finite Automaton 从NDFA到DFA —— 子集法 定理:有给定的 NDFA A(Q, ?,t ,Q0,F )可构造一个等价的DFA A’(Q’,?,t’,qo,F’)如下: Q’ = 2Q t’为中一个状态到另一个状态的定值映射。 q0’ = [Q0] F’是Q’中所有包含F的一个终结状态的那些状态的集合。 从NDFA到DFA —— 子集法 NDFA=(Q,?,t,Q0,F) 其中,Q={ q0,q1,q2,q3 }, ∑={x,y} , Q0={q0} , F={q1}, t(q0,x)={q1,q2}, t(q0,y)={q0}, t(q1,x)={q0}, t(q1,y)={q1,q2}, t(q2,x)={q3}, t(q2,y)={q3}, t(q3,x)={q1,q3}, t(q3,y)={q3} 从NDFA到DFA —— 子集法 子集法中,由于Q的子集的个数为2|Q|-1,所以子集法得到的状态非常多。其中不少状态是不可达状态 不可达状态定义:FA中,从开始状态没有一条路径能达到的状态。 不可达状态对于生成自动机的语言毫无意义,应当消除。 利用造表法不会得出不可达状态。 从NDFA到DFA —— 造表法 设∑={x,y},则造表法步骤如下: 1、造一张表,包含三列,第一列为状态子集I,余下的两列为输入x、y后到达的状态子集,记为Ix,Iy。 2、置首行首列为[Q0],作为DFA的开始状态。 3、若某行首列对应子集已确定,则计算该子集输入x后对应的状态子集Ix ,以及输入y后对应的子集Iy ;新出现状态子集加入下行首列。(注意计算Ix,Iy 的方法) 4、重复3,直至状态子集收敛。 从NDFA到DFA—造表法 设∑={x,y},则造表法步骤如下: 1、造一张表,包含三列,第一列为状态子集I,余下的两列为输入x、y后到达的状态子集,记为Ix,Iy。 2、置首行首列为[Q0],作为DFA的开始状态。 3、若某行首列对应子集已确定,则计算该子集输入x后对应的状态子集Ix ,以及输入y后对应的子集Iy ;新出现状态子集加入下行首列。(注意计算Ix,Iy 的方法) 4、重复3,直至状态子集收敛。 NDFA 到 DFA(例) 题一 : 题二 : NDFA 到 DFA(解) 题一解: NDFA 到 DFA(解) 题一解: NDFA 到 DFA(解) 题二解: NDFA 到 DFA(解) 题二解: NDFA 到 DFA 自动机状态的区分与等价 定义 两个状态q1和q2导出的符号串集相等,则二者等价。 定义 不等价的两个状态是可区分的。 终止状态和非终止状态是可区分的。 显然,如果q1和q2等价,那么q1和q2对于同一个符号的后继也等价。 自动机状态的区分与等价 两个状态 S 和 T 等价:即满足 兼容性(一致性条件) —— 同是终止状态或同是非终止状态 传播性(蔓延性条件) —— 从S出发读入某个 a 和 从T出发读入某个 a 所到达的状态等价。 自动机状态的区分与等价 C和D同是终态,读入a到达C和F, C和F同是终态, C和F读入a都到达C,读入b都到达E。 所以C和D等价 DFA 化简(DFA的最小化) 实质:使状态最小化 基本思想:将等价状态放到一子集中,将子集作为一个状态。 化简后得到的DFA称为最小状态DFA 没有多余状态(死状态) 没有两个状态是互相等价(不可区别) DFA化简(分划算法) 步骤1:初始分划:终止状态和非终止状态。 步骤2:重复对于每一组子集G都进行下列细分,直到不能再细分为止: ① 将 G 分成子组,使得q1,q2在一子集,当且仅当对于任何的输入符号,他们的后继都属于同一个小组。 ② 将子组加入到分划中替换G。 步骤3:选取最后分划每个子集的状态代表。这些代表构成了化简后的自动机的状态集合。 步骤4:删除不可达状态。 注意:重复步骤2的时候,需要检验所有的组。 DFA化简(例子) DFA化简(例子) ε 自动机 定义:如果自动机的弧上允许标记ε,则称此自动机为ε自动机,记为εNDFA或εDFA。 定理:对于ε(N)DFA,总可构造等价的(N)DFA,使得L(ε(N)DFA)=L((N)DFA) εNDFA中空移环路的消除 空移环路的寻找:先找到某个有ε弧射出的状态结点,顺着ε弧一直找

文档评论(0)

jiquhe72163 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档