Конспект лекций москва 2004 удк 519. 713(075)+519. 76(075) ббк 22. 18я7

Вид материалаКонспект

Содержание


12.2. Автоматы Мура
Подобный материал:
1   ...   13   14   15   16   17   18   19   20   21

12.2. Автоматы Мура


Автоматы Мура отличаются от автоматов Мили тем, что здесь одному состоянию (а не переходу) соответствует один выход.

Конечный автомат Мура: S=< Va, Q, Vb, q0, F, G>, где

Va={a1,a2,…, am}, m1 – входной алфавит автомата,

Vb= {b1, b2, …, bn}, n1 – выходной алфавит автомата,

Q = {q0,q1,…, qk}, k0 – внутренний алфавит (алфавит состояний),

q0Q – начальное состояние автомата (инициальный автомат, иногда рассматривают q0= q(0)),

F – функция переходов; F: Q Va Q,

G – функция выходов, G: Q  Vb .

Приняты две схемы задания автоматов Мура:

Первая схема

Вторая схема

q (t+1) =f (q(t), a(t))

b(t)= g(q(t))

q (t+1) =f (q(t), a(t))

b(t)= g(q(t+1))



При работе по первой схеме выход автомата однозначно соответствует состоянию, из которого совершается переход, по второй – состоянию, в которое автомат переходит. Хотя при записи уравнений первая схема выглядит более естественно, условие второй схемы реализовать проще: в соответствующих автоматах Мили для первой схемы должны быть одинаковые выходы на всех дугах, выходящих из состояния, для второй – одинаковые выходы должны быть на дугах, ведущих в состояние. Первое условие может выполняться, а может и не выполняться, выполнения второго условия можно достичь с помощью эквивалентного преобразования автомата.

Рассмотрим автомат Мура, представленный на рис. 27



Рис.27

Здесь выходы, соответствующие состояниям, изображены справа от состояния. Если рассматривать работу автомата по первой схеме, то входу aabb будет соответствовать выход EDDC, если же по второй схеме, то этому же входу соответствует выход DDCE.

По автомату Мура всегда можно построить автомат Мили.

Автомат Мили, эквивалентный автомату Мура, представленному на рис. 27, при работе по первой схеме, дан на рис. 28(все дуги, ведущие из состояния, имеют одинаковые выходы), а при работе по второй схеме – на рис.29 (все дуги, ведущие в состояние, имеют одинаковые выходы).





Рис.28

Рис.29

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

По выразительной мощности эти модели (автоматы Мили и Мура) эквивалентны, если используется вторая схема для представления автоматов Мура.

Построение автомата Мура (вторая схема) по автомату Мили:

а) если все дуги, ведущие в некоторое состояние qk, имеют одинаковые выходные пометки bs, то эта пометка просто переносится на это состояние (рис.30).



Рис. 30

Формально это условие для состояния qk и выхода bs можно записать так:

qi,qj,an,am (f(qi,an)= f(qj,am)= qk  g(qi,an)= g(qj,am)= bs);

б) общий случай: в некоторые вершины ведут дуги, помеченные разными символами. В этом случае все такие вершины qk расщепляются на множество вершин (расщепление состояния), помечаемых символами k,bj> (рис.31). Условная запись расщепления состояний:qk{k, bj>/ f(qi, a)=qk, g(qi, a)=bj}



Рис. 31

В общем случае число состояний увеличивается. Затем для каждого состояния qi исходного автомата Мили и для каждой дуги из состояния qi в состояние qk с пометкой ap/bs (ap – вход, bs – выход) строятся дуги из всех i,bj> в k, bs> и помечаются ap.

Кроме того, если начальное состояние q0 расщепилось, вводится новое начальное состояние, в которое не ведет ни одна дуга.

Затем приписываем состояниям соответствующие выходы и переобозначаем состояния.

Например, рассмотрим автомат Мили (рис. 32, а), приведенный так же на рис. 25. У этого автомата состояния q1 и q2 расщепляются, а q0 не расщепляется, поэтому новое входное состояние не вводится. Полученный эквивалентный автомат Мура приведён на рис. 32,б. Тот же автомат после переобозначения состояний приведен на рис. 32,в.





Рис. 32

Полный алгоритм построения эквивалентного автомата Мура по автомату Мили выглядит следующим образом:
  1. расщепляем состояния;
  2. вводим дополнительное входное состояние (если входное состояние расщепилось);
  3. строим дуги, соответствующие дугам исходного автомата;
  4. переносим выходные символы на соответствующие состояния;
  5. переобозначаем состояния.

Таким образом, установлено соответствие между разными типами автоматов.