- •Лабораторная работа № 3 Минимизация абстрактного автомата
- •3.1. Постановка задачи минимизации
- •3.2. Минимизация полных автоматов
- •3.2.1. Метод Ауфенкампа и Хона
- •Минимизация автомата Мили
- •Минимизация автомата Мура
- •3.2.2. Минимизация абстрактных автоматов с помощью треугольной таблицы
- •3.3. Минимизация частичных автоматов
- •3.3.1. Определения
- •3.3.2. Метод треугольной таблицы
- •3.4. Задания к выполнению работы
- •3.5. Контрольные вопросы
3.3. Минимизация частичных автоматов
3.3.1. Определения
Задача минимизации частичных автоматов в ее математической постановке – задача нахождения минимального замкнутого покрытия. В решение этой задачи внесли большой вклад американские ученые М.Полл и С.Ангер, использовавшие идею минимального замкнутого покрытия.
Для частичных автоматов понятие эквивалентности заменяется понятием совместимости.
Два состояния am и as называются совместимыми (amas), если они
1) совместимы по выходу - (am,zf)=(as,zf);
2) следующие за ними состояния также совместимы - (am,zf) (as,zf).
Группа состояний образует класс совместимости, если все состояния в ней попарно совместимы.
Класс совместимости называется максимальным, если он не входит ни в какой другой класс.
Класс совместимости называется замкнутым, если для любой пары состояний происходит переход в состояния, принадлежащие одному и тому же классу совместимости.
Замкнутое множество, включающее в себя все состояния автомата, называется замкнутым покрытием данного автомата.
Максимальное замкнутое множество всегда образует замкнутое покрытие автомата. Поэтому задача минимизации частичного автомата часто называется задачей отыскания минимального покрытия.
3.3.2. Метод треугольной таблицы
Алгоритм метода минимизации заключается в выполнении следующих этапов:
1) определяются все классы совместимых состояний автомата;
2) находится минимальное замкнутое покрытие;
3) строится новый автомат по полученному минимальному покрытию.
Проведем иллюстрацию этого алгоритма на примере.
Пример 3. Частичный автомат Мили задан совмещенной таблицей переходов и выходов (табл. 3.18). Необходимо построить минимальный автомат.
Таблица 3.18
|
|
а1 |
а2 |
а3 |
а4 |
а5 |
|
z1 |
2;w1 |
3;w1 |
3;w1 |
– |
– |
|
z2 |
2;w2 |
5;w2 |
4;w2 |
1;w2 |
– |
|
z3 |
3;– |
2;w1 |
– |
2;– |
1;w2 |
|
z4 |
2;w1 |
– |
5;w1 |
– |
– |
Первый этап.
Для упрощения процедуры отыскания классов совместимости используется треугольная таблица (см. п. 2.2), заполняемая следующим образом:
1) если два состояния не совместимы по выходу, т.е. у них разные выходные сигналы, в клетке ставится крест (перечеркивается);
2) если два состояния полностью совместимы, то в клетке ставится «V»;
3) все остальные клетки заполняются парами состояний, совместимость которых обеспечивает совместимость исходной пары.
На рис. 3.1 показана заполненная треугольная таблица частичного автомата, заданного в табл. 3.18.
-
S
2
3
4
5
(2,3)(2,3) (2,5)+
(4,5)
(2,3)
(1,5)+
(3,4)
(1,3)+
+
V
(1,2)
m 1 2 3 4
Рис.3.1
В заполненной таблице выбирается одна из перечеркнутых клеток, соответствующая паре несовместимых состояний, и "+" отмечаются все клетки, в которые входит несовместимая пара. Затем выбирается следующая отмеченная клетка и т.д., пока не будет просмотрена вся таблица. Оставшиеся неотмеченными клетки определяют пары совместимых состояний. Начиная справа, выписываются все пары совместимых состояний: 4 ~ 5, 3 ~ 5, 3 ~ 4, 2 ~ 3, 1 ~ 4, 1 ~ 2, которые и образуют классы совместимости.
Второй этап
Составляется таблица, в столбцах которой указываются исходные состояния, а под ними выписываются соответствующие классы совместимости.
1
2
3
4
5
(1,2)
(1,4)
(2,3)
(3,4) (3,5)
(4,5)
—
Таблица просматривается справа налево и классы совместимости укрупняются. Например, можно объединить классы (3,4) и (3,5), поскольку пара состояний (4,5) совместима.
-
1
1
2
3
4
5
(1,2) (1,4)
(2,3)
(3,4,5)
(4,5)
—
Проводится максимизация классов совместимости, то есть вычеркиваются те классы совместимости, которые вошли в более крупные классы. Таким образом, в результате выполнения второго этапа получились следующие максимальные классы совместимости: (1,2), (1,4), (2,3), (3,4,5).
Поскольку это множество замкнуто, оно является и минимальным покрытием автомата.
Третий этап
Каждому максимальному классу совместимости ставится в соответствие состояние нового автомата, эквивалентного исходному, но с меньшим числом состояний, например так:
b1 b2 b3 b4
(1,2) (1,4) (2,3) (3,4,5)
Для получения таблицы переходов и выходов используется соответствующая таблица исходного автомата:
Таблица 3.19
-
b1
b2
b3
b4
z1
b3;w1
b1;w1
b3;w1
b3;w1
z2
b4;w2
b1;w2
b4;w2
b2;w2
z3
b3;w1
b3;-
b1;w1
b1;w2
z4
b1;w2
b1;w1
b4;w1
b4;w1
