Прежде чем рассмотреть трансформацию автомата Мили в автомат Мура, наложим на автомат Мили следующее ограничение, в нем не должно быть преходящих состояний. Под преходящим будем понимать состояние, в котором при представлении автомата графом переходов не входит ни одна дуга, но которое имеет по крайней мере одну выходящую дугу.
Итак, пусть задан автомат Мили SA ={ AA, XA, YA, dA, lм, a 1 A }, где
AA ={ a 1 ,…,am };
XA = { x 1 ,…,xF };
YA ={ u 1 ,…,uG };
dA: AA × XA ® AA;
lA: AA × XA ® YA,
a 1 A = a 1 – начальное состояние.
Построим автомат Мура SB ={ AB, XB, YB, dB, lB, a 1 B }, у которого XB=XA; YB=YA.
Для определения AB каждому состоянию as Î AA поставим в соответствие множество AS возможных пар вида (as, ug), где ug – выходной сигнал ug, приписанный входящей в as дуге (рис. 4.8)
AS ={(aS, ug)/ dA (am, xf)= as и lA (am,xf)= ug }.
Число элементов в множестве AS равно числу различных выходных сигналов на дугах автомата SA, входящих в состояние as.
Рисунок 4.8 – Переход от автомата Мили к автомату Мура
Множество состояний автомата AS получим как объединение множеств AS (s =1, …, M):
|
|
AB = As
Функции выходов lB и переходов dB определим следующим образом. Каждому состоянию автомата Мура SB, представляющему собой пару вида (as, ug) поставим в соответствие выходной сигнал ug. Если в автомате Мили SA был переход dA (am, xf)= as и при этом выдавался выходной сигнал lA (am, xf)= uk, то в SB (рис. 4.8) будет переход из множества состояний lm, порождаемых am, в состояние (as, uk) под действием того же входного сигнала.
В качестве начального состояния a 1 B можно взять любое из состояний множества A 1, порождаемого начальным состоянием a 1 автомата AA. Напомним, что при сравнении реакций автоматов SA и SB (или AA и AB) на всевозможные входные слова не должен учитываться выходной сигнал автомата Мура в момент t =0, связанный с состоянием a 1 B автомата AB.
Изложенные методы взаимной трансформации моделей Мили и Мура показывают, что при переходе от автомата Мура к автомату Мили число состояний автомата не изменяется, тогда как при обратном переходе число состояний в автомате Мура, как правило, возрастает.
Оно не возрастает, если каждое состояние автомата Мили порождает только одно состояние автомата Мура.
Пример. Рассмотрим переход от автомата Мили к автомату Мура. Граф автомата Мили (рис. 4.9) построен по табл. 4.7 и табл. 4.8.
Рисунок 4.9 – Граф переходов автомата Мили
Состояния a 2 и a 3 порождают по подмножеству, состоящему из двух состояний a 2®{(b 2, u 1); (b 3, u 3)}, так как в a 2 входят две дуги, отмеченные выходными сигналами u 1 и u 3. Состояние a 3 автомата Мили порождает также два состояния b 4 и b5 автомата Мура a 3®{(b 4, u 2), (b 3, u 3)} так как в a 3 входят две дуги, отмеченные сигналами u 2 и u 3.
В таблице 4.14 представлены промежуточные записи для формирования новых состояний автомата Мура и его переходов. Таблица заполняется по столбцам.
|
|
Таблица 4.14 – Формирование новых состояний автомата Мура и его переходов
Автомат Мили | Автомат Мура | ||
переходы am ® as | состояние as | состояние bs | переходы bm ® bs |
a 3 (x 2, u 1) a 1 | a 1 | b 1/ u 1 | b 4 (x 2) b 1; b 5 (x 2) b 1 |
a 1 (x 1, u 1) a 2 | a 2 | b 2/ u 1 | b 1 (x 1) b 2 |
a 2 (x 2, u 1) a 2 | a 2 | b 2 (x 2) b 2; b 3 (x 2) b 2 | |
a 3 (x 1, u 3) a 2 | a 2 | b 3/ u 3 | b 4 (x 1) b 3; b 5 (x 1) b 3 |
a 1 (x 2, u 2) a 3 | a 3 | b 4/ u 2 | b 1 (x 2) b 4 |
a 2 (x 1, u 3) a 3 | a 3 | b 5/ u 3 | b 2 (x 1) b 5; b 3 (x 1) b 5 |
По таблице 4.14 строим граф переходов автомата Мура (рис. 4.10).
Рисунок 4.10 – Граф переходов автомата Мура