Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2331.pdf
Скачиваний:
11
Добавлен:
15.11.2022
Размер:
1.42 Mб
Скачать

Рис. 4.17. Изображение дополнительной информации на временных диаграммах

5. МИНИМИЗАЦИЯ АБСТРАКТНЫХ АВТОМАТОВ

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

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

58

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

(b,0)v(c,0)

(a,0)v(b,0)v(d,0)

 

(b,0)v(c,0)

 

 

 

 

 

 

 

 

Q1

(d,1)

Q2

(c,0)

Q4

 

 

 

 

 

 

 

 

 

(a,0)

(b,0)

 

(b,0)v(c,0)

(d,0)

(a,0)v(c,0)v(d,0)

 

 

 

 

 

 

 

 

 

 

 

(d,0)

 

(b,0)

(a,0)

(b,0)

 

Q7

(c,0)

Q8

 

Q3

(a,0)

(b,0)

 

 

 

Q0

 

 

(b,0)

 

 

 

 

 

 

 

 

 

(a,0)v(c,0)v(d,0)

(a,0)v(d,0)

 

Q5

(d,0)

Q6

 

 

 

(a,0)v(b,0)v(c,0) (a,0)v(d,0)

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

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

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

59

мальное или минимальное по тому или другому критерию множество состояний.

При всех таких рассмотрениях важную роль играет понятие эквивалентности. Говорят, что состояние 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, для которых в

60

качестве начальных состояний взяты эквивалентные состояния Qi, и Qj, являются эквивалентными только тогда, когда, наблюдая последовательности символов на их выходах, образующихся под воздействием любой входной последовательности символов, нельзя отличить автомат А1 от автомата А2. Эквивалентность инициальных автоматов означает, что они осуществляют одинаковую переработку входного алфавита в выходной, а эквивалентность не инициальных — что этого всегда можно добиться путем подходящей настройки (нахождения эквивалентных состояний).

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

Пусть даны автоматы 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 эквивалентны.

61

(a,0)

A1

 

 

A2

 

 

 

 

 

 

Q11

(a,1)

Q12

 

 

 

 

(b,1)

 

(a,0)

(b,1)

(b,1)

 

(b,1)

(b,1)

Q11

 

(a,1)

 

 

Q11

 

 

(a,1)

а)

Q13

 

б)

 

 

 

 

Рис. 5.2. Пример эквивалентных автоматов А1 и А2

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

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

62

эквивалентными для каждого l ≤ k. Если два состояния являются k-различимыми, то они являются и l-различимыми для каждого l ≥ k. Если состояния Qi и Qj эквивалентны для любого конечного k, то они эквивалентны. Состояние, в которое переходит автомат из состояния Qi, при подаче входной последовательности длины k, называется k-м преемником Qi по отношению к этой последовательности.

A1

Qi Qi1 Qi2 Qik

Э к в и в а л е н т ы

Qj Qj1 Qj2 Qjk

A2

Рис. 5.3. К - эквивалентные автоматы

Если состояния Qi и Qj являются эквивалентными, то их k-е преемники по отношению к любой входной последовательности длины k и для любого k являются эквивалентными. Входным последовательностям, поданным на A1/Qi и A2/Qj, можно сопоставить два пути, начинающиеся состояниями Qi и Qj на графах переходов (рис. 5.3.) автоматов A1 и A2 соответственно. Приведенное выше утверждение означает, что если два начальных состояния на этих путях эквивалентны, то каждые два соответствующих состояния на этих путях (т. е. состояния, в которые переходят автоматы из начальных состояний после прохождения одного и того же числа дуг) являются также эквивалентными.

Построение минимального автомата А' осуществляется в два этапа. Вначале проводится разбиение множества состояний автомата на классы эквивалентных состояний, а затем на этой основе строится минимальный автомат. Разбиение состояний автомата на классы эквивалентных состояний ведется по следующим правилам: 1) все состояния, принадлежащие к одному классу, должны быть k-эквивалентными; 2) все состоя-

63

ния, принадлежащие к разным классам, должны быть k-

различимыми. Такое разбиение называется k-эквивалентным разбиением автомата. Минимизация автомата производится за счет объединения вершин графа переходов, принадлежащих к одному классу эквивалентных состояний. Метод минимизации автомата, основанный на объединении эквивалентных состояний, был предложен Д. А. Хаффменом и состоит в последовательном выделении классов эквивалентных состояний с помощью таблицы переходов и таблицы выходов автомата.

Рассмотрим метод Хаффмена на примере. Пусть в результате первого этапа синтеза автомата A3 был получен граф переходов, изображенный на рис. 5.4. Для автомата A3 вход-

ной алфавит x={α, β, γ}, выходной алфавит y={1, 0} и множество состояний Q={Q1, Q2, .…, Q9}. По графу переходов построены таблицы переходов (табл. 5.1) и выходов (табл. 5.2.). Если двум состояниям автомата соответствуют различные значения столбцов в таблице выходов (табл. 5.2), то эти состояния не эквивалентны, так как при подаче одного из входных символов выходные символы различаются. В то же время множество состояний можно разбить на классы 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

Q1

Q2

Q3

Q6

Q8

Q6

Q4

Q7

β

Q2

Q4

Q2

Q2

Q4

Q9

Q2

Q4

Q3

γ

Q5

Q4

Q5

Q2

Q2

Q6

Q8

Q7

Q7

64

 

 

(α,1)v(β,0)

 

Q2

 

(β,1) v (γ,1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(α,0

 

 

 

 

 

 

(β,1) v (γ,1)

 

 

 

 

 

Q1

(β,0) v

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Qb

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(α,1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Qa

(α,0

Q4

 

 

 

(β,0)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q3

 

 

 

 

(α,1) v

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(γ,0)

 

 

 

 

 

 

(γ,0)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(γ,0)

 

 

 

 

 

 

 

 

 

 

 

Q8

 

 

 

 

 

 

 

Q7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(γ,0)

(β,0)

 

 

 

 

 

 

 

 

 

(α,0

 

 

 

 

(α,1

 

 

 

 

 

 

 

 

 

 

(γ,0)

 

 

Q6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(β,1)

Q9

(α,0) v (γ,1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(α,1

(γ,1)

 

(β,1)

 

Qe

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 5.4. Граф минимизируемого автомата А3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 5.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Xi

 

 

 

 

 

 

 

 

 

 

Qi

 

 

 

 

 

 

 

 

 

 

Q1

 

Q2

 

Q3

 

Q4

 

Q5

Q6

 

Q7

 

Q8

 

Q9

 

α

 

1

 

0

 

1

0

 

1

0

 

1

 

1

0

 

β

 

0

 

1

 

0

1

 

0

1

 

0

 

0

1

 

γ

 

0

 

1

 

0

1

 

0

1

 

0

 

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Все состояния, входящие, например, в класс V2, есть состояния 1-эквивалентные, но это не значит, что Q2 и Q4 не является в то же время, например, 3-эквивалентными. Для эквивалентности внутренних состояний автомата недостаточно их

65

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

Построим таблицу переходов (табл. 5.3), строкам и столбцам которой соответствуют значения Xj, и Qi. На пересечении j-й строки к i-го столбца таблицы ставим обозначение класса 1-эквивалентных состояний, содержащего состояние, в которое переходит автомат из состояния Qi под действием символа Xj. Так, например, в табл. 5.3 на пересечении строки а и столбца Q2 стоит класс V2, так как в соответствии с табл. 5.1 автомат из состояния Q2 при входном символе а переходит состояние Q1, которое входит в класс V1 1-эквивалентных состояний.

Если элементам класса Vi будут соответствовать различные значения столбцов табл. 5.3, то этот класс не является классом 2-эквивалентных состояний. В этом случае каждый класс Vi разбивается на два новых, причем в каждый из них входят все состояния из класса Vi, с одинаковыми значениями столбцов. Анализ табл. 5.3 показывает, что класс V1 является 2-эквивалентным, потому что все состояния Q1, Q3, Q5, Q7, Q8 в таблице имеют одинаковые значения столбцов.

Таблица 5.3

Xi

 

 

 

 

Qi

 

 

 

 

 

Q1

Q2

Q3

Q4

Q5

Q6

Q7

Q8

Q9

α

V2

V1

V2

V1

V2

V1

V2

V2

V1

β

V2

V2

V2

V2

V2

V2

V2

V2

V2

γ

V1

V2

V1

V2

V1

V2

V1

V1

V1

66

Это означает, что состояния, входящие в класс 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

01

00

00

10

11

 

11

10

11

11

Q4

01

00

00

10

11

 

11

10

11

11

Q6

01

00

00

10

11

 

11

10

11

11

Q9

01

00

00

10

11

 

11

10

10

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

V1

V2

V1

 

V2

V1

V2

V2

V1

β

V2

V2

V2

V2

 

V2

V3

V2

V2

V3

γ

V1

V2

V1

V2

 

V1

V2

V1

V1

V1

 

 

 

 

 

67

 

 

 

 

Таблица 5.6

Xj

 

 

 

 

Qi

 

 

 

 

 

 

Q1

Q2

Q3

Q4

Q5

Q6

Q7

Q8

Q9

 

α

V2

V1

V2

V1

V4

V1

V4

V2

V1

 

β

V2

V2

V2

V2

V2

V3

V2

V2

V3

 

γ

V1

V2

V1

V2

V1

V4

V1

V1

V1

 

 

 

 

 

 

 

 

 

Таблица 5.7

 

 

 

 

 

 

 

 

 

 

 

Xj

 

 

 

 

Qi

 

 

 

 

 

 

Q1

Q2

Q3

Q4

Q5

Q6

Q7

Q8

Q9

 

α

V2

V1

V2

V1

V4

V1

V4

V2

V5

 

β

V2

V2

V2

V2

V2

V3

V2

V2

V3

 

γ

V5

V2

V5

V2

V1

V4

V1

V5

V5

 

4-эквивалентное разбиение есть: V1={Q1, Q3, Q8},

V2={Q2, Q4}, V3={Q9}, V4={Q6}, V5={Q5, Q7}.

Из табл. 5.6 и 5.7 следует, что 5-эквивалентное разбиение совпадает с 4-эквивалентным. Это означает, что в классы эквивалентности входят не k-эквивалентные состояния, а эквивалентные состояния и все состояния одного класса ведут себя как одно состояние, которым его и заменяют.

Граф переходов минимального автомата A3’ по заданному графу переходов автомата A3 и его эквивалентному разбиению строят следующим образом: 1) заменяют обозначение каждого состояния, которое имеется в графе переходов A3 на обозначение класса, к которому относится данное состояние: 2) объединяют все одинаково обозначенные состояния (рассматривая дуги графа как «гибкие связи») и представляют объединенные состояния одним состоянием, имеющим общее обозначение; 3) из каждой группы дуг, имеющих общее исходное и конечное состояния (все такие дуги обозначены одинаково), вычеркиваются все, кроме одной. Полученный в результате граф будет графом минимального автомата А3'.

68

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