从NFA构造等价DFA,对DFA的化简

更新时间:2023-07-14 16:47:56 阅读: 评论:0

自强的意思从NFA构造等价DFA,对DFA的化简
米小米对NFA的考量是困难的,对DFA的考量则是⽆⽐清晰的。对于⼀个NFA,总存在⼀个与其等价的DFA。这⾥"等价"指的是这两个有穷⾃动机的正规集是相同的。行云流水的意思
ε-closure(…)和more(…,…)
在NFA中,ε-closure(A)指的是从状态A经若⼲ε弧能达到的状态,也包括A⾃⼰。more({A,B,C},a)指的是所有从{A,B,C}⾥的状态经过⼀次a弧所能到达的状态。
卡通包子的做法从NFA构造等价DFA
注意,因为从NFA构造等价DFA的时候,其中的状态会出现新的,不妨把NFA中的状态⽤数字表⽰,把构造出的等价DFA中的状态⽤⼤写字母表⽰。
先作初态扩张,因为NFA可能有多个初态,⽽DFA只可以有⼀个初态,所以要把NFA所有的初态放在⼀个集合⾥,并求这个集合的ε-closure得到等价的DFA的初态。
观察知这个有限⾃动机上的状态转移弧可以是a或者b,所以从得到的DFA的初态(NFA初态的ε-closure),要看其⾛a(⾛b)能到达哪些NFA 状态,即先求它们对a(对b)的more再对得到的more求ε-closure,这些NFA状态放在⼀个集合⾥也就是⾛a(⾛b)到的DFA状态,对于新产⽣的DFA状态,再⽤同样的⽅法向下⾛,直到没有新的状态产⽣为⽌。
工作祝福
为了清晰,为产⽣的DFA状态署名,这样后⾯画DFA状态图也好画。如上图那个NFA构造出的DFA状态转移的矩阵表⽰:
从上表即可得出转换后的DFA,注意带有原来NFA中终态的DFA状态都是终态:
此外可以将FA的多余状态去掉,即从开始状态出发经过任何输⼊串也⽆法到达的状态,这样的状态不具有识别价值。
永不复返
对DFA的化简
得到DFA之后,去除冗余状态,但这样的⾃动机中还是可能会有本质上重复的状态,会⼲扰对DFA的探究。如有DFA:
在考量等价的状态时,不⽤去管是不是初始状态。⾸先,因为⾮终态和终⽌状态⼀定不可能是等价的状态,所以暂时可以划分成这样的两组状态:{q1,q2},{q0,q3}
然后再分别对组内的状态转移进⾏审查,在第⼀组中:
(q1,1)->q0    (q2,1)->q3
茄子煲的家常做法
(q1,0)->q3    (q2,0)->q0
只要状态转移也全部等价,那么两个状态就是等价的。所以要只要q1和q2是否真的等价,从上⾯的审查中可以看出只要去看q0和q3是否等价,这正好是要审查的第⼆组状态:
(q0,1)->q1    (q3,1)->q2
(q0,0)->q2    (q3,0)->q1
lucian可以看出,q3和q0是否等价⼜取决回q1和q2是否等价。当构成这样的互相依赖的情况时,只要认为⼀⽅等价,则可以为两⽅各⾃等价。因此可以划分出两个新的状态:
A={q1,q2}    B={q0,q3}
包含了之前的终⽌状态的新状态是新的终⽌状态,包含了之前的起始状态的新状态是起始状态,所以终⽌状态是B,起始状态是B,故化简后的DFA是:

本文发布于:2023-07-14 16:47:56,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1096455.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:状态   等价   转移   初态   可能
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图