本文主要是介绍有限自动机NFA-ε到NFA再到DFA的转换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
DFA(Deterministic Finite Automata),即确定的有限自动机,指的是对于每个状态得到确定的输入的字母表后都能得到唯一的下一个状态,而NFA(Nondeterminisic Finite Automata)则是不确定的有限自动机,指的是对于任何一个状态,当该状态获得输入的字母表后,有可能得到的状态不是一个,而是多个,即是一个状态的集合。从某种意义上来说,DFA是NFA的一种特殊形式。而NFA-ε 则是多了一个空跳的操作,即一个状态可以不用获得输入字母表而自动地跳到另一个状态。
单纯看文字有些生涩,还是看图明白一点。
可以看到,在NFA中,对于S状态,当输入字母表是 a 时,有两个可能的后续状态q0和q2。而在NFA-ε 中,对于q0状态,由于有空跳字符 ε 的存在,当没有其他字母表输入时也有可能会跳到状态q1和F。
简单介绍了这三种自动机后,现在来了解一下一些字符的表示意思。
Q:有限个数状态的集合
∑:输入字母表
T :迁移函数
S &#x
这篇关于有限自动机NFA-ε到NFA再到DFA的转换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!