Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка КР по ТЯП.doc
Скачиваний:
57
Добавлен:
16.05.2015
Размер:
431.1 Кб
Скачать

6. Минимизация автомата

Минимизация автомата, эквивалентного полученному в предыдущем разделе полностью определенному автомату, проводится в два этапа. Сначала множество состояний автомата разбивается на классы эквивалентности, а затем строится минимальный (приведенный) автомат.

Рассмотрим алгоритм приведения автомата для случая модели Мура, к которой относится рассматриваемый пример.

Построим треугольную таблицу (табл. 6), клетки которой соответствуют всем парам рабочих состояний (qi, qj) i  j, т.е. состояний, отличных от q20 «Ошибка». Если для рабочих состояний qi и qj в табл. 5 существует входной символ х1, при котором переход из qi осуществляется в одно из рабочих состояний, а из qj в состояние ошибки, то состояние qi и qj не эквивалентны, и соответствующая им клетка помечается крестом. То есть, если какие - либо две строчки табл. 5 содержат разное число рабочих состояний или отличаются позициями, занимаемыми рабочими состояниями, то обозначающие эти строки состояния не эквивалентны. В противном случае в клетку табл. 6 с координатами qi qj запишем каждую пару состояний (qs, qt), t  s, в которые автомат может перейти из qi и qj при подаче одного и того же входного символа (количество этих пар равно числу столбцов с рабочими состояниями в строке qi и qj табл. 5).

В рассматриваемом случае в табл. 5 автомат из состояния qo переходит в рабочие состояния при входных символах х2 , х3 , х5 , при остальных входных символах qo переходит в состояние q20 «Ошибка». Других состояний, которые оказываются в рабочих состояниях при том же наборе входных символов (х2 , х3 , х5) нет, поэтому в столбце qo табл. 6 все клетки следует вычеркнуть. То же можно сделать со столбцами qi,3, q2, q4. Из состояния q5 автомат переходит в состояния q19 , q8 при входных символах хо , xi , и при этих же символах в рабочие состояния автомат переходит из состояний q6 ( q19 , q9) и q7 (то же q19 , q9). Поэтому две клетки в столбце q5 не должны вычеркиваться и в них должны быть вписаны: в первую пару состояний (q19, q8; q19, q9), во вторую — то же (q19, q8; q19, q9). Для экономии места в клетки вписываются только индексы состояний. Такая запись означает, что состояния q5 и q6 (q5 и q7) будут эквивалентны, если эквивалентны состояния q19, q8 и q19, q9. Из состояний q6 и q7 автомат переходит при хо в состояния q19 ,q9. Аналогично, из q8 и q9 автомат переходит при x6 в qo, а при х7 - в q19.

В этом случае пары состояний q5 и q6, q6 и q7, q5 и q7, q8 и q9 являются явно эквивалентными, как и пары q13 и q16 , q13 и q18 , q16 и q18. В табл. 6 таким состояниям соответствуют непомеченные клетки. Таким образом заполняются все клетки табл. 6.

Затем в табл. 6 следует вычеркнуть клетки, в которых записаны индексы хотя бы одного состояния, помечающего строку и столбец со всеми вычеркнутыми состояниями. По этому правилу зачеркиваются ранее заполненные клетки в столбце 17, затем снова необходимо вычеркнуть все клетки, которые содержат индексы состояний с вычеркнутыми клетками и т. д. пока не образуется таблица, в которой ни одной клетки вычеркнуть уже нельзя. В нашем случае необходимо вычеркнуть клетки в строке 17, столбцах 13 и 16, остальные клетки вычеркнуть нельзя.

Таблица 6

1,3

X

2

X

X

(19,8; 19,9)

4

X

X

X

5

X

X

X

X

6

X

X

X

X

7

X

X

X

X

8

X

X

X

X

X

X

X

9

X

X

X

X

X

X

X

10

X

X

X

X

X

X

X

X

X

(12; 15)

11

X

X

X

X

X

X

X

X

X

X

(13; 16)

12

X

X

X

X

X

X

X

X

X

X

X

(19; 18)

13

X

X

X

X

X

X

X

X

X

X

X

X

(19; 18)

14

X

X

X

X

X

X

X

X

X

X

X

X

15

X

X

X

X

X

X

X

X

X

X

X

X

X

(19; 18)

16

X

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

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

X

0

1,3

2

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

Не вычеркнутые клетки результирующей таблицы соответствуют всем парам эквивалентных состояний.

Класс эквивалентности образуется состояниями, которые попарно эквивалентны. В данном случае образуются следующие пары эквивалентных состояний: q5 и q6, q5 и q7, q6 и q7, q8 и q9, q11 и q14, q12 и q15, q13 и q16, q13 и q18, q16 и q18.

Всего восемь пар попарно эквивалентных состояний. Эти состояния образуют пять классов эквивалентности - {q5 , q6 , q7}, {q8 , q9}, {q11 , q14}, {q12, q15} и {q13, q16 , q18}.

Каждое состояние, не вошедшее ни в один класс эквивалентности, эквивалентно лишь само себе и само образует этот класс. В рассматриваемом примере к нерасчлененным пяти классам необходимо добавить еще семь классов эквивалентности: q0; q13; q2; q4; q10; q17; q19.

Состояние минимального автомата обозначим буквами r с индексами

r0={q0}; r1={q1,3}; r2=(q2}; r3={q4}; r4={q5, q6, q7}; r5={q8, q9}; r6={q10}; r7={q11, q14}; r8={q12, q15}; r9={ q13, q16, q18}; r10={q17}; r11={q19}.

Таким образом, минимальный автомат содержит 12 состояний, не считая состояния r12={q20} "Ошибка". Орграф этого автомата приводится на рис. 5 (без указания состояния «Ошибка»), а таблица переходов - в табл. 7.

X2

X5

Рис.5

В этой таблице, также как и в табл. 5, незаполненные клетки соответствуют состоянию «Ошибка».

Таблица 7

Х0

X1

Х2

Х3

Х4

Х5

Х6

Х7

r0

r4

r1

r6

r1

r2

r3

r2

r4

r3

r4

r4

r12

r5

r5

r0

r12

r6

r7

r7

r10

r7

r8

r8

r9

r9

r11

r10

r9

r11