介紹:
有限狀態自動機(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的終止狀態。