logo
Ответы на вопросы экз

37. Алгоритм трансформации автомата Мура в автомат Мили

Два автомата SA и SB с одинаковыми входными и выходными алфавитами называются эквивалентными, если после установления их в начальные состояния их реакция (выходное слово) на любое входное слово совпадает.

Если для автомата Мили (табл. 4.7 и табл. 4.8) и автомата Мура (табл. 4.9) найти их реакции на входное слово x1 x2 x1 x2 x2, то получим следующие две ленты (табл. 4.10 и табл. 4.11).

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

ТП

а1

а2

а3

х1

a2

a3

a2

х2

a3

a2

a1

Таблица 4.8 – Таблица выходов автомата Мили

ТВ

a1

а2

а3

х1

u1

u3

u3

х2

u2

u1

u1

Таблица 4.9 – Отмеченная таблица переходов автомата Мура

ОТП

u1

u1

u3

u2

u3

a1

a2

a3

a4

a5

х1

a2

a5

a5

a3

a3

х2

a4

a2

a2

a1

a1

Таблица 4.10 – Лента Тьюринга для автомата Мили

Такт

0

1

2

3

4

5

Х

x1

x2

x1

x2

x2

A

a2

a2

a2

a3

a1

a3

Y

u1

u1

u3

u1

u2

Таблица 4.11 – Лента Тьюринга для автомата Мура

Такт

0

1

2

3

4

5

Х

x1

x2

x1

x2

x2

A

a2

a2

a2

a5

a1

a4

Y

u1

u1

u1

u3

u1

u2

Из сравнения лент двух автоматов Мили и Мура видно, что их реакции (реакции автомата Мили и сдвинутой на один такт реакции автомата Мура) совпадают.

Выходным сигналом автомата Мура в такт t=0 пренебрегаем, так как он определяется не входным сигналом автомата в этот момент времени, а исключительно состоянием.

Из сравнения двух лент, конечно, не следует делать вывод, что оба автомата SA и SB эквивалентны, так как исследование проведено только для одного входного слова, а не для всех допустимых (разрешенных) входных слов. Известно изначально, что они эквивалентны.

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

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

SA={AA, XA, YA, A, A, a1A}, у которого

AA={a1,…,am};

XA= {x1,…,xF};

YA={u1,…,uG};

A: AA×XAAA;

A: AAYA,

a1A=a1 – начальное состояние.

Построим автомат Мили SB={AB, XB, YB, B , B, a1B} , у которого AB=AA; XB=XA; YB=YA; B=A; a1B=a1A=a1. Функцию выходов B: AB×XBYB определим следующим образом: если в автомате Мура A (am, xf)=as и A(as)=ug, то в автомате Мили B(am,xf)=ug.

Переход от автомата Мили при графическом способе задания автомата иллюстрируется фрагментом графа переходов на рис. 4.7.

Рисунок 4.7 – Переход от автомата Мура к автомату Мили

При переходе от автомата Мура к автомату Мили выходной сигнал ug, записанный рядом с вершиной as, переносится на все дуги, входящие в эту вершину.

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

Из самого способа построения автомата Мили SB следует, что он эквивалентен автомату Мура SA. В качестве примера перехода от автомата Мура к автомату Мили, представленных графом переходов можно привести примеры на рис. 4.3 (Мили) и 4.4 (Мура).

Рассмотрим пример перехода от ОТП автомата Мура (табл. 4.9) к автомату Мили, представленному таблицей переходов и таблицей выходов. В результате получим табл. 4.12 и табл. 4.13.

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

ТП

а1

а2

а3

a4

a5

х1

a2

a5

a5

a3

a3

х2

a4

a2

a2

a1

a1

Таблица 4.13 – Таблица выходов автомата Мили

ТВ

a1

а2

а3

a4

a5

х1

u1

u3

u3

u3

u3

х2

u2

u1

u1

u1

u1