1.确定的有限自动机(DFA)
2.非确定的有限自动机(NFA)
我看懂了,NFA转DFA(确定化)分两类,一种是读空集不动作的,一种是动作的,
上图是不动作的。先把NFA的各个状态的组合写出来,记为q0~qn,再加个空集,然后
看每个组合的各状态读一个符号后的状态组合是哪一组,没有就是空集,最后用q画出状态转换图
,把多余的部分删掉,比如上图中独立出来的三个组合,以及q6这个不会到达的状态组合。
这种方法是先令q0=S0的空闭包,也就是S0读空能到达的所有状态的集合,然后
这些状态读a后到达的状态的空闭包写到表里,如果是新的组合,就记为q1,写到新一行,
直到没有新组合。
这里在用读e动作的方法,确定化读e不动作的NFA
初态一组I1,终态一组I2
I1读a后是{1,3},3不在I1里,所以要再分
I11={0,2},I12={1}
I11读a是{1}不行,I11读b是{2,5},5也不在I11里
再分I111={0},I112={2}
分成一个的就不用在分了(分不了了,一个还咋分)
I2读a={3,6},读b={4,5}都属于I2,不用分