Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Баранов, С. И. Синтез микропрограммных автоматов

.pdf
Скачиваний:
104
Добавлен:
19.10.2023
Размер:
6.76 Mб
Скачать

входным сигналам, а столбцы — состояниям, причем крайний левый столбец состояний обозначен начальным состоянием а х. На пересе­ чении столбца âm и строки zf в таблице переходов ставится состояние а = б (а,п, Zf), в которое автомат переходит из состояния ат под дейст­ вием сигнала zf, а в таблице выходов —соответствующий этому пере­ ходу выходной сигнал wg — А (а„„ zf). Пример табличного способа задания полностью определенного автомата Мили Sj^ с тремя состоя­

ниями,

двумя

входными и

двумя

выходными

сигналами

приведен

в табл.

1-3

и

1-4. Для частичных

автоматов,

у

которых

функции б

 

 

 

 

Таблица

1-3

 

 

 

 

Таблица 1-4

Таблица

переходов

автомата

 

Таблица выходов

автомата

 

 

Милн S x

 

 

 

 

 

Мили Si

 

 

 

«1

a2

a3

 

 

Ol

 

o2

03

Zi

«3

 

ai

 

Zi

 

 

W1

Wo

Z2

“l

 

o3

o2

 

z2

W1

w2

WL

или А определены не для всех пар (ат , zf) £ А X Z, на месте неопреде­ ленных состояний и выходных сигналов ставится прочерк (частичный автомат S 2 задан табл. 1-5 и 1-6).

 

 

 

Таблица 1-5

 

 

 

 

Таблица 1-6

Таблица переходов

частичного

Таблица

выходов частичного

 

автомата Мили S 2

 

 

автомата Мили S 2

 

 

«1

(ln

03

0.1

 

01

Cln

03

0.1

*1

a2

Оз

Ol

zl

0>1

w3

w3

Zn

«а

Cln

Cln

Zn

Wo

_

wL

Wo

 

 

 

Таблица 1-7

 

 

 

 

Таблица 1-8

Общий вид отмеченной таблицы

Отмеченная таблица переходов

 

переходов автомата Мура

 

 

автомата

Мура S3

 

 

4 “l)

Ч ° лі)

 

®1

Ц>1 W-J

Wo

Ws

 

al

 

ам

 

 

Ol

Cln

Оз

04

a-o

гі

. 6 (öl-

Zl)

б (о ЛІ,

zf)

г1

аn

«5

05

03

a3

ZF

ö (ar

zp)

^ (аМ

гг)

Z-

Ol

ei*

ein

0!

Ol

 

 

 

 

 

 

7

Так как в автомате Мура выходной сигнал зависит только от со стояния, автомат Мура задается одной отмеченной таблицей перехо­ дов (табл. 1-7), в которой каждому ее столбцу приписан, кроме со­ стояния ат, еще и выходной сигнал wg — X (аш), соответствующий этому состоянию. Пример табличного описания автомата Мура S 3 иллюстрируется табл. 1-8.

Граф автомата — ориентированный связный граф, вершины ко­ торого соответствуют состояниям, а дуги —■переходам между ними.

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

Рис. 1-3. Граф автомата

мата Мили Sj

Мили So

Две вершины графа автомата а,„ и as (исходное состояние и состояние перехода) соединяются дугой, направленной от ат к as, если в авто­ мате имеется переход из ат в as, т. е. если as — б (ат , z;) при некото­ ром Zf f Z. Дуге (ат, as) графа автомата приписывается входной сигнал zf и выход­ ной сигнал Wg = X (ат, zf), если он опре­ делен, и ставится прочерк в противном случае. Если переход автомата из состоя­ ния ат в состояние as происходит под дей­ ствием нескольких входных сигналов, то дуге (ат, as) приписываются все эти вход­ ные и соответствующие выходные сигналы.

При описании автомата Мура в виде графа выходной сигнал wg — К (ат) записывается Рис. 1-4. Граф автомата внутри вершины ат или рядом с ней. На

Мура S s

рис. 1-2,

1-3 и 1-4 приведены заданные ра­

Матрица соединений

нее таблицами графы автоматов 5 ^ S 2, 5 3.

автомата есть

квадратная матрица

С = |cms||,

строки которой соответствуют исходным состояниям, а

столбцы —

состояниям перехода.

Элемент cms =

zf/wg, стоящий на

пересечении

т-й строки и s-ro столбца, в случае автомата Мили соответствует вход­ ному сигналу Zf, вызывающему переход из состояния ат в состояние

as, и выходному сигналу

wg, выдаваемому на этом переходе. Для ав­

томата S ± матрица Сг имеет вид:

 

 

 

zjw-y Z-Jw-L

Сг =

z1hw1

zjw 3

 

zjwz

zjwi

8

a3
Ql
w2
w3
Таблица 1-9
Отмеченная таблица переходов асинхронного автомата Мура S 4

Если переход из ат в as происходит под действием нескольких сиг­ налов, элемент cms представляет собой множество пар (вход/выход) для этого перехода, соединенных знаком дизъюнкции. Для модели Мура элемент cms равен множеству входных сигналов на переходе (ат, as), а выход описывается вектором выходов

Ч«і) 1

Wn X (ап1)

X (ам)

т-я компонента которого есть выходной сигнал, отмечающий состоя­ ние ат. Для автомата Мура S s

Zx

Zo

Wx

z2

гх

Wx

 

Z2

 

Zx

; w 0 = w3

Z2

 

Zi

Wo

г2

Zi

ws

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

входным сигналом.

Аналогично

Zl

a2

a2

a2

этому в матрице соединений авто­

 

a3

a2

 

мата в каждой строке

любой вход­

Za

аз

ной сигнал не должен встречаться

«1

Qi

более одного раза.

 

 

 

 

 

В заключение данного параграфа определим синхронные и асин­

хронные автоматы.

 

 

 

 

Состояние as автомата S называется устойчивым состоянием,

если

для любого

входа zf £ Z,

такого, что б

(ат,

zf) = as, имеет

место

б (as, Zf) =

as.

 

 

 

 

Автомат

S называется

асинхронным,

если

каждое его состояние

as £ А устойчиво. Автомат S называется синхронным, если он не яв­ ляется асинхронным.

Необходимо заметить, что построенные на практике автоматы — всегда асинхронные и устойчивость их состояний всегда обеспечи­

9

вается тем или иным способом, например введением сигналов синхро­ низации (см. ниже, § 3-1). Однако на уровне абстрактной теории, когда автомат есть лишь математическая модель, которая не отражает многих конкретных особенностей его возможной реализации, часто оказывается более удобным оперировать с синхронными автоматами,

что мы и будем делать на протяжении всей данной главы. Пример

 

асинхронного автомата Мура S,,

приведен

 

в табл.

1-9 и на рис.

1-5. Нетрудно ви­

 

деть, что все его состояния устойчивы.

 

Очевидно, что если в таблице перехо­

 

дов асинхронного автомата некоторое со­

 

стояние as стоит на

пересечении строки zf

 

и столбца а,п (т =j=s), то это состояние as

 

обязательно должно

встретиться

в этой

 

же строке в столбце as. В графе асинхрон­

 

ного автомата, если в некоторое состояние

Рис. 1-5. Граф асинхрон­

имеются

переходы

из

других

состояний

под действием каких-то сигналов,

то в вер­

ного автомата Мура

 

шине as должна быть

петля,

отмеченная

символами тех же входных сигналов. Анализ таблиц 1-3, 1-5 и 1-8 или рис. 1-2 — 1-4 показывает, что автоматы 5 Х, S 3 и 5 3 являются синхронными.

1-3. Связь между моделями Мили и Мура

В § 1-1 отмечалось, что абстрактный автомат работает как преоб­ разователь слов входного алфавита в слова в выходном алфавите. Остановимся на этом вопросе более подробно, взяв в качестве примера автомат Мили 5 Хна рис. 1-2 (или табл. 1-3, 1-4). Пусть на вход этого автомата, установленного в начальное состояние, поступает входное слово I = z1z1z2z1z2z2. Так как б (ох, zx) = а3, а к (alt zx) — wlt то под действием первой буквы слова | — входного сигнала zx автомат перейдет в состояние а3 и на выходе его появится сигнал wx. Далее, б (а3, Zj) = а х, к (а3, zx) = w2 и потому при приходе второго сигнала zx автомат окажется в состоянии ах, а на выходе его появится сигнал w2. Проследив непосредственно по графу или таблицам переходов и выходов дальнейшее поведение автомата, опишем его тремя строчками, первая из которых соответствует входному слову £, вторая — последо­

вательности состояний,

которые проходит автомат под действием букв

слова I, третья — выходному слову со, которое появляется на выходе

автомата:

 

 

 

 

 

 

 

Zx

Zi

z2

П

^2

Z2

 

ах

а3

ах

ах

ö3

Cl2 a3

 

Wi w2 Wi wx Wi w2.

Назовем о) = к (а,,

£) реакцией

автомата Мили в состоянии ax

на входное слово

Как видно из примера,

в ответ на входное слово

длины k автомат Мили

выдает последовательность состояний длины

10

k + 1 и выходное слово длины к. В общем виде поведение автомата Милн, установленного в состояние ат, можно описать следующим образом:

Входное слово . . .

zii

Zh

 

г‘з

Последовательность

 

2

Zij)

«73 = 6 (щ2, z,-2)

состояний ...............

ат

Щ = б (ат,

 

Выходное слово . . .

= МаШ' 2ij)

' wi2 = X{air

z,-2) Ші3 = Х(аіз, Z[3)

Точно так же можно описать поведение автомата Мура, находя­ щегося в состоянии ат, при приходе входного слова zc , z, , . . .,z,k.

Напомним, что в соответствии с (1-2) выходной сигнал в автомате Мура в момент времени t (w (t)) зависит лишь от состояния, в котором на­ ходится автомат в момент t (а (/)):

Входное слово ......................

 

 

z/2

Последовательность состояний

 

Щ’2= б (^ш>

Выходное слово . . . . . . .

 

Wiy = Ь Кі)

Wi2= X (at-2)

 

 

 

Продолжение

Входное слово ..................

.

Zi3

ац — 6(а,-3, гіз)

Последовательность состояний

ais = 6(a;.2,Zi2)

Выходное слово......................

 

wia = X (аіз)

wti = X (а/4)

Очевидно, что выходной сигнал wt — %(ат) в момент времени іг не зависит от входного сигнала г.1, а определяется только состоянием

ат. Таким образом, этот сигнал wt никак не связан с входным словом, поступающим на вход автомата, начиная с момента і1. В связи с этим под реакцией автомата Мура, установленного в состояние ат, на вход­ ное слово \ = z(- zfo . . . zik будем понимать выходное слово той же длины (а = %(а„), I) = wt wl3 . . . w,k+i.

В качестве примера рассмотрим автомат Мура 5 6, граф которого изображен на рис. 1-6, и найдем его реакцию в начальном состоянии аг на то же самое входное слово g = z1z 1z2z1z2z2, которое мы исполь­ зовали при анализе поведения автомата Мили S x:

Входное слово ........................................

Последовательность состояний . . . .

Выходное слово .....................................

Z l

Z l

Zn Z l

Z2

Zn

 

“ i . . a 4

a2 «1 « 4

a3

® i |

Wx w 2 Wi

t f l

Wx

tt>2J

Как видно из этого и предыдущего примеров,

реакции автоматов S s

h S j B начальном состоянии на входное слово £ с точностью до сдвига

на 1 такт совпадают (реакция автомата Мура обведена штриховой

линией). Дадим теперь строгое определение

эквивалентности пол­

ностью определенных

автоматов.

Два автомата

и Sß с одинаковыми входными и выходными ал­

фавитами называются эквивалентными, если после установления их

11

в начальные состояния их реакции на любое входное слово совпадают. Можно показать [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