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

38. Алгоритм перехода от автомата Мили к автомату Мура

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

Итак, пусть задан автомат Мили SA={AA, XA, YA, A, м, a1A}, где

AA={a1,…,am};

XA= {x1,…,xF};

YA={u1,…,uG};

A: AA×XAAA;

A: AA×XAYA,

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

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

Для определения AB каждому состоянию asAA поставим в соответствие множество AS возможных пар вида (as, ug), где ug – выходной сигнал ug, приписанный входящей в as дуге (рис. 4.8)

AS={(aS, ug)/A(am, xf)=as и A(am,xf)=ug}.

Число элементов в множестве AS равно числу различных выходных сигналов на дугах автомата SA, входящих в состояние as.

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

Множество состояний автомата AS получим как объединение множеств AS(s=1, …, M):

AB=As

Функции выходов B и переходов B определим следующим образом. Каждому состоянию автомата Мура SB, представляющему собой пару вида (as, ug) поставим в соответствие выходной сигнал ug. Если в автомате Мили SA был переход A(am, xf)=as и при этом выдавался выходной сигнал A(am, xf)=uk, то в SB (рис. 4.8) будет переход из множества состояний m, порождаемых am, в состояние (as, uk) под действием того же входного сигнала.

В качестве начального состояния a1B можно взять любое из состояний множества A1, порождаемого начальным состоянием a1 автомата AA. Напомним, что при сравнении реакций автоматов SA и SB (или AA и AB) на всевозможные входные слова не должен учитываться выходной сигнал автомата Мура в момент t=0, связанный с состоянием a1B автомата AB.

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

Оно не возрастает, если каждое состояние автомата Мили порождает только одно состояние автомата Мура.

Пример. Рассмотрим переход от автомата Мили к автомату Мура. Граф автомата Мили (рис. 4.9) построен по табл. 4.7 и табл. 4.8.

Рисунок 4.9 – Граф переходов автомата Мили

Состояния a2 и a3 порождают по подмножеству, состоящему из двух состояний a2{(b2, u1); (b3, u3)}, так как в a2 входят две дуги, отмеченные выходными сигналами u1 и u3. Состояние a3 автомата Мили порождает также два состояния b4 и b5 автомата Мура a3{(b4, u2), (b3, u3)} так как в a3 входят две дуги, отмеченные сигналами u2 и u3.

В таблице 4.14 представлены промежуточные записи для формирования новых состояний автомата Мура и его переходов. Таблица заполняется по столбцам.

Таблица 4.14 – Формирование новых состояний автомата Мура и его переходов

Автомат Мили

Автомат Мура

переходы

am as

состояние

as

состояние

bs

переходы

bm bs

a3 (x2, u1) a1

a1

b1/u1

b4 (x2) b1; b5 (x2) b1

a1 (x1, u1) a2

a2

b2/u1

b1 (x1) b2

a2 (x2, u1) a2

a2

b2 (x2) b2; b3 (x2) b2

a3 (x1, u3) a2

a2

b3/u3

b4 (x1) b3; b5 (x1) b3

a1 (x2, u2) a3

a3

b4/u2

b1 (x2) b4

a2 (x1, u3) a3

a3

b5/u3

b2 (x1) b5; b3 (x1) b5

По таблице 4.14 строим граф переходов автомата Мура (рис. 4.10).

Рисунок 4.10 – Граф переходов автомата Мура