Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
252
Добавлен:
27.04.2015
Размер:
205.31 Кб
Скачать

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

Рассмотрим алгоритм минимизации состояний автоматов с помощью треугольной таблицы, предложенной М.Поллом и С.Ангером. По таблицам переходов и выходов автомата составляется треугольная таблица, столбцы и строки которой сопоставляются с состояниями автомата.

Рассмотрим минимизацию автомата S3, заданного табл. 3.12 и 3.13. Табл. 3.14 – треугольная таблица для автомата S3. Для упрощения записи в этой таблице вместо ai будем писать i.

В треугольной таблице на пересечении строки m и столбца s ставятся:

  • + (крест), если в столбцах am и as таблицы выходов стоят разные выходные сигналы, например столбцы а1 и а2 (см. табл. 3.13);

  • множество всех пар состояний, следующих за парой (amas) и отличных от неё, эквивалентность которых необходима для эквивалентности пары (amas). Например, для эквивалентности (а1, а8) необходима эквивалентность (а3, а6) и (а2, а5), так как (а3а8) и (а2, а5) следуют за парой (а1, а8) по входам z1 и z2 соответственно (см. табл. 3.12);

  • V (птичка), если за (am, as) не следуют пары, отличные от (amas). В нашем примере это пара (а6, а7).

Таблица 3.12

а1

а2

а3

а4

а5

а6

а7

а8

z1

а3

а8

а7

а2

а3

а2

а2

а6

z2

а2

а4

а5

а4

а2

а7

а6

а5

Таблица 3.13

а1

а2

а3

а4

а5

а6

а7

А8

z1

w1

w2

w1

w2

w1

w2

w2

w1

z2

w2

w1

w2

w1

w2

w1

w1

w2

Для нахождения неэквивалентных пар состояний треугольная таблица (см. табл. 3.14) просматривается по столбцам. Находится первая клетка, отмеченная крестом. Пусть это будет клетка (i, j). Тогда во всех клетках, где есть пара (i, j), ставится крест, а уже рассмотренная клетка (i, j) отмечается вторым крестом. Эта процедура проводится для всех клеток, отмеченных крестом, включая новые, и заканчивается, когда таких клеток не останется.

Таблица 3.15

2

++

3

3.7+

2.5+

++

4

++

2.8++

++

5

V

++

3.7+

2.5+

++

6

++

2.8+

4.7+

++

4.7

++

7

++

2.8+

4.6+

++

4.6

++

V

8

3.6+

2.5+

++

6.7

++

3.6+

2.5+

++

++

1

2

3

4

5

6

7

Очевидно, что в этом случае клетки без крестов соответствуют эквива-лентным парам состояний, а клетки с крестами - неэквивалентным.

Таблица 3.14

2

+

3

3.7

2.5

+

4

+

2.8

+

5

V

+

3.7

2.5

+

6

+

2.8

4.7

+

4.7

+

7

+

2.8

4.6

+

4.6

+

V

8

3.6

2.5

+

6.7

+

3.6

2.5

+

+

1

2

3

4

5

6

7

В результате применения этой процедуры к табл. 3.14 получим табл. 3.15, из которой видно, что 1~5, 3~8, 4~6, 4~7, 6~7.

Для нахождения разбиения  воспользуемся способом, предложенным С.Ангером. Алгоритм сводится к следующему:

1. Начинаем составление списка классов эквивалентных состояний с крайнего правого столбца треугольной таблицы, имеющего по крайней мере одну клетку без крестов. В примере Ф = {} .

2. Продвигаясь влево, выписываем для каждого столбца множества состояний Ai ~ ai, т.е. множества состояний, соответствующим клеткам без крестов в i-м столбце таблицы. В нашем примере 4 ~ (в 4-м столбце табл. 3.15 нет крестов в строках 6 и 7).

Каждое множество Ai пересекаем с каждым членом текущего списка Ф. Если такое пересечение содержит более одного состояния, то добавляем в список объединение { a} с результатом пересечения:

; Ф = {}.

Далее проводится максимизация полученного множества Ф - удаление всех множеств, содержащихся в других множествах списка.

Приведём полностью результат применения второго шага ко всем столбцам:

3. В список Ф, полученный после второго шага, добавляются все одноэлементные множества, состоящие из состояний, не включенных ни в какие другие максимальные классы эквивалентности. В нашем примере - .

Таким образом, для автомата S3 множество всех классов эквивалентности – разбиение – имеет вид

 =.

Построение минимального автомата S3 по разбиению  проводится аналогично пунктам 2 - 4 алгоритма, рассмотренного выше (см. п. 2.1). Из каждого класса эквивалентности выбираем по одному состоянию:

A  = { а1, а2, а3, а4} .

Строим таблицы переходов и выходов минимального автомата S3 (табл. 3.16 и 3.17).

Таблица 3.16 Таблица 3.17

а1

а2

а3

а4

а1

а2

а3

а4

z1

а3

а3

а4

а2

z1

w1

w2

w1

w2

z2

а2

а4

а1

а4

z2

w2

w1

w2

w1

Соседние файлы в папке Лаб.работы по ТА