Прежде чем рассмотреть трансформацию автомата-Мили в автомат Мура, наложим на автомат Мили следующее ограничение: у автомата не должно быть преходящих состояний. Под преходящим будем понимать состояние, в которое при представлении автомата в виде графа не входит ни одна дуга, но которое имеет по крайней мере одну выходящую дугу (пример - состояние a1 на рис. 1-3). Итак, пусть задан автомат Мили
SA={AA, ZA, WA, A, A, a1A},
где
AA = {а1,:, аm,:, aM}, ZA= {z1,:, zf,:, zF}, WA = {w1,:, wg,:, wG};
A - реализует отображение AA х ZA в AA, A - отображение AA на WA , а a1A = a1 - начальное состояние. Построим автомат Мура
SB={AB, ZB, WB, B, B, a1B},
у которого
ZB= ZA = {z1,:, zf,:, zF}, WB = WA = {w1,:, wg,:, wG};
Для определения АB каждому состоянию as AA поставим в соответствие множество As всевозможных пар вида (аs,w g), где wg - выходной сигнал, приписанный входящей в аs дуге (рис. 1-9): Аs={(as, wg) | (am, zf) = as и (am, zf) = wg} Число элементов в множестве Аs равно числу различных выходных сигналов на дугах автомата S A, входящих в состояние as. Множество остояний автомата SB получим как обединение множеств AS (s=1,:,M):
Рис. 1-10. Иллюстрация перехода от модели Мили к модели Мура
Функции выходов B и переходов B определим слудиющим образом. Каждому состоянию автомата Мура SB, представляющему собой пару вида (as, Wg), поставим в соответствие выходной сигнал Wg. Если в автомате Мили SA был переход а1B (аm, zf) = Wk , то в SB (рис. 1-10) будет переход из множества состояний Am, порождаемых am, в состояние (as, Wk) под действием входного сигнала zf. В качестве начального состояния а1B можно взять любое из состояний множества А1, которое порождается начальным состоянием а1 автомата SA. Напомним, что при сравнении реакции автоматов SA и SB на всевозможные входные слова не должен учитываться выходной сигнал в момент времени t=0, связанный с состоянием а1B автомата SB .
1.3.6. Пример преобразования автомата Мили в автомат Мура
Рассомотрим пример преобразования автомата Мили, изображенного на рис. 1-2, в автомат Мура. В автомате Мили Za={Z1, Z2}, Wa={W1, W2}, Aa= {A1,A2,A3}, а1A= а1, A и A определяются графом автомата. В эквивалентном автомате Мура
ZB = ZA = {Z1, Z2}, WB = WA = {W1, W2}.
1. Построим множество AB, для чего найдем множество пар, порождаемых каждым состоянием автомата SA:
2. C каждым состоянием, представляющем собой пару, отождествим выходной сигнал, являющийся вторым элементом этой пары:
B(b1) = B (b3) = B(b4) = W1 B(b2) = B(b5) = W2
3. Рассматривая каждую пару и каждую связь, получим: так как в автомате SA из состояния а1 есть переход под действием сигнала z1 в состояние а3 с выдачей сигнала W1, то из множества A1 = {b1, b2} порождаемых состоянием а1 в автомате Мура SB должен быть переход в состояние {a3, W1}=b4 под действием сигнала z1.
Аналогично с состоянием A1 должен быть переход в состояние {a1, W1} = b1 под действием сигнала z2 и так далее. В качестве начального состояния можно выбрать любую b1,b2 А1. Если сагналы bi заменить на аi, то получим стандартное представление автомата Мура.
1.3.7. Пример перехода от автомата Мили с переходящим состоянием к автомату Мура
Рассмотрим переход от автомата Мили к автомату Мура, у которого входное состояние является переходящим. Будем составлять множество состояний следующим образом:
К этим состояниям добавим пару (а1, -) = b1. Где " - " означает, что выходной сигнал в состоянии b1 не определен. Функцию переходов SB будем определять как и раньше. Из данного графа получим граф:
В качестве начального состояния автомата Мура можно взять порождаемое им состояние. Эквивалентность автоматов SB и SA при преобразовании автомата Мили в автомат Мура на множестве входных слов конечной длины легко доказать по индукции подобно изложенному выше при обратном преобразовании.
Методы взаимной транспозиции автоматов Мили и Мура показывают, что при переходе от автомата Мили к автомату Мура число состояний принципиально не меняется. В то время как при обратном переходе в автомат Мура число состояний, как правило, увеличивается. Вследствие транзитивности отношения эквивалентности два автомата Мили, первый из которых получен из автомата Мура, так же будут эквивалентны, но у второго автомата число состояний будет больше. Таким образом эквивалентные между собой автоматы могут иметь различное число состояний. В связи с чем и возникает задача нахождения минимального автомата в классе эквивалентных между собой автоматов. Существование для любого абстрактного автомата эквивалентного ему абстрактного автомата с минимальным числом внутренних состояний впервые было доказано Муром.
1.4. Минимизация полностью определенных автоматов
1.4.1. Теоретические основы минимизации
Рассмотрим алгоритм минимизации полностью определенных абстрактных автоматов Мили, предложенный Ауфенкампом и Хоном. Основная идея этого метода состоит в разбиении всех состояний исходного абстрактного автомата на попарно не пересекающиеся классы эквивалентных состояний и замене каждого класса эквивалентности одним состоянием. Таким образом, получающийся в результате минимальный автомат имеет столько же состояний, на сколько классов эквивалентности разбиваются состояния исходного автомата. Два состояния автомата аm и аs называются эквивалентными аm ~ аs, если (аm, ) = (аs, ) для всевозможных входных слов . Если аm и аs не эквивалентны, они различимы. Более слабой эквивалентностью является k - эквивалентность. Состояния аm и аs k -эквивалентны аm ~ аs , если (аm, k) = (аs, k) для всевозможных входных слов k длины k. Если состояния не k -эквивалентны, они k -различимы. Введенные отношения эквивалентности и k - эквивалентности рефлексивны, симетричны, транзитивны. Следовательно, они являются отношениями эквивалентности и могут быть использованы для разбиения множества А состояний автомата на попарно не пересекающиеся классы. Соответствующие разбиения на класы эквивалентных и k -эквивалентных состояний будем обозначать и k. Разбиение позволяет определить избыточные элементы в множестве состояний А. Пусть, например, аm и аs эквивалентны. Это значит, что сточки зрения реакций автомата на всевозможные входные слова неважно, находится автомат в состоянии аm или аs, и одно и них, например аs , может быть удалено из множества А. Если каждый класс эквивалентности содержит только одно состояние, множество А несократимо. Если же один или несколько класов содержат более одного элемента, все элементы, кроме одного в каждом класе, могут быть исключены из множества А, в результате чего получается автомат с минимальным числом состояний.
1.4.2. Алгоритм минимизации
Пусть автомат S = {A, Z, W, , , а1} подвергается минимизации. Этот процесс состоит из:
1. Находятся последовательные разбиения 1, 2,:, k, k+1 множества А на классы одно-, двух-,:, k-, k+1 эквивалентных состояний, до тех пор пока на каком-то k+1 шаге не окажется, что k+1= k. Нетрудно показать, что тогда разбиение k = , то есть что k- эквивалентные состояния являются в этом случае эквивалентными и число шагов k, при котором k = не превышает М-1, где М - число элементов в множестве А.
2. В каждом классе эквивалентности разбиения выбираются по одному элементу, которые образуют множество А' состояний минимального автомата S' = {A', Z, W, , , а'1}, эквивалентного автомату S.
3. Функции переходов ' и ' автомата S' определяются на множестве A' x Z. Для этого в таблице переходов и выходов вычеркиваются столбцы, соответсвующие не вошедшим в множество А' состояниям, а в оставшихся столбцах таблицы переходов все состояния заменяются на эквивалентные из множества A'.
4. В качестве а'1 выбирается одно из состояний, эквивалентное состоянию а1. В частности, удобно за а'1 принимать само а1.
1.4.3. Пример минимизации автомата Мили
T1-10.Таблица переходов не минимального автомата Мили
T1-11. Таблица выходов не минимального автомата Мили
Непосредственно по таблице выходов получаем разбиение 1 на классы одноэквивалентных состояний, объединяя в эквивалентные классы одинаковые столбцы: 1={b1,b2} b1={a1,a 2,a5,a7,a8} b2={a3,a4,a6, a9,a10,a11,a12}. Действительно, два состояния 1 - эквивалентны, если их реакции на всевозможные входные слова длины 1 совпадают, то есть соответствующие этим состояниям столбцы в таблице выходов должны быть одинаковы. Строим таблицу 1, заменяя состояния в таблице переходов соответствующими классами 1 -эквивалентности.
T1-12.Разбиение 1 состояний автомата Мили.
Очевидно, что 1 -эквивалентные состояния аm и аs будут 2 - эквивалентными, если они переводятся любым входным сигналом также в 1 - эквивалентные. По таблице 1-12 получаем разбиение 2={C1,C2,C3,C 4}; C1= {a1,a2}, C2={a5,a7,a8 }, C3={a3,a4,a6,a9,a11}, C4= {a10,a12}.
T1-13.Разбиение 2 состояний автомата Мили.
Аналогично построим 3 ={D1,D2,D3,D4, D5}; D1={a1,a2}, D2={a5,a7}, D3={a8}, D4={a3,a4,a6,a9,a11 }, D5={a10,a12} и, наконец 4 ={E1 ,E2,E3,E4,E5}, которое совпадает с 3. Процедура разбиения завершена. Разбиение 3 есть разбиение множества состояний автомата Мили на классы эквивалентных между собой состояний.
T1-14.Разбиение 3 состояний автомата Мили.
Вычеркиваем из D1 а2, из D2 а7, из D4 а4, а6, а9, а11, из D5 а12 определяем минимальный автомат Мили.
При минимизации автоматов Мура вводится понятие 0 -эквивалентности состояний и разбиение множества состояний на 0 -классы: 0 -эквивалентными называются любые одинаково отмеченные состояния автоматов Мура. Если два 0 -эквивалентных состояния любым входным сигналом переводится в два 0 -эквивалентных состояния, то они назаваются 1 -эквивалентными. Все дальнейшие классы эквивалентности состояний для автоматов Мура определяются аналогично приведенному выше для автоматов Мили.
В результате применения алгоритма минимизации к автомату Мура, имеющему 12 состояний, получим автомат Мура, имеющий 4 состояния. Отпуская промежуточные таблицы, приведем лишь последовательность разбиений: 0 = {B1, B2, B3}.
Под абстрактным С -автоматом будем понимать математическую модель дискретного устройства, определяемую множеством из 8 элементов
S={A, Z, W, U, a1, , 1, 2},где
A={a1,:,am,:,aM} - множество состояний; Z={z1,:, zf,:,zF} - множество входных сигналов; W={w1,:,wg,:,wG} - множество выходных сигналов типа 1; U={u1,:,uh,:,uH} - множество выходных сигналов типа 2; a1 A - начальное состояние; - функция переходов, реализующая отображение множества D A x Z в A; 1 - функция выходов, реализующая отображение множества D 1A x Z на W; 2 - функция выходов, реализующая отображение множества D 2A на U.
Рис. 1-14. Абстрактный автомат.
Абстрактный С -автомат можно представить в виде устройства с одним входом, на который поступают сигналы из входного алфавита Z, и двумя выходами, на которых появляются сигналы из алфавитов W и U. Отличие С -автомата от моделей Мили и Мура состоит в том, что он одновременно реализует две функции выходов 1 и 2, каждая из которых характерна для этих моделей в отдельности. С -автомат можно описать следующими уравнениями:
Выходной сигнал uh = 2(аm) выдается все время, пока автомат находится в некотором состоянии аm. Выходной сигнал wg = 1(am, zf) выдается во время действия входного сигнала zf при нахождении автомата в состоянии аm. Очевидно что от С -автомата легко перейти к автоматам Мили или Мура, так же как возможна трансформация автомата Мили в автомат Мура и наоборот. Для создания С -автоматов будем также использовать табличный и графический методы. В первом случае таблица переходов (табл. 1-19) аналогична таблице переходов автомата Мили, а в таблице выходов каждое состояние отмечено соответствующим ему сигналом типа 2 (табл. 1-20). При задании С -автомата в виде графа сигналы типа 1 будем приписывать дугам графа рядом с входными сигналами, а сигналы типа 2- вершинам- состояниям, которым они соответствуют.
Нетрудно показать, что к полностью определенному С -автомату можно применить алгоритм минимизации Ауфенкампа- Хона, если под одноэквивалентными понимать состояния, которые одинаково отмечены и имеют одинаковые столбцы в таблице выходов. Проводя последовательность разбиений на 1-, 2-,:, k-, k+ 1 - эквивалентные классы до совпадения разбиений k+ 1 и k получим разбиение множества состояний на эквивалентные, после чего замена каждого класса эквивалентности одном состоянием дает минимальный С -автомат. В результате применения такого алгоритма к автомату, заданному таблицами 1-21 и 1-22, получим минимальный С -автомат, представленный в таблице 1-23 и 1-24. Опуская промежуточные таблицы, приведем лишь последовательность разбиений при минимизации:
studopediasu.com - Студопедия (2013 - 2026) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав!Последнее добавление