参考:NFA到DFA的转换及DFA的简化_小隐的博客-CSDN博客_nfa转化成dfa 好文
如图闭包就是经过 ε 后达到的顶点。从1 能达到 2 所以是 {1, 2}
从5可以到{5,6,2}
图片很清晰了,有疑问可以评论区见
这是算法步骤,可看可不看。
这是题目,重点讲下这个
第一步是先把初始状态放进去,即{0} 从{0}经过 ε 后能到{0,1,2,4,7},经过字母集中的a后能到{1,2,3,4,6,7,8} 经过字母集中的b后能到{1,2,4,5,6,7} (注意第一行字母集有多少就要加多少列)(因为0没有到达他的线所以在Ia中排除)
这里详细介绍一下Ia是怎么来的
首先0经过 ε 后到1,7 此时{1,7}
然后1经过 ε 后到2,4 此时{1,2,4}
然后2经过a后到3 此时{1,2,3,4,7}
然后3经过 ε 后到6 此时{1,2,3,4,6,7}
然后4没有 ε 和 a
然后6经过 ε 后到1,7 此时不变
然后7经过a后到8 最后{1,2,3,4,6,7,8}
此时未被标记的子集有Ia,Ib(省略了集合内的数字)
第二步T1取Ia(因为此时Ia是未被标记过的子集)然后重复上述步骤
此时未被标记的子集有{1,2,4,5,6,7}和{1,2,4,5,6,7,9}
第三步T2取{1,2,4,5,6,7} 然后重复上述步骤
此时未被标记的子集有{1,2,4,5,6,7,9}、{1,2,4,5,7,10}
如此往复即可出现上述的表。
将每个子集进行标记,如下图 (因为4包含终结态10所以图中4表示结束)
最后画图就行。
0经过a到1,经过b到2
1经过a到1,经过b到3
.。。。。。。
如有错误。欢迎评论区指出
课后题:
空集经过a,b还是空集