Файл: Баранов, С. И. Синтез микропрограммных автоматов.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.10.2024

Просмотров: 91

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

выходным сигналом, связанным с начальным состоянием (X (cj)). Рассмотрим сначала преобразование автомата Мура в автомат

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

S.4— Z А, Ѵ А, б^, ХА, «і /і),

где А ^ {^і> • • • 1 fyn’ • - • >

ZA

. . .

,

27,

. . . , Zf}f

W A =

К ,

 

. .

. ,

wa\)

реализует

отображение

 

А л X ZA

в

А а,

Хл — отображение

А а на WА,

а а1А = аг — начальное состояние. По­

строим

автомат Мили

 

 

 

 

Sß =(y4ß, ZB, Wв ,

öß, Хв , Яів),

Рис. 1-6. Граф авто­

Рис. 1-7. Иллюстрация перехода

мата Мура S5

от модели Мура к модели Мили

у которого

 

 

 

А в = А А= [аъ

. . . , ат,

. . . ,

аЛІ),

Z в — Z а — \z i< ■ ■ ■ 1 z !> • • • I

zf )>

W ß = W A={Wl<

■• ■1

• • ■> ^ g).

&В — & Л’

а 1В = а 1 А = а \-

 

Функцию выходов Хв определим следующим образом. Если в авто­ мате Мура бл (а,„, Zf) = as и ХА (as) = wg, то в автомате Мили Хв (аіп, Zf) = wg.

Переход от автомата Мура к автомату Мили при графическом спо­ собе задания иллюстрируется рис. 1-7: выходной сигнал (wg), записан­ ный рядом с вершиной (as), переносится на все дуги, входящие в эту вершину. На рис. 1-8 приведен граф автомата Мили S0, эквивалент­ ного автомату Мура S 3 (рис. 1-4).

При табличном способе задания автомата S 4 таблица переходов автомата S B совпадает с таблицей переходов S A, а таблица выходов S B получается из таблицы переходов заменой символа as, стоящего на пересечении строки Zf и столбца ат, символом выходного сигнала we, отмечающего столбец as в таблице переходов автомата S^.

12


Из самого способа построения автомата Мили S B очевидно, что

он эквивалентен автомату Мура

Действительно, если некоторый

входной сигнал zf

Z поступает на вход .автомата S A, находящегося

в состоянии а,п, то он перейдет в состояние as = бд (ат, zf) и выдаст

выходной сигнал

wg = І А (as). Но

соответствующий

автомат Мили

S B из состояния

ат также

перейдет

в состояние as,

поскольку

(ат, Zf) — 8А (a,n,Zf) = as,

и выдаст

тот же выходной

сигнал со­

гласно способу построения функции %в . Таким образом, для входной последовательности длины один поведение автоматов S A и S B пол­ ностью совпадает. По индукции нетрудно показать, что любое вход­ ное слово конечной длины, поданное на входы автоматов 5 л и S B, установленных в состояния ат, вызовет появление одинаковых вы­ ходных слов и, следовательно, автоматы S A и S B эквивалентны.

Рис. 1-8. Автомат Мили S0.

Рис. 1-9. Построение

эквивалентный

автомату

множества

Мура S3

 

 

Прежде чем рассмотреть трансформацию автомата Мили в авто­ мат Мура, наложим на автомат Мили следующее ограничение: у авто-^ мата не должно быть преходящих состояний. Под преходящим будем понимать состояние, в которое при представлении автомата в виде графа не входит ни одна дуга, но которое имеет по крайней мере одну выходящую дугу (пример — состояние ах на рис. 1-3). Итак, пусть задан автомат Мили

■5ц— [А А, Z А, W л , 8Л, ХА, а1А],

где А А {^іі •

• • >

• • • >

аЛіЬ

Z А

| 2і, . . . , Zf, . .

. , Zp) >

WA = \wly

wg,

, ayG);

8A реализует

отображение

A Ä x Z A

в A a, l A — отображение A a X

Z A на

WA,

а

a1A = аА — начальное

состояние.

 

 

 

 

 

 

 

Построим автомат Мура

 

 

 

 

 

S b И й> %в > W в , 8В, Хв , а1В),

' у которого

Zb = Z a = Ігі> • • • I z/> • • • > zf)>

W B= W A = (tOj, . . . , Wg, . . . , wa).

13


Для определения А в каждому состоянию as £ А л поставим в со­ ответствие множество As всевозможных пар вида (as, wg), где wg — выходной сигнал, приписанный входящей в as дуге (рис. 1-9):

Л = { (“*> Wg) I б (ат, Zf) = as и Х(ат, Z/) = wg}.

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

Множество состояний автомата S B получим как объединение мно­ жеств /ls (s = 1, . . . , М)\

м

Ав и А к.

Рис. 1-10. Иллюстрация перехода от модели Мили

к модели Мура

 

Функции выходов Хв и переходов

определим следующим обра­

зом. Каждому состоянию автомата Мура S B, представляющему собой

пару вида (as, wg),

поставим в соответствие выходной сигнал wg. Если

в автомате Милн S A был переход 6л(аш,

zf) = as и при

этом выда­

вался

выходной сигнал ХА (ат, zf) — wk, то в S B (рис. 1-10) будет пе­

реход

из множества состояний

А т, порождаемых ат,

в состояние

(as, wk) под действием входного сигнала zf.

 

 

 

В качестве начального состояния а1В можно взять любое из состоя­

ний множества А х, которое порождается

начальным состоянием ах

автомата S A. Напомним, что при сравнении реакций автоматов

и.

S B на

всевозможные входные слова не должен учитываться выход­

ной сигнал в момент t = 0, связанный с состоянием а1В автомата

S B.

Рассмотрим пример преобразования автомата Мили, изображен­

ного на рис. 1-2,

в автомат Мура.

В автомате Мили ZA =

{zx,

z2),

WA =

{^1, ®г). A a = (ax, a 2, a3),

a1A = alt 8A и XA определяются

графом автомата. В эквивалентном автомате Мура ZB = Z A =

[zx, z2],

WB =

WA = (ayx,

w2}. Построим

множество А в , для

чего

найдем

множества пар,1 порождаемых

каждым состоянием автомата 5 Л:

 

А 1=[{а1, Ші),

(fli, ша)} =

{&1, 6а);

 

 

 

 

 

А 2= ((а2, шх)} =

(63);

 

 

 

 

1 Для краткости

пары заменены символами

blt b2, . .

 

 

 

14


A 3={{a3, Wx), (flg.

W2)} = {bx,

br,}\

 

А ß — А 1U A 2U А 3 =

(bi,

b2, b3,

bx, b3) .

 

С каждым состоянием, представляющим собой пару,

отождествим

выходной сигнал, являющийся вторым элементом этой пары:

Xв (Ьх) = А.в (Ь3) = %в Фі) —WA

(bz) =

(b&) = w2.

Поясним построение функции 6B. Так как в автомате

из состоя­

ния а± есть переход под действием сигнала zx в состояние а3 с выда­

чей wx, то из множества состояний А х = [Ьх, b2\,

порождаемых ах,

в автомате S B должен быть переход в состояние

(а3, wx) — Ья под

Рис. 1-11. Автомат

Рис.

1-12.

Автомат Мура

Рис. 1-13. Автомат

Мили S,

с прехо­

Ss, эквивалентный автомату

Мили S0, эквивалент-

дящим состоянием

 

 

Мили

S7

 

 

ный

автомату

Мура

 

 

 

 

 

 

 

 

 

 

 

 

 

действием сигнала z x. Аналогично

из состояний

А х долнсен быть пе­

реход в состояние (ах, w^)

= bx под действием сигнала z2 и т. д. В ка­

честве начального состояния можно выбрать любое из Ьх, Ь2

£

А х.

Если теперь символы

(і — 1, . . . , 5) заменить на а£,

то получим

автомат Мура SBна рис. 1-6, эквивалентный автомату Мили на рис. 1-2.

Рассмотрим переход

к

автомату

Мура

от

автомата

Мили

S7

(рис. 1-11), у которого

состояние

ах — преходящее.

Как

и

выше,

А х U А 2 U А 3 =

{(а2,

wx), (аа, w2),

(а3,

wx),

(а3, w2))

=

{bx,

Ь2,

bз, 64].

К множеству полученных

пар — состояний

автомата

Мура

добавим состояние (ах,

—) =

Ьъ,

порождаемое

преходящим

состоя­

нием ах, считая,

что выходной сигнал в состоянии Ьь

не определен.

Функцию переходов определим как и ранее, в частности из состоя­

ния &б

будут переходы в bx = (а2, wx) под действием сигнала zx и

в Ь3 =

(а3, w-j) под действием z2. Так как ах— начальное состояние

автомата Мили, то в качестве начального состояния автомата Мура следует взять порождаемое им состояние Ьъ. На рис. 1-12 приведен граф автомата Мура S 8, эквивалентного автомату Мили на рис. 1-11.

Эквивалентность автоматов S B и S A при преобразовании автомата Мили в автомат Мура на множестве входных слов конечной длины легко доказать по индукции подобно изложенному выше при обратном преобразовании.

15


Изложенные методы взаимной транспозиции моделей Мили и Мура показывают, что при переходе от автомата Мура к автомату Милн число состояний автоматов не меняется, тогда как при обратном пе­ реходе число состояний в автомате Мура, как правило, возрастает. Если, например, от автомата Мура S5 (рис. 1-6), эквивалентного ав­ томату Мили S x (рис. 1-2), перейти вновь к автомату Мили, то полу­ чим автомат Мили S s (рис. 1-13). Вследствие транзитивности отноше­ ния эквивалентности два автомата Мили Sx и S g также будут эквива­ лентны, но у последнего на два состояния будет больше. Таким обра­ зом, эквивалентные между собой автоматы могут иметь различное число состояний, в связи с чем возникает задача нахождения мини­ мального (т. е. с минимальным числом состояний) автомата в классе эквивалентных между собой автоматов. Существование для любого абстрактного автомата 5 эквивалентного ему абстрактного автомата Smin с минимальным числом внутренних состояний впервые было до­ казано Муром.

1-4. Минимизация полностью определенных автоматов

Рассмотрим алгоритм минимизации полностью определенных аб­ страктных автоматов Мили, предложенный Ауфенкампом и Хоном [1 ]. Основная идея этого метода состоит в разбиении всех состояний исходного абстрактного автомата на попарно не пересекающиеся классы эквивалентных состояний и замене каждого класса эквивалент­ ности одним состоянием. Таким образом, получающийся в результате минимальный автомат имеет столько же состояний, на сколько классов эквивалентности разбиваются состояния исходного автомата.

Д ва. состояния автомата ат и

as называются эквивалентными

(ат ~ as), если X (а„„ £) — X (as, I)

для всевозможных входных слов

Если ат и as не эквивалентны, они различимы. Более слабой эквива­

лентностью является

/г-эквивалентность.

Состояния ат и as /г-экви-

валентны

k

если

X (ат,

l k) = Х

(as,

Ік)

для всевозможных

(a,n = as),

входных

слов %k длины к.

Если

состояния

не

/fe-эквивалентны, они

^-различимы.

Введенные отношения эквивалентности и /г-эквивалентности реф­ лексивны, симметричны и транзитивны, следовательно, они являются отношениями эквивалентности, а потому могут быть использованы для разбиения множества А состояний автомата на попарно не пере­ секающиеся классы (классы эквивалентности). Соответствующие раз­ биения на классы эквивалентных и /г-эквивалентных состояний будем обозначать я и пк. Разбиение я позволяет определить избыточные эле­ менты в множестве состояний А. Пусть, например, ат и as эквива­ лентны. Это значит, что с точки зрения реакций автомата на всевоз­ можные входные слова неважно, находится автомат в состоянии ат или as, и одно из них, например as,. может быть удалено из множества А. Если каждый класс эквивалентности содержит только одно состоя­ ние, множество А несократимо. Если же один или несколько классов содержат более одного элемента, все элементы, кроме одного в каждом

16