Эквивалентные автоматы

Два автомата Sa и Sb с одинаковыми входными и выходными алфавитами называются эквивалентными. Для любого автомата Мили существует эквивалентный ему автомат Мура, и, обратно, для любого автомата Мура существует эквивалентный ему автомат Мили.

Рассмотрим алгоритм перехода от произвольного конечного автомата Мили к эквивалентному ему автомату Мура.

Пусть дан конечный автомат Мили Sa={Aa,Xa,Ya,da,la}, имеющий множество состояний Aa={a0,a1,…,ai,…,an}, множество входных и выходных сигналов
Xa={x1,x2,…,xj,…,xm} и Y={y1,y2,…,yg,…,yk}, а также функции переходов da(a,x) и выходов la(a,x).

Требуется построить эквивалентный ему автомат Мура Sb={Ab,Xb,Yb,db,lb}, у которого Xb=Xa, Yb=Ya, так как множества входных и выходных сигналов у эквивалентных автоматов должны совпадать.

Для определения множества состояний Ab автомата Мура образуем всевозможные пары вида (ai,yg), где yg – выходной сигнал, приписанный к дуге, входящей в состояние ai. Например, для вершины ai имеем пары (ai,y1), (ai,y2), (ai,y3).

     

Если такие пары мы образуем для всех вершин, то получим множество пар, которое является множеством состояний автомата Мура:

Ab={(a0,y1), (a0,y2),…,(an,yk)}={b1,b2,…,bn}, где bl=(ai,yg).

Функции выходов lb и переходов db определим следующим образом. Каждому состоянию автомата Мура, представляющему собой пару вида (ai,yg) поставим в соответствие выходной сигнал yg, то есть функция выходов равна yg=lb[(ai,yg)] = lb[bl]. Если в автомате Мили Sa был переход
da(ai,xj)=as и при этом выдавался выходной сигнал la(ai,xj)=yp, то в эквивалентном автомате Мура будет переход из множества состояний (ai,yg), где g принадлежит G, G – множество номеров выходных сигналов, приписанных к входящей ai дуге, в состояние (as,yp) под действием входного сигнала xj.

Автомат Мили (фрагмент)
Автомат Мура эквивалентный автомату Мили

Автомат Мили имеет два состояния, а автомат Мура три: (ai,yf), (ai,yh), (ai,yp). Если автомат Мили был в состоянии ai и пришел входной сигнал xj, то должен выработаться выходной сигнал yp. Поэтому в автомате Мура из состояний, порождаемых ai, то есть из состояний (ai,yf) и (ai,yh) при поступлении xj переход должен идти в состояние, отмеченное выходным сигналом yp, то есть в (as, yp). В качестве начального состояния автомата Мура можно взять любое состояние из множества (a0, yr).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: