確定有窮自動(dòng)機(jī)的化簡(jiǎn)(最小化)

理論上可以證明,每一個(gè)正則集合可以由一個(gè)狀態(tài)數(shù)最小的DFA識(shí)別,且這個(gè)DFA是唯一的。本博客將介紹如何把一個(gè)DFA的狀態(tài)數(shù)化簡(jiǎn)到最小,而不影響接受的語(yǔ)言。

化簡(jiǎn)的DFA:當(dāng)且僅當(dāng)它沒(méi)有多余狀態(tài)并且它的狀態(tài)集中沒(méi)有兩個(gè)狀態(tài)是相互等價(jià)的。

等價(jià)狀態(tài):是指對(duì)于DFA中所有狀態(tài)s和t,對(duì)于所有輸入符號(hào)c,存在Ic(s)=Ic(t),即狀態(tài)s,t具有相同的后繼,則稱s和t是等價(jià)的。

狀態(tài)s和t等價(jià)的條件是:

(1)一致性條件:狀態(tài)s和t必須同時(shí)為接受狀態(tài)和不接受狀態(tài)。(是否屬于終止?fàn)顟B(tài)集)
(2)蔓延性條件:對(duì)于所有輸入符號(hào),狀態(tài)s和t必須轉(zhuǎn)換到等價(jià)狀態(tài)里。

下面介紹一種具體的DFA化簡(jiǎn)方法——分割法。

Sample:

已知一個(gè)確定的有窮自動(dòng)機(jī)M=({0,1,2,3,4,5}, {a,b}, δ, 0, {0,1}),其中δ見(jiàn)表

狀態(tài) a b
0 1 2
1 1 4
2 1 3
3 3 2
4 0 5
5 5 4

Step 1:

根據(jù)一致性條件,將狀態(tài)分為兩類。0,1屬于終止?fàn)顟B(tài)集,歸為一類,其他歸為另一類。

狀態(tài) a b 類別
0 1(A) 2(B) A
1 1(A) 4(B) A
2 1(A) 3(B) B
3 3(B) 2(B) B
4 0(A) 5(B) B
5 5(B) 4(B) B

Step 2:

根據(jù)蔓延性條件,對(duì)狀態(tài)進(jìn)行再分類。由上圖可以看出:2,4屬于同一類;3,5屬于另一類。

狀態(tài) a b 類別
0 1(A) 2(B) A
1 1(A) 4(B) A
2 1(A) 3(C) B
3 3(C) 2(B) C
4 0(A) 5(C) B
5 5(C) 4(B) C

然后我們?cè)龠M(jìn)行檢查,發(fā)現(xiàn)A,B,C三類中狀態(tài)都已等價(jià)(每一個(gè)狀態(tài)都有相同的后繼)。如果不等價(jià),則按照剛才方法進(jìn)行再分。

所以我們得到的最小化DFA為M'=({A,B,C}, {a,b}, δ,A,{A}),其中δ見(jiàn)表

狀態(tài) a b
A A B
B A C
C C B
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容