- •Воронежский государственный технический университет
- •(Часть 1) Учебное пособие
- •Глава 1. Становление теории автоматов и ее основные задачи
- •Взаимосвязь теории автоматов и других научно-технических направлений
- •Подходы к определению конечного автомата.
- •Сущность метода "черного ящика".
- •Основные задачи теории автоматов
- •Глава 2. Формальная классификация абстрактных автоматов и их математические модели.
- •2.1 Словесные определения автоматов.
- •2.4.3 Модель совмещенного автомата (с-автомата)
- •2.4.4 Модель микропрограммного автомата
- •Глава 3 Структурные модели первого уровня абстрактных автоматов
- •3.1. Структурная модель автомата Мили
- •3.2. Структурная модель автомата Мура
- •3.3 Структурная модель с - автомата
- •3.4 Структурная модель микропрограммного автомата
- •Глава 4. Способы задания абстрактных и структурных автоматов.
- •Глава 5 Минимизация абстрактных автоматов
- •Глава 6. Математические основы алгебры логики
- •Теоремы алгебры логики
- •6.4.1 Словесная форма представления логических функций
- •6.4.3 Аналитическая форма представления логических функций
- •6.4.4 Геометрическая и кубическая формы представления
- •2.4.3 Модель совмещенного автомата………………25
- •Глава 5 Минимизация абстрактных автоматов……………..58
- •Глава 6. Математические основы алгебры логики……...…70
- •Учебное издание
- •394026 Воронеж, Московский просп.,14
Глава 5 Минимизация абстрактных автоматов
Описательные обозначения различных состояний являются полезными для интуитивного понимания их роли при определении соотношений вход – выход и для определения функций переходов (δ) и выходов (λ) по словесному описанию абстрактного автомата. Они становятся бесполезными после того, как эти функции определены. Поэтому обозначение состояний не имеет какого-либо особого значения и может выбираться произвольно. Например, вершины графа на рис. 5.1 соответствующие состояниям системы, можно обозначить первыми девятью буквами русского алфавита. Автоматы, у которых функции δ и λ одинаковы, за исключением возможных различий в обозначениях состояний, называются изоморфными друг другу [13]. Если задан автомат A, представляющий определенную систему, то любой автомат, изоморфный к А, тоже может служить представлением этой системы, т. е. система может быть представлена несколькими изоморфными автоматами.
Р
58
57
Понятие изоморфизма в терминах графов переходов допускает очень простую интерпретацию: автоматы изоморфны, если они имеют одинаковые графы, отличающиеся, быть может, только обозначениями вершин. Чтобы автомат А заменить изоморфным ему автоматом, достаточно изменить обозначения одной или нескольких вершин.
Пусть автомат А задан графом переходов с r вершинами. Переставив обозначения вершин всеми r! возможными способами, получим множество, состоящее из r! изоморфных автоматов, которое называется семейством перестановок автомата А.
При рассмотрении автоматов нет необходимости ни наблюдать, ни интересоваться физической природой состояний. Единственное назначение состояний в том, чтобы участвовать в определении зависимостей между входом и выходом автоматов. Поэтому любое множество состояний, выполняющих эту функцию, является приемлемым, независимо от того выражают эти состояния какой-либо интуитивный смысл или нет. Эта свобода выбора множества состояний очень важна, поскольку она позволяет заменять одно множество другим, что может оказаться удобным для многих целей, например, найти оптимальное или минимальное по тому или другому критерию множество состояний.
При всех таких рассмотрениях важную роль играет понятие эквивалентности. Говорят, что состояние Qi автомата A1 и состояние Qj, автомата А2 эквивалентны, если автомат A1, находящийся в состоянии Qi и автомат A2, находящийся в состоянии Оj под воздействием любой входной последовательности символов выдают одинаковые выходные последовательности символов. Если Qi, и Qj не эквивалентны, то говорят, что состояния различимы. Состояния Qi, и Qj могут относиться к одному и тому же автомату. Таким образом, состояния Qi, и Qj эквивалентны только тогда, когда, наблюдая выходные последовательности символов, нельзя отличить автомат A1 с начальным состоянием Qi, от автомата A2 с начальным состоянием Qj. Состояния Qi, и Qj различимы, если имеется хотя бы одна входная последовательность символов, которая дает на выходах автоматов различные последовательности символов. Во всех случаях предполагается, что автоматы A1 и A2 имеют одинаковые входные и выходные алфавиты, но могут иметь различное число состояний. Имеются способы выявления эквивалентности и различимости двух состоянии автоматов для разных форм их задания.
Понятие эквивалентности можно распространить на весь автомат с помощью следующих определений. Автомат A1 и автомат A2 эквивалентны, если каждому состоянию Qi автомата A1 соответствует по крайней мере одно эквивалентное ему состояние в автомате A2 и если каждому состоянию Qj автомата A2 соответствует, по крайней мере одно эквивалентное ему состояние в автомате A1. Если автоматы A1 и A2 эквивалентны, то они различимы. Автоматы A1 и A2 являются различимыми тогда, когда имеется, по крайней мере, одно состояние в A1, которое не является эквивалентным никакому состоянию в A2, и если имеется, по крайней мере, одно состояние в A2 которое не является эквивалентным никакому состоянию в A1. Таким образом, автоматы A1 и A2, для которых в качестве начальных состояний взяты эквивалентные состояния Qi, и Qj, являются эквивалентными только тогда, когда, наблюдая последовательности символов на их выходах, образующихся под воздействием любой входной последовательности символов, нельзя отличить автомат А1 от автомата А2. Эквивалентность инициальных автоматов означает, что они осуществляют одинаковую переработку входного алфавита в выходной, а эквивалентность не инициальных — что этого всегда можно добиться путем подходящей настройки (нахождения эквивалентных состояний).
Д
60
59
Пусть даны автоматы A1 с Q={Q11, Q12, Q13} и A2 с Q={Q21, Q22} (рис. 5.2.), имеющие одинаковые входные алфавиты x={а, b} и выходные алфавиты y={0, 1}. Эквивалентные состояния могут существовать в одном автомате. Действительно, для автомата А1 состояния Q12 и Q13 эквивалентны, так как для каждого из них поступление символа a приводит к переходу в одно и то же состояние Q11 и выдаче выходного символа 1 и следовательно, далее любая последовательность входных символов не позволит различить состояния Q12 и Q13 автомата A1. Если начало последовательности входных символов будет состоять из любого числа символов b, после которых следует символ а, то можно убедиться, что и в этом случае по выходным последовательностям автомата состояния Q12 и Q13 не различимы. Автоматы A1 и A2, графы переходов которых приведены на рис. 5.2., эквивалентны, так как, проведя аналогичные рассуждения, можно увидеть, что состояние Q11 эквивалентно состоянию Q21, состояние Q12 — состоянию Q22 и состояние Q13 — состоянию Q22. Следовательно, автоматы A1 и A2 эквивалентны.
Рис. 5.2 Пример эквивалентных автоматов А1 и А2
П
61
Д
62
Рис. 5.3 К - эквивалентные автоматы
Построение минимального автомата А' осуществляется в два этапа. Вначале проводится разбиение множества состояний автомата на классы эквивалентных состояний, а затем на этой основе строится минимальный автомат. Разбиение состояний автомата на классы эквивалентных состояний ведется по следующим правилам: 1) все состояния, принадлежащие к одному классу, должны быть k-эквивалентными; 2) все состояния, принадлежащие к разным классам, должны быть k-различимыми. Такое разбиение называется k-эквивалентным разбиением автомата. Минимизация автомата производится за счет объединения вершин графа переходов, принадлежащих к одному классу эквивалентных состояний. Метод минимизации автомата, основанный на объединении эквивалентных состояний, был предложен Д. А. Хаффменом и состоит в последовательном выделении классов эквивалентных состояний с помощью таблицы переходов и таблицы выходов автомата.
Рассмотрим метод Хаффмена на примере. Пусть в результате первого этапа синтеза автомата A3 был получен граф переходов, изображенный на рис. 5.4. Для автомата A3 входной алфавит x={, , }, выходной алфавит y={1, 0} и множество состояний Q={Q1, Q2, .…, Q9}. По графу переходов построены таблицы переходов (таблица 5.1.) и выходов (таблица 5.2.). Если двум состояниям автомата соответствуют различные значе-
ния столбцов в таблице выходов (табл.5.2), то эти состояния не
.
Рис. 5.4 Граф минимизируемого автомата А3
64
63
эквивалентны, так как при подаче одного из входных символов выходные символы различаются. В то же время множество состояний можно разбить на классы 1-эквивалентных состояний так, что в один и тот же класс V4 попадут те состояния, которым соответствуют одинаковые значения столбцов в таблице выходов (табл.5.2). Классами 1-эквивалентных состояний будут V1={Q1, Q3, Q5, Q7, Q8} и V2={Q2, Q4, Q6, Q9}.
Таблица 5.1
Xi |
Qi |
||||||||
Q1 |
Q2 |
Q3 |
Q4 |
Q5 |
Q6 |
Q7 |
Q8 |
Q9 |
|
|
Q2 Q2 Q5 |
Q1 Q4 Q4 |
Q2 Q2 Q5 |
Q3 Q2 Q2 |
Q6 Q4 Q2 |
Q8 Q9 Q6 |
Q6 Q2 Q8 |
Q4 Q4 Q7 |
Q7 Q3 Q7 |
Таблица 5.2.
Xi |
Qi |
||||||||
Q1 |
Q2 |
Q3 |
Q4 |
Q5 |
Q6 |
Q7 |
Q8 |
Q9 |
|
|
1 0 0 |
0 1 1 |
1 0 0 |
0 1 1 |
1 0 0 |
0 1 1 |
1 0 0 |
1 0 0 |
0 1 1 |
Все состояния, входящие, например, в класс V2, есть состояния 1-эквивалентные, но это не значит, что Q2 и Q4 не является в то же время, например, 3-эквивалентными. Для эквивалентности внутренних состояний автомата не достаточно их эквивалентности для некоторого конкретного значения k, требуется эквивалентность при любом k, т. е. нужно, чтобы при любом другом возможном переходе, при начальной установке автомата в эквивалентные состояния, отображения (преобразования) любого входного символа в выходной совпадали. Для проверки этого условия следующий шаг делаем из первых преемников и выясняем, будут ли состояния, ранее входившие в один класс эквивалентных состояний, 2-эквивалентными, т. е. остаются ли множества состояний в своих классах эквивалентных состояний.
Построим таблицу переходов (табл. 5.3), строкам и столбцам которой соответствуют значения Xj, и Qi. На пересечении j-й строки к i-го столбца таблицы ставим обозначение класса 1-эквивалентных состояний, содержащего состояние, в которое переходит автомат из состояния Qi под действием символа Xj. Так, например, в таблице 5.3 на пересечении строки а и столбца Q2 стоит класс V2, так как в соответствии с табл.5.1 автомат из состояния Q2 при входном символе а переходит в состояние Q1, которое входят в класс V1 1-эквивалентных состояний.
Таблица 5.3
Xi |
Qi |
||||||||
Q1 |
Q2 |
Q3 |
Q4 |
Q5 |
Q6 |
Q7 |
Q8 |
Q9 |
|
|
V2 V2 V1 |
V1 V2 V2 |
V2 V2 V1 |
V1 V2 V2 |
V2 V2 V1 |
V1 V2 V2 |
V2 V2 V1 |
V2 V2 V1 |
V1 V2 V1 |
Е
66
65
Таблица 5.4
Qi |
Xj1-Xj2 |
||||||||
|
|
|
|
|
|
|
|
|
|
Q2 Q4 Q6 Q9 |
01 01 01 01 |
00 00 00 00 |
00 00 00 00 |
10 10 10 10 |
11 11 11 11 |
11 11 11 11 |
10 10 10 10 |
11 11 11 10 |
11 11 11 10 |
После получения классов V1, V2, V3 снова строим таблицу переходов и так далее до тех пор, пока каждый класс в эквивалентном разбиении останется неизменным. Этот процесс иллюстрируется табл. 5.5 —5.7, из которых следует, что для 3-эквивалентного разбиения имеем: V1={Q1, Q3, Q5, Q7,Q8}, V2={Q2, Q4}, V3={Q9}, V4={Q6};
Таблица 5.5
Xj |
Qi |
||||||||
Q1 |
Q2 |
Q3 |
Q4 |
Q5 |
Q6 |
Q7 |
Q8 |
Q9 |
|
|
V2 V2 V1 |
V1 V2 V2 |
V2 V2 V1 |
V1 V2 V2 |
V2 V2 V1 |
V1 V3 V2 |
V2 V2 V1 |
V2 V2 V1 |
V1 V3 V1 |
Таблица 5.6
Xj |
Qi |
||||||||
Q1 |
Q2 |
Q3 |
Q4 |
Q5 |
Q6 |
Q7 |
Q8 |
Q9 |
|
|
V2 V2 V1 |
V1 V2 V2 |
V2 V2 V1 |
V1 V2 V2 |
V4 V2 V1 |
V1 V3 V4 |
V4 V2 V1 |
V2 V2 V1 |
V1 V3 V1 |
Таблица 5.7
Xj |
Qi |
||||||||
Q1 |
Q2 |
Q3 |
Q4 |
Q5 |
Q6 |
Q7 |
Q8 |
Q9 |
|
|
V2 V2 V5 |
V1 V2 V2 |
V2 V2 V5 |
V1 V2 V2 |
V4 V2 V1 |
V1 V3 V4 |
V4 V2 V1 |
V2 V2 V5 |
V5 V3 V5 |
4-эквивалентное разбиение есть: V1={Q1, Q3, Q8}, V2={Q2, Q4}, V3={Q9}, V4={Q6}, V5={Q5, Q7}.
Из табл. 5.6 и 5.7 следует, что 5-эквивалентное разбиение совпадает с 4-эквивалентным. Это означает, что в классы эквивалентности входят не k-эквивалентные состояния, а эквивалентные состояния и все состояния одного класса ведут себя как одно состояние, которым его и заменяют.
Г
68
67
Введем следующие обозначения для состояний автомата A3, входящих в один класс эквивалентных состояний :
Qa={Q1, Q3, Q5}, Qb={Q2, Q4}, Qc={Q9}, Qd={Q6}, Qe={Q5, Q7};
Эквивалентные состояния на рис. 5.4. бъединены штриховой линией. Применяя описанную выше процедуру к графу A3, изображенному на рис. 5.4, получаем граф переходов минимального автомата A'3, показанный на рис. 5.5. Состояния Q2 и Q4 (см. рис. 5.4), объединенные в состояние Qb, соединены двумя дугами, не выходящими за пределы контура, образованного штриховой линией. Это означает, что при поступлении символа или состояние автомата Qb не изменяется, поэтому в графе переходов минимального автомата A'3 (см. рис. 5.5.) у состояния Qb имеется петля (, 1)v(. 1).
Рис. 5.5 Граф минимального автомата А3'