Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Теория автоматов. Учебное пособие

.pdf
Скачиваний:
1
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆

Рис. 4.12. Изображение взаимозависимости сигналов
Рис. 4.12. Изображение взаимозависимости сигналов
Рис. 4.13. Изображение зависимости
нескольких сигналов от одного
Часты ситуации, когда изменение некоторого сигнала вызывается определенными изменениями нескольких других сигналов, что может быть изображено так, как на рис. 4.14.
Рис. 4.14. Изображение зависимости
одного сигнала от совокупности других
Если уровень напряжения входного сигнала не влияет на опреде­ленном временном интервале на работу дискретного устройства, или
-51-

Рис. 4.15. Изображение зон неопределенности сигнала
если уровень выходного сигнала не может быть однозначно определен на этом временном интервале, или не имеет принципиального значе­ния, то такая ситуация иллюстрируется рис. 4.15.
Рис. 4.15. Изображение зон неопределенности сигнала
Временные диаграммы позволяют отображать изменения группы сигналов, которые меняют свои значения в одинаковый момент вре­мени, но имеют разные уровни сигналов. Временная диаграмма, пред­ставленная на рис. 4.16, иллюстрирует такие ситуации.
Рис. 4.16. Изображение изменения уровней
напряжения группы сигналов
На рис. 4.16 временная диаграмма для сигналов С1 и С2 характер­на для иллюстрации работы, например, одного разряда счетчика, не имевшего начальной установки или конкретное состояние которого не имеет принципиального значения. Диаграмма С3 характерна для гра­фического изображения переключения в высокоимпедансное состоя­ние группы сигналов (например, на шине данных микропроцессора). Диаграммой С4 можно иллюстрировать неопределенность состояния или пассивность некоторой группы сигналов.
На временных диаграммах допускается изображение дополни­тельной буквенно-цифровой информации на выносных линиях, так как показано на рис.4.17.
-52-

Рис. 4.17. Изображение дополнительной информации
на временных диаграммах
Временная диаграмма, изображенная на рис. 4.17, может быть про­читана следующим образом.
В некоторой системе после установки кода на шинах адреса А0… А15 формирование сигнала выбора устройства (CS) должно быть про­изведено за время, не превышающее t
. После того, как будет сформи-
1
рован срез сигнала CS, через 200 наносекунд на шине данных (D0…D7) будет установлен действительный код.
-53-

Q1 Q2 Q
Q
Q
Q
(b,0)(c,0)
a
(d,0)
(d,0)
(d,0)
b
(a,0)
(a,0)
(c,0)
(a,0)(c,0)(d,0)

Описательные обозначения различных состояний являются по­лезными для интуитивного понимания их роли при определении со­отношений вход — выход и для определения функций переходов (δ) и выходов (λ) по словесному описанию абстрактного автомата. Они ста­новятся бесполезными после того, как эти функции определены. Поэ­тому обозначение состояний не имеет какого-либо особого значения и может выбираться произвольно. Например, вершины графа на рис. 5.1, соответствующие состояниям системы, можно обозначить первыми де­вятью буквами русского алфавита. Автоматы, у которых функции δ и λ одинаковы, за исключением возможных различий в обозначениях состо­яний, называются изоморфными друг другу [13]. Если задан автомат A, представляющий определенную систему, то любой автомат, изомор­фный к А, тоже может служить представлением этой системы, т.е. систе­ма может быть представлена несколькими изоморфными автоматами.
(a,0)(b,0)(d,0) (b,0)(c,0)
(b,0)
(d,1) (c,0)
(
,0)
(a,0)
(b,0)
Q
0
3
(a,0)(d,0)
(b,0)(c,0)
Q
(b,0)
(a,0)(b,0)(c,0)
Рис. 5.1. Граф гипотетического автомата
-54-
4
,0)(c,0)(d,0)
(
7
Q
5
8
(b,0)
6
(a,0)(d,0)

Понятие изоморфизма в терминах графов переходов допускает очень простую интерпретацию: автоматы изоморфны, если они имеют одинаковые графы, отличающиеся, быть может, только обозначениями вершин. Чтобы автомат А заменить изоморфным ему автоматом, до­статочно изменить обозначения одной или нескольких вершин.
Пусть автомат А задан графом переходов с r вершинами. Переста­вив обозначения вершин всеми r! возможными способами, получим множество, состоящее из r! изоморфных автоматов, которое называет­ся семейством перестановок автомата А.
При рассмотрении автоматов нет необходимости ни наблюдать, ни интересоваться физической природой состояний. Единственное назна­чение состояний в том, чтобы участвовать в определении зависимостей между входом и выходом автоматов. Поэтому любое множество состо­яний, выполняющих эту функцию, является приемлемым, независимо от того, выражают эти состояния какой-либо интуитивный смысл или нет. Эта свобода выбора множества состояний очень важна, поскольку она позволяет заменять одно множество другим, что может оказаться удобным для многих целей, например, найти оптимальное или мини­мальное по тому или другому критерию множество состояний.
При всех таких рассмотрениях важную роль играет понятие экви- валентности. Говорят, что состояние Q томата А и автомат A
эквивалентны, если автомат A1, находящийся в состоянии Qi
2
, находящийся в состоянии Оj под воздействием любой
2
автомата A1 и состояние Qj, ав-
i
входной последовательности символов, выдают одинаковые выходные последовательности символов. Если Q что состояния различимы. Состояния Q му и тому же автомату. Таким образом, состояния Q
, и Qj не эквивалентны, то говорят,
i
, и Qj могут относиться к одно-
i
, и Qj эквивалентны
i
только тогда, когда, наблюдая выходные последовательности символов, нельзя отличить автомат A с начальным состоянием Q
с начальным состоянием Qi, от автомата A2
1
. Состояния Qi, и Qj различимы, если имеет-
j
ся хотя бы одна входная последовательность символов, которая дает на выходах автоматов различные последовательности символов. Во всех случаях предполагается, что автоматы A
и A2 имеют одинаковые вход-
1
ные и выходные алфавиты, но могут иметь различное число состояний. Имеются способы выявления эквивалентности и различимости двух состоянии автоматов для разных форм их задания.
Понятие эквивалентности можно распространить на весь авто­мат с помощью следующих определений. Автомат A вивалентны, если каждому состоянию Q
автомата A1 соответствует по
i
и автомат A2 эк-
1
-55-

крайней мере одно эквивалентное ему состояние в автомате A2 и если каждому состоянию Q эквивалентное ему состояние в автомате A вивалентны, то они различимы. Автоматы A ми тогда, когда имеется, по крайней мере одно состояние в A не является эквивалентным никакому состоянию в A по крайней мере одно состояние в A тным никакому состоянию в A
автомата A2 соответствует по крайней мере одно
j
которое не является эквивален-
2
. Таким образом, автоматы A1 и A2, для
1
. Если автоматы A1 и A2 эк-
1
и A2 являются различимы-
1
, и если имеется
2
, которое
1
которых в качестве начальных состояний взяты эквивалентные состо­яния Q
, и Qj, являются эквивалентными только тогда, когда, наблюдая
i
последовательности символов на их выходах, образующихся под воз­действием любой входной последовательности символов, нельзя отли­чить автомат А
от автомата А2. Эквивалентность инициальных автома-
1
тов означает, что они осуществляют одинаковую переработку входного алфавита в выходной, а эквивалентность не инициальных — что этого всегда можно добиться путем подходящей настройки (нахождения эк­вивалентных состояний).
Для всякого автомата Мили существует эквивалентный ему авто­мат Мура (это справедливо как для инициальных, так и для не иници­альных автоматов). Поэтому автоматы Мили и Мура обладают равными функциональными возможностями в том смысле, что всякое преобра­зование дискретной информации, осуществляемое в одном из них, осу­ществимо и в другом.
Пусть даны автоматы A
с Q = {Q11, Q12, Q13} и A2 с Q = {Q21, Q22}
1
(рис.5.2), имеющие одинаковые входные алфавиты x = {а, b} и выходные алфавиты y = {0, 1}. Эквивалентные состояния могут существовать в од­ном автомате. Действительно, для автомата А
состояния Q12 и Q13 экви-
1
валентны, так как для каждого из них поступление символа a приводит к переходу в одно и то же состояние Q
и выдаче выходного символа 1
11
и, следовательно, далее любая последовательность входных символов не позволит различить состояния Q
и Q13 автомата A1. Если начало
12
последовательности входных символов будет состоять из любого числа символов b, после которых следует символ а, то можно убедиться, что и в этом случае по выходным последовательностям автомата состоя­ния Q
и Q13 не различимы. Автоматы A1 и A2, графы переходов которых
12
приведены на рис. 5.2, эквивалентны, так как, проведя аналогичные рассуждения, можно увидеть, что состояние Q нию Q Следовательно, автоматы A
, состояние Q
21
— состоянию Q22 и состояние Q13 — состоянию Q22.
12
и A2 эквивалентны.
1
эквивалентно состоя-
11
-56-

1
. Таким образом, автоматы A1 и A2, для которых
i
, и Qj, явля-
1
от автомата А2. Эквива-
1
с Q = {Q11, Q12, Q13} и A2 с Q = {Q21, Q22}
1
состояния Q12 и Q13 эквивалентны, так
11
и выдаче выходного символа 1 и, следовательно, далее любая
12
и
1
. Если начало последовательности входных символов будет со-
13
не различимы. Автоматы A1 и A2, графы переходов которых
11
эквивалентно состоянию Q21, состояние
22
и состояние Q13 — состоянию Q22. Следовательно, авто-
Q
Q
(b,1)
Q
11 Q11
(b,1)
(a,1)
(a,0)
(a,1)
(a,0)
(b,1)
(b,1)
(a,1)
A1 A
2
б
1
и A2, для которых
i
, и Qj, явля-
1
от автомата А2. Эквива-
12
, Q13} и A2 с Q = {Q21, Q22}
12
и Q13 эквивалентны, так
12
и
2
, графы переходов которых
21
, состояние
22
. Следовательно, авто-
(a,0)
(b,1)
(b,1)
(a,1)
A
11
12
(b,1)
Q
Q
13
11
а б
Рис. 5.2. Пример эквивалентных автоматов А
При создании автоматов входной и выходной алфавиты, как пра­вило, заданы, в то время как на множество Q внутренних состояния обычно никаких условий не накладывается. Требуемое преобразова­ние входной последовательности символов в выходную может быть осуществлено автоматами с различным числом состояний. Поэтому возникает желание построить автомат, для которого это число мини­мально. Автоматы, одинаково преобразующие входную информацию в выходную, называют эквивалентными. Автомат, эквивалентный за­данному и имеющий наименьшее число состояний, назовем мини­мальным. Тогда проблему построения минимального автомата можно назвать задачей минимизации автомата.
Для дальнейшего обсуждения проблемы минимизации автомата вводят понятие k-эквивалентности. Состояние Q яние Q ложении к А
— автомата A2 называются k-эквивалентными, если при при-
j
1/Qi
, и к А2/Qj входной последовательности длины k они вы-
автомата A1 и состо-
i
рабатывают одинаковые выходные последовательности. Обозначение A/Q принято для краткой записи высказывания «автомат А в состоя­нии Q». Если Q ся k-различимыми. Обозначения А и тому же автомату. Для 1-различимых состояния принято называть явно различимыми. Если два состояния являются k-эквивалентными,
и Qj не являются k-эквивалентными, то они называют-
i
и A2 могут относиться к одному
1
то они являются и l-эквивалентными для каждого l ≤ k. Если два состо­яния являются k-различимыми, то они являются и l-различимыми для каждого l ≥ k. Если состояния Q
и Qj эквивалентны для любого конечно-
i
го k, то они эквивалентны. Состояние, в которое переходит автомат из состояния Q вается k-м преемником Q
, при подаче входной последовательности длины k, назы-
i
по отношению к этой последовательности.
i
-57-
2
Q
11
и А
1
2

Рис. 5.2. Пример эквивалентных автоматов А1 и А
2
i
автомата A1 и состояние Qj — авто-
1/Qi
, и к
i
и Qj не являются k-
1
и A2
i
и Qj эквивалентны для любого конечного k, то
i
,
Э к в и в а л е н т ы
A
Q
i
Q
i1
1
Q
i2
Q
ik
Q
j
Q
j1
Q
j2
A
2
Q
jk
Рис. 5.3. k-эквивалентные автоматы
Если состояния Qi и Qj являются эквивалентными, то их k-е пре­емники по отношению к любой входной последовательности длины k и для любого k являются эквивалентными. Входным последовательнос­тям, поданным на A щиеся состояниями Q и A
соответственно. Приведенное выше утверждение означает, что
2
и A2/Qj, можно сопоставить два пути, начинаю-
1/Qi
и Qj на графах переходов (рис. 5.3) автоматов A1
i
если два начальных состояния на этих путях эквивалентны, то каждые два соответствующих состояния на этих путях (т.е. состояния, в которые переходят автоматы из начальных состояний после прохождения одно­го и того же числа дуг) являются также эквивалентными.
Построение минимального автомата А' осуществляется в два эта­па. Вначале проводится разбиение множества состояний автомата на классы эквивалентных состояний, а затем на этой основе строится ми­нимальный автомат. Разбиение состояний автомата на классы эквива­лентных состояний ведется по следующим правилам:
1. Все состояния, принадлежащие к одному классу, должны быть
k-эквивалентными;
2. Все состояния, принадлежащие к разным классам, должны быть
k-различимыми.
Такое разбиение называется k-эквивалентным разбиением ав- томата. Минимизация автомата производится за счет объединения вершин графа переходов, принадлежащих к одному классу эквивален­тных состояний. Метод минимизации автомата, основанный на объ­единении эквивалентных состояний, был предложен Д.А. Хаффменом и состоит в последовательном выделении классов эквивалентных со­стояний с помощью таблицы переходов и таблицы выходов автомата.
Рассмотрим метод Хаффмена на примере. Пусть в результате пер­вого этапа синтеза автомата A женный на рис.5.4. Для автомата A ходной алфавит y = {1, 0} и множество состояний Q = {Q
был получен граф переходов, изобра-
3
входной алфавит x = {a, b, g}, вы-
3
, Q2, …, Q9}. По
1
-58-

1
= {Q1, Q3, Q5, Q7, Q8} и V2 = {Q2, Q4, Q6, Q9}.
Q
Q
Q4 Q
Q7 Q8 Q
(,1)
(,0)
Q
Q
(,1)(,0)
графу переходов построены таблицы переходов (табл. 5.1) и выходов (табл. 5.2). Если двум состояниям автомата соответствуют различные значения столбцов в таблице выходов (табл.5.2), то эти состояния не эквивалентны, так как при подаче одного из входных символов выход­ные символы различаются. В то же время множество состояний можно разбить на классы 1-эквивалентных состояний так, что в один и тот же класс V
попадут те состояния, которым соответствуют одинаковые зна-
4
чения столбцов в таблице выходов (табл. 5.2). Классами 1-эквивалент­ных состояний будут V
= {Q1, Q3, Q5, Q7, Q8} и V2 = {Q2, Q4, Q6, Q9}.
1
(,1)(,0)
1
a
(,0)
(,0)
(,0)
5
Q
(,0)
(,0) (,1)
3
(,0)
(,1)
(,0)
Q
6
(,1)
2
Q
b
(,1)
(,1)
9
Рис. 5.4. Граф минимизируемого автомата А
(,1)(,1)
(,1)(,1)
(,0)
(,0)
(,0)(,1)
(,0)
e
3
Таблица 5.1
Q
X
i
Q
Q
Q
1
2
α
Q
Q
2
β
Q
γ
Q
1
Q
2
4
Q
5
4
Q
3
Q
Q
2
Q
Q
2
Q
Q
5
i
Q
Q
Q
Q
4
5
6
7
Q
Q
3
6
Q
2
4
Q
2
2
Q
8
Q Q
6
Q
9
2
Q
6
8
Q
8
9
Q
Q
4
Q Q
7
Q
4
3
Q
7
7
-59-

Таблица 5.2
Q
X
i
Q
Q
Q
1
2
α
1
0
β
0
1
γ
0
1
Q
3
1
0
0
1
0
1
i
Q
Q
Q
Q
4
5
6
7
1
0
1
0
1
0
0
1
0
Q
8
9
1
0
0
1
0
1
Все состояния, входящие, например, в класс V2, есть состояния 1-эквивалентные, но это не значит, что Q
и Q4 не является в то же вре-
2
мя, например, 3-эквивалентными. Для эквивалентности внутренних состояний автомата недостаточно их эквивалентности для некоторого конкретного значения k, требуется эквивалентность при любом k, т.е. нужно, чтобы при любом другом возможном переходе, при начальной установке автомата в эквивалентные состояния, отображения (преоб­разования) любого входного символа в выходной совпадали. Для про­верки этого условия следующий шаг делаем из первых преемников и выясняем, будут ли состояния, ранее входившие в один класс экви­валентных состояний, 2-эквивалентными, т.е. остаются ли множества состояний в своих классах эквивалентных состояний.
Построим таблицу переходов (табл. 5.3), строкам и столбцам кото­рой соответствуют значения X
, и Qi. На пересечении j-й строки к i-го
j
столбца таблицы ставим обозначение класса 1-эквивалентных состоя­ний, содержащего состояние, в которое переходит автомат из состояния
под действием символа Xj. Так, например, в табл. 5.3 на пересечении
Q
i
строки а и столбца Q2 стоит класс V2, так как в соответствии с табл. 5.1 автомат из состояния Q
при входном символе а переходит состояние
2
Q1, которое входит в класс V1 1-эквивалентных состояний.
Если элементам класса Vi будут соответствовать различные зна­чения столбцов табл. 5.3, то этот класс не является классом 2-эквива­лентных состояний. В этом случае каждый класс V новых, причем в каждый из них входят все состояния из класса V
разбивается на два
i
, с оди-
i
наковыми значениями столбцов. Анализ табл. 5.3 показывает, что класс
V1 является 2-эквивалентным, потому что все состояния Q1, Q3, Q5, Q7, Q8
в таблице имеют одинаковые значения столбцов.
Это означает, что состояния, входящие в класс V
, являются не
1
только 1-эквивалентными, но и 2-эквивалентными состояниями. Класс
должен быть разбит на два, один из которых, являющийся классом
V
2
2-эквивалентных состояний, будет содержать состояния Q гой — только Q
, не имеющее 2-эквивалентного состояния. В этом мож-
9
, Q4, Q6, а дру-
2
-60-