logo
кр одмита

7.2. Представления автомата

Конечный автомат удобно представлять таблицей переходов и таблицей выходов. Строкам этих таблиц соответствуют состояния автомата, столбцам – входные символы. На пересечении строки, соответствующей состоянию q, и столбца, соответствующего входному символу а, в таблице переходов записывается значение (aq), а в таблице выходов – значение (aq). Другими словами, в первом случае в клетке таблицы указывается состояние, в которое автомат переходит из состояния q при поступлении на его вход символа а, а во втором случае – выходной символ, который при этом выдает автомат. Табл.7.2 и табл.7.3 представляют собой пример описанного представления автомата Мили, у которого А = {a1a2a3a4}, В = {b1b2} и Q  {q1q2q3}.

Таблица 7.2    Таблица 7.3

Функция  Функция 

a1

a2

a3

a4

a1

a2

a3

a4

q1

q1

q2

q1

q2

q1

b1

b1

b2

b1

q2

q3

q1

q3

q1

q2

b1

b2

b2

b1

q3

q3

q1

q1

q1

q3

b2

b2

b1

b1

Зная начальное состояние автомата и входную последовательность, нетрудно получить по этим таблицам соответствующую последовательность выходных символов. Приведем пример такого соответствия для автомата, заданного табл. 7.2 и 7.3, на вход которого поступила последовательность символов а1а2а2а1а3а4а1а4 при начальном состоянии q1. Покажем также состояния, которые проходит автомат:

а1

а2

а2

а1

а3

а4

а1

а4

q1

q1

q2

q1

q1

q1

q2

q3

b1

b1

b2

b1

b2

b1

b1

b1.

Автомат Мура представляется одной таблицей переходов, к которой добавлен один столбец со значениями функции выходов (табл. 7.4).

Можно свести таблицу переходов и таблицу выходов автомата Мили в одну таблицу, которую называют таблицей переходов и выходов. Такая таблица для автомата, заданного в виде табл. 7.2 и табл. 7.3, имеет вид табл. 7.5.

Более наглядным при небольшом числе состояний является представление автомата в виде графа поведения автомата, который представляет собой ориентированный граф. Его вершины соответствуют состояниям автомата, а дуги – переходам между состояниями. При этом дуга помечается всеми входными символами, которые вызывают соответствующий переход, и выходными символами, сопровождающими данный переход (в случае автомата Мили). В случае автомата Мура выходными символами помечаются вершины, соответствующие состояниям, в которых находится автомат при выдаче данных символов. На рис. 7.1 изображены графы переходов автоматов, заданных табл. 7.4 и 7.5.

 Таблица 7.4 Таблица 7.5

Таблица переходов автомата Мура Таблица переходов и выходов

автомата Мили

a1

a2

a3

a4

a1

a2

a3

a4

q1

q1

q2

q1

q2

b1

q1

q1,b1

q2,b1

q1,b2

q2,b1

q2

q3

q1

q3

q1

b1

q2

q3,b1

q1,b2

q3,b2

q1,b1

q3

q3

q1

q1

q1

b2

q3

q3,b2

q1,b2

q1,b1

q1,b1

a1, a3

q1, b1

a1/b1, a3/b2

q1

a2/b2, a3/b1, a4/b1

a2, a4

a2, a4

a2, a3, a4

a2/b1, a4/b1

a2/b2, a4/b1

a1

a1/b2

q2, b1

a1, а3

q3, b2

q3

q2

a1/b1, a3/b2

а) б)

Рис. 7.1. Примеры графов поведения: а) автомата Мура; б) автомата Мили

Еще одним способом представления автомата является матрица поведения, представляющая собой квадратную матрицу, строки и столбцы которой помечаются состояниями автомата. В случае автомата Мура на пересечении строки qi и столбца qj матрицы поведения записываются входные символы, переводящие автомат из состояния qi в состояние qj, а строки помечаются также и выходными символами. В случае автомата Мили элементы матрицы поведения, кроме входных символов, вызывающих соответствующие переходы, содержат выходные символы, которые сопровождают эти переходы. Если из состояния qi нет перехода в состояние qj, то на пересечении строки qi и столбца qj ставится прочерк. Для рассмотренных автоматов ниже представлены матрицы поведения, причем первая из них – матрица поведения автомата Мура, вторая – матрица поведения автомата Мили.

,

.