Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебники 60157.doc
Скачиваний:
4
Добавлен:
01.05.2022
Размер:
1.4 Mб
Скачать

Глава 5 Минимизация абстрактных автоматов

Описательные обозначения различных состояний являются полезными для интуитивного понимания их роли при определении соотношений вход – выход и для определения функций переходов (δ) и выходов (λ) по словесному описанию абстрактного автомата. Они становятся бесполезными после того, как эти функции определены. Поэтому обозначение состояний не имеет какого-либо особого значения и может выбираться произвольно. Например, вершины графа на рис. 5.1 соответствующие состояниям системы, можно обозначить первыми девятью буквами русского алфавита. Автоматы, у которых функции δ и λ одинаковы, за исключением возможных различий в обозначе­ниях состояний, называются изоморфными друг другу [13]. Если задан автомат A, представляющий определенную систему, то любой автомат, изоморфный к А, тоже может служить представлением этой системы, т. е. система может быть представлена несколькими изоморфными автоматами.

Р

58

57

ис. 5.1 Граф гипотетического автомата

Понятие изоморфизма в терминах графов переходов допускает очень простую интерпретацию: автоматы изоморфны, если они имеют одинаковые графы, отличающиеся, быть может, только обозначениями вершин. Чтобы автомат А заменить изоморфным ему автоматом, достаточно изменить обозначения одной или нескольких вершин.

Пусть автомат А задан графом переходов с 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

ри создании автоматов входной и выходной алфа­виты, как правило, заданы, в то время как на множест­во Q внутренних состояния обычно никаких условий не накладывается. Требуемое преобразование входной по­следовательности символов в выходную может быть осу­ществлено автоматами с различным числом состояний. Поэтому возникает желание построить автомат, для ко­торого это число минимально. Автоматы, одинаково преобразующие входную информацию в выходную, называют эквивалентными. Автомат, эквивалентный за­данному и имеющий наименьшее число со­стояний, назовем минимальным. Тогда проблему по­строения минимального автомата можно назвать задачей минимизации автомата.

Д

62

ля дальнейшего обсуждения проблемы минимиза­ции автомата введем понятие k-эквивалентности. Со­стояние Qi автомата A1 и состояние Qj - автомата A2 на­зываются k-эквивалентными, если при приложении к А1/Qi, и к А2/Qj входной последовательности длины k они вырабатывают одинаковые выходные последователь­ности. Обозначение A/Q принято для краткой записи высказывания «автомат А в состоянии Q». Если Qi и Qj не являются k-эквивалентными, то они называются k-различимыми. Обозначения А1 и A2 могут относиться к одному и тому же автомату. Для 1-различимых состояния принято называть явно различимыми. Если два состояния являются k-эквивалентными, то они являются и l-эквивалентными для каждого l ≤ k. Если два состояния являются k-различимыми, то они являются и l-раз­личимыми для каждого l ≥ k. Если состояния Qi и Qj эквивалентны для любого конечного k, то они эквива­лентны. Состояние, в которое переходит автомат из состояния Qi, при подаче входной последовательности длины k, называется k-м преемником Qi по отношению к этой последовательности. Если состояния Qi и Qj явля­ются эквивалентными, то их k-е преемники по отноше­нию к любой входной последовательности длины k и для любого k являются эквивалентными. Входным последо­вательностям, поданным на A1/Qi и A2/Qj, можно сопоставить два пути, начинающиеся состояниями Qi и Qj на графах переходов (рис. 5.3.) автоматов A1 и A2 соот­ветственно. Приведенное выше утверждение означает, что если два начальных состояния на этих путях эквива­лентны, то каждые два соответствующих состояния на этих путях (т. е. состояния, в которые переходят авто­маты из начальных состояний после прохождения одно­го и того же числа дуг) являются также эквивалент­ными.

Рис. 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

сли элементам класса Vi будут соответствовать различные значения столбцов табл. 5.3, то этот класс не является классом 2-эквивалентных состояний. В этом случае каждый класс Vi раз­бивается на два новых, причем в каждый из них входят все со­стояния из класса Vi, с одинаковыми значениями столбцов. Анализ табл. 5.3. показывает, что класс V1 является 2-эквивалентным, по­тому что все состояния Q1, Q3, Q5, Q7, Q8 в таблице имеют оди­наковые значения столбцов. Это означает, что состояния, входящие в класс V1, являются не только 1-эквивалентными, но и 2-эквивалентными состояниями. Класс V2 должен быть разбит на два, один из которых, являющийся классом 2-эквивалентных состояний, бу­дет содержать состояния Q2, Q4, Q6, а другой — только Q9, не имеющее 2-эквивалентного состояния. В этом можно убедиться (табл. 5.4), рассмотрев с помощью графа переходов автомата A3 (см. рис. 5.4) выходные последовательности, образующиеся при воздействии на него всех возможных входных последовательностей длины два (Xj1, Xj2; j =1,2,3), если исходными являются состояния Q2, Q4, Q6, Q9. После второго шага имеем 2-эквивалентное разбиение, состоящее из трех классов эквивалентных состояний: V1={Q1, Q3, Q5, Q7, Q8}, V2={Q2, Q4, Q6}, V3={Q9}.

Таблица 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’ по заданному графу переходов автомата A3 и его эквивалентному разбиению строят следующим образом: 1) заменяют обозначение каждого состояния, которое имеется в графе переходов A3 на обозначение класса, к ко­торому относится данное состояние: 2) объединяют все одинаково обозначенные состояния (рассматривая дуги графа как «гибкие сбязи») и представляют объединенные состояния одним состоянием, имеющим общее обозначение; 3) из каждой группы дуг, имеющих общее исходное и конечное состояния (все такие дуги обозначены одинаково), вычеркиваются все, кроме одной. Полученный в результате граф будет графом минимального автомата А3'.

Введем следующие обозначения для состояний автомата 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'

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]