NIST 對有限狀態(tài)機(jī)(Finite State Machine, FSM)的定義如下。
?
??? 包含一組狀態(tài)集(states)、一個起始狀態(tài)(start state)、一組輸入符號集(alphabet)、一個映射輸入符號和當(dāng)前狀態(tài)到下一狀態(tài)的轉(zhuǎn)換函數(shù)(transition function)的計算模型。當(dāng)輸入符號串,模型隨即進(jìn)入起始狀態(tài)。它要改變到新的狀態(tài),依賴于轉(zhuǎn)換函數(shù)。在有限狀態(tài)機(jī)中,會有許多變量,例如,狀態(tài)機(jī)有很多與動作(actions)轉(zhuǎn)換(Mealy機(jī))或狀態(tài)(摩爾機(jī))關(guān)聯(lián)的動作,多重起始狀態(tài),基于沒有輸入符號的轉(zhuǎn)換,或者指定符號和狀態(tài)(非定有限狀態(tài)機(jī))的多個轉(zhuǎn)換,指派給接收狀態(tài)(識別者)的一個或多個狀態(tài),等等。
??? 一個例子
??????????????
??? 上圖是一個接受者 FSM 模型,用來分析單詞“nice”。該分析器只接受字符輸入,包含6種狀態(tài),狀態(tài)切換由輸入的字符驅(qū)動。理解起來非常簡單,在此不作解釋了。
??? 感謝宏云博士對本文翻譯提供的指導(dǎo)。
請注意!引用、轉(zhuǎn)貼本文應(yīng)注明原作者:Rosen Jiang 以及出處:http://www.aygfsteel.com/rosen