介绍:
有限状态自动机(FSM "finite state machine" 或者FSA "finite state automaton" )是为研究有限内存的计算过程和某些语言类而抽象出的一种计算模型。有限状态自动机拥有有限数量的状态,每个状态可以迁移到零个或多个状态,输入字串决定执行哪个状态的迁移(这个过程也就是 转移函数 )。有限状态自动机可以表示为一个有向图。有限状态自动机是自动机理论的研究对象。
有限状态自动机又分为确认有限状态自动机(DFA)和非确认有限状态自动机(NFA).
DFA和NFA两者区别:
1.DFA没有输入空串的转换动作
2.一个特定的符号输入,DFA只能得到一个状态,而NFA就有可能得到一个状态集;
形式定义:
定义:有限状态自动机(FA—finite automaton)是一个五元组:
– M=(Q, Σ, δ, q0, F)
· 其中,
– Q——状态的非空有穷集合。∀q∈Q,q称为M的一个状态。
– Σ——输入字母表。
– δ——状态转移函数,有时又叫作状态转换函数或者移动函数,δ:Q×Σ→Q,δ(q,a)=p。
– q0——M的开始状态,也可叫作初始状态或启动状态。q0∈Q。
– F——M的终止状态集合。F被Q包含。任给q∈F,q称为M的终止状态。