對於給定的DFA M,尋找一個狀態數比M小的DFA M'使得L(M)=L(M')
1.狀態的等價性:
假設s和t為M的兩個狀態
①若分別從狀態s和狀態t出發都能讀出某個字α而停止於終態,則稱s和t等價
②存在一個字α,使得s和t一個讀出α停止於終態,另一個讀出α停止於非終態,則稱s和t可區別
2.基本思想:
①把M的狀態集分為一些不相交的子集,使任何兩個不同子集狀態是可區別的,而同一子集的任何兩個狀態是等價的
②讓每個子集選出一個代表,同時消去其他狀態
3.划分
①把S划分為終態和非終態兩個子集,形成基本划分∏
②假定某個時候∏已含m個子集,記為∏={I(1),I(2),…,I(m)},檢查∏中的每個子集能否進一步划分:
(a)假定s1和s2是I(i)={s1,s2,…sk}中的兩個狀態,它們經過a弧分別到達t1和t2,而t1和t2屬於現行∏中的兩個不同子集,則s1和s2不等價
(b)一般地,對於某個I(i),若Ia(i)落於現行∏中N個不同的子集,則應把I(i)划分成N個不相交的組
例: