- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DFA确定化的方法(P56) 指导思想:将DFA的状态分为互不相交的子集,使得任何不同的两子集中的状态是可区别的,而同一子集中的任何两个状态是等价的。 等价—自动机的两个不同状态s和t,如果从s出发能识别某个字w而停于终态,从t出发也能识别字w而停于终态,就认为状态s和t 等价。 可区别—自动机的两个不同状态s和t不等价,就认为它们是可区别的。 DFA化简(划分法) 步骤1:初始分划:终止状态U和非终止状态V(得到划分1)。 步骤2:重复对U、 V进行下列细分,直到不能再细分为止: 对于U(或V),计算其中的状态经过a,b后的到的新的状态集合,看该集合是否是划分1中某个集合的子集,如果是,说明U(或V)不能再划分,如果不是划分1中任何一个集合的子集,则对U(或V)再次进行划分,分割的依据是:把到达属于同一个集合的子集的状态归在一起。(得到划分2) 步骤3:重复步骤2(注意依据的划分是最近一次得到的那个划分),直到所有集合不能再分为止。 注意:前面发现的不能细分的小组后来可能还可以细分。所以重复步骤2的时候,需要检验所有的组。 1)终态集合U={3,4,5,6},非终态集合V={0,1,2}; 2)对于U而言,Ua={3,4,5,6},所以不能再划分了; 3)对于V而言,Va={1,3},该集合既不属于U,也不属于V,所以要再次划分,因1经a到达3,而0,2经a到达1,所以V被划分为集合{1}和{0,2},此时,整个划分为: {3,4,5,6} 、{1}和{0,2} 4)对于{0,2},因为{0,2} b= {2,4}不属于上述划分中的任何一个集合,所以要再次划分为{0}和{2} ,此时,整个划分为: {3,4,5,6} 、{1}、{0}和{2}(最终结果) 1 2 3 5 a b a a 0 b 6 4 a b b b b a a a b P51图3-8未化简的DFA的划分过程为: 1 2 3 4 a b a a 0 b 6 4 a b b b b a a a b 整个划分的最终结果为: {3,4,5,6} 、{1}、{0}和{2} 3 0 1 2 a b b a b a a,b 状态 a b 0 1 2 1 3 2 2 1 3 3 3 3 4 3 3 5 3 3 6 3 3 正规式与有限自动机的等价性P53 正规式和有限自动机的表达能力是相同的。具体表现在: 给定一个正规式r,可以构造出相应的有限自动机FA M,使得L(r)=L(M)。 给定一个有限自动机FA M ,可以构造出相应的正规式r 。使得L( M )=L( r ) (注意:证明过程不要求掌握) 从正规式到自动机 步骤1:从正规式到状态转换图(NFA)。 步骤2:从NFA到非最简的DFA(确定化)。 步骤3:DFA的化简(最少化) 正规式 NFA DFA 确定化后的DFA 1 2 3 例子:请构造与正规式R=(a * |b * )b (b a) *等价且状态最少的DFA。(97年交大硕士试题) a X 1 3 4 ? ? ? ? b b 2 5 Y b ? ? a 6 NFA 状态 Ia Ib 0 {X,3,4,1} 0 {3,1} 1 {4,1,2,5,Y} 2 1 {3,1} 1 {3,1} 1 {2,5,Y} 3 2 {4,1,2,5,Y} 2 / {4,1,2,5,6,Y} 4 3 {2,5,Y} 3 / {6} 5 4 {4,1,2,5,6,Y} 4 {5,Y} 6 {4,1,2,5,6,Y} 4 5 {6} 5 {5,Y} 6 / 6 {5,Y} 6 / {6} 5 a X 1 3 4 ? ? ? ? b b 2 5 Y b ? ? a 6 状态 a b 0 1 2 1 1 3 2 / 4 3 / 5 4 6 4 5 6 / 6 / 5 1)终态集合U={2,3,4,6},非终态集V={0,1,5};(划分1) 2)对于U而言,Ua={6} 属于任集合V; Ua={4,5}不属于划分1中的任何集合,要再分为{3,6}、{2,4},此时的划分为{0,1 , 5} 、{3,6}和{2,4}(划分2) 3)对于V而言,Va={1 , 6}不属于划分2中的任何集合,要再分为{0 , 1}和{5}; 此时的划分为: {0,1} 、{2,4}、{3,6}和{5} (划分3) 4)对于{0,1},因为{0,1} b = {2,3} 不属于任何集合,所以要再次划分为 {0}、{1};到此划分结束,最终结果为: {0}、{1}、{2,4} 、{3, 6}和{5} 化简后的DFA 最终结果为为: {0}、{1}、{2,4} 、{3, 6}和{5}
文档评论(0)