编译原理:怎么用子集法将NFA转换成DFA? 用图4.16的NFA举例子
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译原理:怎么用子集法将NFA转换成DFA? 用图4.16的NFA举例子相关的知识,希望对你有一定的参考价值。
参考技术A 这里你要弄清子集法中,每一行,指的是变迁。比如第一行,代表状态0,画一根线到状态1,因此第1个0是指这个变迁的起点状态0,第3个1是指变迁的终点状态1。同理,第2行是指从状态1出发,有2个变迁,即第一个是状态1指向状态1(自己),第2个变迁是从状态1到状态1和2。
这样第3行就表示如果从状态1,2开始,输入是0和1时的变迁分别是什么,依此类推。
你红的圈出来的就是NFA所有可能的状态和状态组合。追问
你能帮我把图4.16的NFA答出来,你光是说我看得很头疼😲😲😲,真的不好理解啊
本回答被提问者和网友采纳编译原理,子集法将NFA确定为DFA,求问,表格中的部分都是怎么来的?
参考技术A 我也在看这个。先以S开始,经过任意个ε得到的结点就是第一个I,这道题就是X,1,2,
然后将X,1,2中的每一个字符经过a(中间可以有ε)后得到的结点加起来,X的Ia=1,2,
1的Ia=1,2,2的Ia是空集,所以这一行的Ia=1,2。
后面的Ib也是一样,只不过是经过b后得到的结点的集合。
然后分别将前面的Ia和Ib作为I计算新的Ia和Ib。
再将这些集合依次标号,这道题是X,1,2为X,1,2为1,1,2,3为2,1,2,Y为3,根据上面那个表就可以把图画出来了。
以上是关于编译原理:怎么用子集法将NFA转换成DFA? 用图4.16的NFA举例子的主要内容,如果未能解决你的问题,请参考以下文章
编译原理,子集法将NFA确定为DFA,求问,表格中的部分都是怎么来的?