
- •Кафедра «Информатика и программное обеспечение»
- •Построение праволинейной грамматики
- •Переход от праволинейной грамматики к автоматной
- •3. Построение недетерминированного конечного автомата
- •4. Преобразование недетерминированного конечного автомата в детерминированный конечный автомат
- •5. Минимизация автомата
5. Минимизация автомата
Минимизация автомата, эквивалентного полученному в предыдущем разделе полностью определенному автомату, проводится в два этапа. Сначала множество состояний автомата разбивается на классы эквивалентности, а затем строится минимальный (приведенный) автомат.
Приведем автомат для случая модели Мура:
Таблица 6
1,3,7 |
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
2 |
X |
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
4 |
X |
X |
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
5 |
X |
X |
X |
X |
|
|
|
|
|
|
|
|
|
|
|
|
||||
6 |
X |
X |
X |
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
8 |
X |
X |
X |
X |
X |
X |
|
|
|
|
|
|
|
|
|
|
|
|||
9 |
X |
X |
X |
X |
X |
X |
|
|
|
|
|
|
|
|
|
|
|
|||
10 |
X |
X |
X |
X |
X |
X |
X |
X |
|
|
|
|
|
|
|
|||||
11 |
X |
X |
X |
X |
X |
X |
X |
X |
X |
|
|
|
|
|
|
|||||
12 |
X |
X |
# |
X |
X |
X |
X |
X |
X |
X |
|
|
|
|
||||||
13 |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
|
|
|
|
|
|
|||
14 |
X |
X |
X |
X |
X |
X |
X |
X |
X |
|
X |
X |
|
|
|
|
|
|||
15 |
X |
X |
# |
X |
X |
X |
X |
X |
X |
X |
|
X |
X |
|
|
|
|
|||
16 |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
|
X |
X |
|
|
|
|||
17 |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
|
|
|||
18 |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
|
X |
X |
|
X |
|
|||
19 |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
|||
|
0 |
1,3,7 |
2 |
4 |
5 |
6 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
В данном случае образуются следующие пары эквивалентных состояний: q5 и q6, q8 и q9, q12 и q15, q11 и q14, q13 и q16, q13 и q18, q18 и q16.
Всего семь пар попарно эквивалентных состояний. Эти состояния образуют пять классов эквивалентности - {q5 , q6 }, {q8 , q9}, {q11 , q14}, {q12, q15} и {q13, q16 , q18}.
Каждое состояние, не вошедшее ни в один класс эквивалентности, эквивалентно лишь само себе и само образует этот класс. В рассматриваемом примере к нерасчлененным пяти классам необходимо добавить еще семь классов эквивалентности: q0; q137; q2; q4; q10; q17; q19.
Состояние минимального автомата обозначим буквами r с индексами
r0={q0}; r1={q1,3,7}; r2={q2}; r3={q4}; r4={q5, q6}; r5={q8,q9}; r6={q10}; r7={q11, q14}; r8={q12, q15}; r9={ q13, q16, q18}; r10={q17}; r11={q19}.
Таким образом, минимальный автомат содержит 12 состояний, не считая состояния r12={q20} "Ошибка". Орграф этого автомата приводится на рис. 5 (без указания состояния «Ошибка»), а таблица переходов - в табл. 7.
Рис.5
В этой таблице, также как и в табл. 5, незаполненные клетки соответствуют состоянию «Ошибка».
Таблица 7
|
Х0 |
X1 |
Х2 |
Х3 |
Х4 |
Х5 |
Х6 |
Х7 |
r0 |
|
|
|
|
r6 |
|
|
r1 |
r1 |
|
r2 |
r11 |
|
|
r5
|
r3 |
|
r2 |
r4 |
|
|
|
|
|
|
|
r3 |
|
|
r4 |
|
|
|
|
|
r4 |
|
|
r11 |
|
|
r5
|
|
|
r5
|
|
|
|
r0 |
|
|
|
r11 |
r6 |
|
r10 |
r7 |
|
|
r7 |
|
|
r7 |
|
|
|
|
r8 |
|
|
|
r8 |
r9 |
|
|
|
|
|
|
|
r9 |
|
|
|
|
|
r11 |
|
|
r10 |
|
|
|
|
r9 |
|
|
|
r11 |
|
|
|
|
|
|
|
|
-