logo search
Абстрактные цифровые автоматы

1.5 Эквивалентные автоматы. Эквивалентные преобразования автоматов

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

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

Рассмотрим сначала преобразование автомата Мура в автомат Мили.

Пусть дан автомат Мура: SA={ ХA, АA, УA,?A,?A, аоA}, где:

ХA={х1, х2,. хn}; Y={y1, у2,. уm}; А={ а0, а1, а2,. аN}; а0A = а0 - начальное состояние (а0AА); ?A - функция переходов автомата, задающая отображение (ХAхАA) - >АA; ?A - функция выходов автомата, задающая отображение АA->УA.

Построим автомат Мили: SB={ ХB, АB, YB,??B, ?B, а0B}, у которого АBA; ХBA; YBA; ?B=?A; а0B0A. Функцию выходов ?B определим следующим образом. Если в автомате Мура ?Am, х1) = аs и ?As) =yg, то в автомате Мили ?B (am, х1) =yg

Рисунок 1.7 - Иллюстрация перехода от модели Мура к модели Мили

Переход от автомата Мура к автомату Мили при графическом способе задания иллюстрируется рис.1-7: выходной сигнал yg записанный рядом с вершиной (as), переносится на все дуги, входящие в эту вершину.

При табличном способе задания автомата таблица переходов автомата Мили совпадает с таблицей переходов исходного автомата Мура, а таблица выходов получается из таблицы переходов заменой символа as, стоящего на пересечении строки хf и столбца аm, символом выходного сигнала yg отмечающего столбец as в таблице переходов автомата SA.

Из самого способа построения автомата Мили SB очевидно, что он эквивалентен автомату Мура SA. По индукции нетрудно показать, что любое входное слово конечной длины, поданное на входы автоматов SA и SB, установленных в состояния am, вызовет появление одинаковых выходных слов и, следовательно, автоматы SA и SB эквивалентны.

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

SA={ ХA, АA,YA, ?A, ?A, a0A},

где:

ХA={x1, x2,. xn}; Y={y1, у2,. ym}; А={ a0,a1,a2,. aN}; a0A = a0 - начальное состояние (а0AА); ?A - функция переходов автомата, задающая отображение (ХAA) - >АA; ?A - функция выходов автомата, задающая отображение (ХAA) - >YA.

Построим автомат Мура: SB={XB, AB, YB, ?B, ?B, a0B}, у которого XB=XA; YB=YA.

Для определения AB каждому состоянию asАA поставим в соответствие множество As всевозможных пар вида (as, yg)

Функцию выходов ?B определим следующим образом. Каждому состоянию автомата Мура SB, представляющему собой пару вида (as,yg), поставим в соответствие выходной сигнал yg.

Если в автомате Мили SA был переход ?A (am, xf) = as и при этом выдавался выходной сигнал ?A (am,xf) =yg, то в SB будет переход из множества состояний Am, порождаемых am, в состояние (as,yg) под действием входного сигнала xf.

В качестве начального состояния a0B можно взять любое из состояний множества A0, которое порождается начальным состоянием a0 автомата SA. При этом выходной сигнал в момент времени t=0 не должен учитываться.

Рассмотрим пример. Пусть задан автомат Мили (табл.1.10.)

Таблица 10

Таблица 11

A

x1

x2

X

А

x1

x2

a0

a2/y1

a01

a0

b0

a2/y1

b01

a0/y1

b02

a1

a0/y1

а2/y2

a1

a0/y1 b11

а2/y2

b12

a3

a0/y2

a1/y1

a2

a0/y2

b21

a1/y1

b22

Поставим в соответствие каждой паре аi/xk состояние Ьik (i-номер состояния, k-номер входного сигнала), с учетом b0.

Составим таблицу переходов автомата Мура, руководствуясь следующими правилами:

1) Выпишем из таблицы 1.11 состояния автомата Мили и соответствующие каждому из них множества состояний автомата Мура (bik):

а0= {b0, b02, b11, b21}; a1= {b22}; а2= {b01, b12};

2) Если состояние автомата Мура bik входит в множество, соответствующее состоянию аp автомата Мили, то в строку таблицы переходов автомата Мура для состояния bik следует записать строку из таблицы переходов автомата Мили, соответствующую состоянию ар (из 1.10.).

3) Функцию выходов автомата Мура определим следующим образом: ?B (bik) =?Ai, xk). Для начального состояния b0 значение выходного сигнала можно выбрать произвольно, но порождаемый начальным состоянием a0 (с учетом понятия эквивалентности состояний). Результирующая таблица переходов и выходов автомата Мура эквивалентного автомату Мили, заданному таблицей 1.10 представлена в таблице 1.12.

4) Найдем в таблице 1.12 эквивалентные состояния и удалим их (заменим на представителя класса эквивалентности).

Если выходной сигнал возле b0 доопределить y1, то окажется, что в данной таблице переходов находится 3 эквивалентных состояния (b0,b11,b02). Заменив класс эквивалентности одним представителем (b0), получим окончательную таблицу переходов (табл.1.13).

Таблица 1.12

x1

x2

Y

b0

b01

b02

y1

b01

b21

b22

y1

b02

b01

b02

y1

b11

b01

b02

y1

b12

b21

b22

y2

b21

b01

b02

y2

b22

b11

b12

y1

Таблица 1.13.

x1

x2

У

b0

b01

b0

y1

b01

b21

b22

y1

b12

b21

b22

y2

b21

b01

b0

y2

b22

b0

b12

y1

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

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