Применительно к общему определению абстрактного автомата, последнее равнозначно описанию функций δи λв соответствии с выражением: ap= δ (ai, xm), yк= λ (ai, xm).
Отображение Faiзаписывается следующим образом:
Fai{ap (Xm/yk),ai (Xf/yz) …}.
Для абстрактного автомата Мили (табл.1.7.) аналитическое задание имеет следующий вид:
S={ X,A,Y,F}, X={x1,x2}, A={a1, а2, а3}, Y={y1, y2, у3},
Fa1={a2 (x1/y2), a1 (x2/у3) },
Fа2={а3 (x1/y3), a1 (x2/y1) },
Fa3={a1 (x1/y3), а2 (x2/y2) }.
Следует отметить, что функция Fai всегда записывается для исходного состояния.
Определим синхронные и асинхронные автоматы. Состояние аsавтомата Sназывается устойчивым cостоянием, если для любого входного сигнала хj
Х, такого, что аs= δ (аiХm) имеет место as= δ (as, xm).Автомат S называется асинхронным, если каждое его состояние as
А устойчиво. Автомат S называется синхронным, если он не является асинхронным.Необходимо заметить, что построенные на практике автоматы всегда асинхронные и устойчивость их состояний всегда обеспечивается тем или иным способом, например, введением сигналов синхронизации. Однако, на уровне абстрактной теории автоматов, когда автомат всего лишь математическая модель, которая не отражает многих конкретных особенностей его реализации, часто оказывается более удобным оперировать с синхронными автоматами.
Как уже отмечалось, абстрактный автомат работает как преобразователь слов входного алфавита в слова выходного алфавита.
Пусть абстрактный автомат Мили задан графом рис.1.5.
На вход этого автомата, установленного в начальное состояние, поступает входное слово X=x1, x1, x2, x1, x2, x2.
Рисунок 1.5 - Граф автомата Мили
Так как (a1, x1) = а3, a (a1, x1) = y1, то под действием первой буквы слова Х входного сигнала x1 автомат перейдет в состояние a3 и на выходе его появится сигнал y1. Далее, (а3, x1) = a1, а (а3, x1) = у2, потому при приходе второго сигнала x1 автомат окажется в состоянии a1, а на выходе его появится сигнал у2. Проследив непосредственно по графу или таблицам переходов и выходов дальнейшее поведение автомата, опишем его тремя строчками, первая из которых соответствует входному слову X, вторая - последовательности состояний, которые проходит автомат под действием букв слова X, третья - выходному слову У, которое появляется на выходе автомата:
x1x1 x2x1x2x2
a1а3 a1a1а3a2а3
y1y2 y1y1y1y2
Назовем у = (а1, X) реакцией автомата Мили в состоянии a1 на входное слово X. Как видно из примера, в ответ на входное слово длины kавтомат Мили выдает последовательность состояний длины к+1 и выходное слово длины k. В общем виде поведение автомата Мили, установленного в состояние аm, можно описать следующим образом:
Входное слово | xi1 | xi2 | xi3 |
Последовательность состояний | am | ai2= (am,xi1) | ai3= (ai2,xi2). |
Выходное слово | yi1= (am,xi1) | yi2= (ai2,xi2) | yi3= (ai3,xi3) |
Точно так же можно описать поведение автомата Мура, находящегося в состоянии am, при приходе входного слова xi1, xi2,., хik. Напомним, что в соответствии с (1-2) выходной сигнал в автомате Мура в момент времени t (У (t)) зависит лишь от состояния, в котором находится автомат в момент t (a (t)):
Входное слово | xi1 | xi2 | xi3 | |
Последовательность состояний | am | ai2= (am,xi1) | ai3= (ai2,xi2) | ai4= (ai3,xi3) |
Выходное слово | yi1= (am,xi1) | yi2= (ai2,xi2) | yi3= (ai3,xi3) | yi4= (ai4) |
Очевидно, что выходной сигнал уi1=λ (am) в момент времени i1 не зависит от входного сигнала xi1, а определяется только состоянием аm.
Таким образом, этот сигнал yi1 никак не связан с входным словом, поступающим на вход автомата, начиная с момента i1. В связи с этим под реакцией автомата Мура, установленного в состояние amна входное слово X=xi1, хi2,., хikбудем понимать выходное слово той же длины у= λ (am,Х) =уi2, уi3,., yik+1.
В качестве примера рассмотрим автомат Мура S5, граф которого изображен на рис.1-6, и найдем его реакцию в начальном состоянии на то же самое входное слово которое мы использовали при анализе поведения автомата Мили S1:
Входное слово | x1 | x1 | x2 | x1 | x2 | х2 | |
Последовательность состояний | a1 | a4 | a1 | a1 | a4 | a3 | a5 |
Выходное слово | y1 | y1 | y2 | y1 | y1 | y1 | y2 |
Рисунок 1-6 - Граф автомата Мура
Как видно из этого и предыдущего примеров, реакции автоматов S5 и S1 в начальном состоянии на входное слово Х с точностью до сдвига на 1 такт совпадают (реакция автомата Мура обведена линией). Дадим теперь строгое определение эквивалентности полностью определенных автоматов.
Два автомата SAи SBс одинаковыми входными и выходными алфавитами называются эквивалентными, если после установления их в начальные состояния их реакции на любое входное слово совпадают.
Можно показать, что для любого автомата Мили существует эквивалентный ему автомат Мура и, обратно, для любого автомата Мура существует эквивалентный ему автомат Мили.
При описании алгоритмов взаимной трансформации автоматов Мили и Мура в соответствии с изложенным выше мы будем пренебрегать в автоматах Мура выходным сигналом, связанным с начальным состоянием ( (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}, у которого АB=АA; ХB=ХA; YB=УA; B=A; а0B=а0A. Функцию выходов Bопределим следующим образом. Если в автомате Мура A (аm, х1) = аsи A (аs) =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 - функция переходов автомата, задающая отображение (ХAxАA) - >АA; A - функция выходов автомата, задающая отображение (ХAxАA) - >YA.