最小有限自動機,是指滿足下述條件的確定有限自動機
⑴ 沒有無用狀態(無用狀態已刪除);⑵ 沒有等價狀態(等價狀態已合并)。
Ⅰ.刪除無用狀態算法
【定義】無用狀態是指自動機從開始態出發,對任何符號串都不能到達的狀態。
【判別算法】 構造有用狀態集 Qus
⑴ 設 q0 為開始態,則 令 q0∈Qus ;
⑵ 若 qi∈Qus 且有 d(qi,a)= qj 則令 qj∈Qus ;
⑶ 重復執行⑵,直到Qus不再增大為止。
⑷ 從狀態集Q中,刪除不在Qus中的所有狀態。
Ⅱ. 合并等價狀態算法
【原理】兩個狀態i,j等價,當且僅當滿足下面兩個條件:
① 必須同是結束態,或同不是結束態;
② 對所有字母表上符號,狀態i,j必變換到等價狀態。
Ⅱ. 合并等價狀態算法
劃分不等價狀態集
⑴ 初始,把狀態集Q化分成兩個不等價子集:
Q1(結束狀態集), Q2(非結束狀態集);
⑵ 把每個Qi再劃分成不同的子集,條件是:
對同一Qi中兩個狀態i和j,若對字母表中的某個符號,變換到已劃分的不同的狀態集中,則i和j應分離:
如 d(i,a)∈Qm , d(j,a)∈Qn 且 m≠n
⑶ 重復步驟⑵,直到再不能劃分為止;
⑷ 合并最終劃分的每個子集中的各狀態(合而為一)。