Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчет по теории автоматов.docx
Скачиваний:
9
Добавлен:
11.04.2015
Размер:
4.42 Mб
Скачать
  1. Сведение недетерминированного автомата к детерминированному

Недетерминированность автомата локально проявляется в том, что из екоторого его состояния qi исходит несколько дуг, помеченных одним и тем же символом хj, как показано на рис.2.

xr

qi

ql

qk

xj

xp

xj

xs

Рис. 2. Пример устранения недетерминированности

В этом случае недетерминированность устраняется склеиванием двух состояний ql и qk в одно – ql,k . При этом ql,k инцидентны все исходящие дуги xs, xp, xr, являющиеся исходящими дугами вершин ql и qk .

xs

В результате применения алгоритма нахождения детерминированного автомата, от автомата рис. 1 можно перейти к эквивалентному детерминированному автомату, таблица переходов которого приведена в табл. 5, а соответствующий ей граф переходов – на рис. 4.

Таблица 5.

q

x0

x1

x2

x3

x4

x5

x6

x7

q0

q1,3

q7

q10

q1,3

q2

q4

q2

q5

q4

q6

q5

q19

q8

q6

q19

q9

q7

q19

q9

q11,17

q14

q8

q0

q19

q9

q0

q19

q10

q14

q17

q11

q11

q12

q12

q13

q13

q19

q14

q15

q15

q16

q16

q19

q17

q18

q18

q19

q19

Рис. 4: Граф переходов детерминированного автомата, эквивалентного исходному.

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

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

Вначале составляется треугольная таблица (табл. 6), клетки которой соответствуют всем парам (qi, qj), i≠j рабочих состояний. Она заполняется следующим образом. Если для рабочих состояний qi и qj в табл. 5 существует входной символ xk, при котором переход из qi осуществляется в одно из рабочих состояний, а из qj – в состояние ОШИБКА, то состояния qi и qj не эквивалентны, и соответствующая им клетка помечается крестом. Иначе, если какие-либо две строчки табл. 5 содержат разное число рабочих состояний или отличаются позициями, то обозначающие эти строки состояния не эквивалентны. В противном случае в клетку табл. 6 с координатами qi, qj запишем каждую пару состояний (qv, qw), v≠w, в которые автомат может перейти из qi и qj при подаче одного и того же входного символа.

Таблица 6.

q12; q15

q12; q13

1,3

X

q8 ,q9; q19

q8 ,q9; q19

q12; q16

q12; q18

q12; q19

q13; q15

2

X

X

4

X

X

X

5

X

X

X

X

q13; q19

q13; q16

q13; q18

q19; q15

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

q19; q16

10

X

X

X

X

X

X

X

X

X

q19; q18

11

X

X

X

X

X

X

X

X

X

X

q15; q16

q15; q18

q15; q19

12

X

X

X

X

X

X

Х

X

X

X

13

X

X

X

X

Х

Х

X

X

X

X

q16; q19

14

X

X

X

X

X

X

X

X

X

X

q16;q18

q19; q18

q18; q18

15

X

X

X

X

X

X

Х

X

X

X

16

X

X

X

X

Х

Х

X

X

X

X

17

X

X

X

X

Х

Х

X

X

X

X

18

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

2

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

Не вычеркнутые клетки результирующей таблицы соответствуют всем парам эквивалентных состояний. Класс эквивалентности образуется состояниями, которые попарно эквивалентны. В данном случае получаем 6 пар, попарно эквивалентных состояний: q5 и q6, q8 и q9, q12 и q15, q13 и q16, q13 и q18, q16 и q18. Эти состояния образуют четыре классов эквивалентности {q5, q6}; {q8, q9};{q12, q15 };{q13, q16, q18} . Каждое состояние, не вошедшие ни в один класс эквивалентности, эквивалентно лишь само себе и само образует этот класс. В моем примере к перечисленным пяти классам необходимо добавить еще шесть классов эквивалентности: q1,3; q2; q4; q10; q19; q0.

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

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

Граф переходов этого автомата приведен ни рис.5, а таблица переходов – в табл. 7.

Рис. 5 Граф переходов минимального распознающего автомата

Таблица 7.

r

x0

x1

x2

x3

x4

x5

x6

x7

r0

r10

r1

r1

r11

r10

r2

r3

r3

r10

r4

r5

r6

r5

r0

r6

r0

r7

r9

r2

r8

r8

r2

r9

r2

r10

r11

r4

r0

r7