有限狀態自動機

2022-07-28 05:15:13 字數 1048 閱讀 7244

有限狀態自動機 分為確定有限狀態自動機(dfa)和不確定有限狀態自動機(nfa)。

假設有字串 s="x1 x2 x3 x4 .... xn",在轉移函式的驅動下,狀態轉移,如果當s中的所有字元被讀完,最終落在接受狀態上,則稱狀態機接收此字串。

1.確定有限狀態自動機(dfa)

m =(s,∑,f,so,z)其中: 

s是乙個有限狀態集合。

∑是乙個字母表,輸入字元的集合。

f是從s x ∑*至s的子集映照。

s0⊆s,是唯一的初態。 

z⊆s,是乙個終態集

初態為0,終態為2.

當進行一系列的輸入,使得狀態機的狀態不斷變化,只要最後乙個輸入使得狀態機處於接收節點,那麼就表明當前輸入可以被狀態機接收。

例如當有字串「abab」,從初始狀態開始,狀態的的變化為,由於最後的狀態為2,所以該字串可以被此狀態機接收。

如果字串為「bbab」,則狀態的變化為,最後的狀態為1,所以該字串不可以被此狀態機接收。

2.不確定有限狀態自動機(nfa)

m =(s,∑,f,so,z)其中:

s是乙個有限狀態集合。

∑是乙個字母表,輸入字元的集合。

f是從s x ∑*至s的子集映照。 

s0⊆s,是乙個非空初態集。

z⊆s,是乙個終態集。

在0號狀態上,當讀入乙個字元a,既可以轉到1狀態,又可停留在狀態0,因為狀態是不確定的。兩個狀態都合法。

在這個字串上,不管如何走,只要能走到乙個接受狀態,則這個字串能夠被接受。

如果一條路徑失敗了,不一定是不被接受,需要回溯嘗試其他路徑。

可以寫出轉移函式:

, //在狀態q0上如果讀入乙個字元a,則有可能停留在q0,也可以轉到q1.

(q0,b)->,

(q1,b)->}

有限狀態自動機

有限自動機是更一般化的狀態轉化圖。分為確定有限自動機 dfa 和不確定有限自動機 nfa m s,f,so,z 其中 下圖為乙個確定的有限狀態自動機 m s,f,so,z 其中 下圖為乙個不確定的有限狀態自動機 說了半天其實它們的本質區別就在於s0,確定的有限狀態自動機的s0是唯一確定的。而不確定的...

有限狀態自動機

有限自動機是更一般化的狀態轉化圖。分為確定有限自動機 dfa 和不確定有限自動機 nfa m s,f,so,z 其中 下圖為乙個確定的有限狀態自動機 m s,f,so,z 其中 下圖為乙個不確定的有限狀態自動機 說了半天其實它們的本質區別就在於s0,確定的有限狀態自動機的s0是唯一確定的。而不確定的...

有限狀態自動機

背景提要 星期三的時候,xw交給我乙個點燈的任務 大意是乙個玩意單擊的時候如何如何,長按又如何如何,雙擊又如何如何,幾種狀態分別執行不同的操作。這就導致了一種情況 在機器第一次檢測到按鈕被按下時,我們無法做出論斷 我們不知道這是一次雙擊還是長按還是單擊,我們只能靜觀其變,見機行事。但是按鈕被按下時,...