Эквивалентность автоматов

Эквивалентность автоматов определяют по их одинаковой реакции на входные последовательности символов, то есть по формированию одинаковых выходных последовательностей символов.

Так как модель автомата представляет трехосновную алгебру, то для сравнения двух автоматов необходимо найти три оператора, формирующих отображение множеств X, Q и Y модели одного автомата на соответствующие множества модели другого автомата. После этого необходимо оценить влияние этих операторов на исполнение функций переходов и выходов каждым автоматом. Если на одинаковые последовательности входных символов автоматы генерируют одинаковые последовательности выходных символов, то такие автоматы эквивалентны.

Рассмотрим модели двух абстрактных автоматов:

(1.23)

Пусть даны операторы:

(1.24)

Если при исполнении функций переходов и выходов выполняются условия:

(1.25)

то совокупность операторов q=(f;g;h) формирует гомоморфное отображение модели автомата М1 на модель автомата М2 когда каждому значению x1kÎX1, y1jÎY1 и q1iÎQ1 соответствуют единственные образы x2kÎX2, y2jÎY2, q2iÎQ1.

Пусть даны операторы:

(1.26)

Если при исполнении функций переходов и выходов выполняются условия:

(1.27)

то совокупность операторов q-1 = áf-1;g-1;h-1ñ определяет гомоморфное отображение модели автомата М2 на модель автомата М1 когда каждому значению x2kÎX2, y2jÎY и q2iÎQ2 соответствуют единственные образы x1kÎX1, y1jÎY1, q1iÎQ1 .

Если найдена совокупность операторов (q;q-1), для которой

q°q-1= q-1°q =1, (1.28)

то такое взаимное отображение называют изоморфным.

Изоморфное отображение рефлексивно, симметрично и транзитивно. Особый интерес для оценки эквивалентности автоматов представляет случай, когда f=1. По условиям (1.25) и (1.27) для xkÎX имеем:

(1.29)

Если существуют такие q1i и q2i, для которых значения функций выходов j1(q1i;xk) и j2(q2i;xk) совпадают для всех xkÎX, то есть

j1(q1i;xk)=j2(q2i;xk), (1.30)

то g=g-1=1, h(q1i)=q2i, h-1(q2i)=q1i. При этом Y1=Y 2 =Y. Такие состояния q1i и q2i называют неотличимыми по выходам автоматов.

В результате просмотра множества пар неотличимых состояний (q1i;q2i)Î(Q1ÄQ2) можно найти несколько подмножеств, которые формируют разбиение множества (Q1ÄQ2) на классы неотличимых по выходу состояний.

Если для пары неотличимых состояний (q1i;q2i) значения функций переходов формируют для всех символов xkÎX также пары неотличимых состояний (y(q1i[t];xk[t]);y(q2i[t];xk[t])), то состояния q1i и q2i называют совместимыми. В результате такого просмотра всех пар одного класса неотличимых состояний формируется его разбиение на классы совместимых состояний.

Состояния q1i и q2i являются эквивалентными, если для всякой входной последовательности a=(x1x2...xn) выполняется условие:

М1(q1i;a)=М2(q2i;a), (1.31)

Поэтому необходимо проследить изменения значений функций переходов (y(q1i[t];xk[t]);y(q2i[t];xk[t])) для каждого символа входной последовательности a=(x1x2...xn).

Множество всех пар (q1i;q2i), для которых выполняется условие (1.31), формирует класс эквивалентных состояний.

Если входной и выходной алфавиты у двух автоматов совпадают, то автомат M2 покрывает автомат M1, если j2(h(q1i);a)=j1(q1i;a) для всех aÎXn, а автомат M1 покрывает автомат M2, если входной и выходной алфавиты у этих автоматов общие и
j1(h-1(q2i);a)=j2(q2i;a) для всех aÎXn.

По условиям изоморфизма автоматы M1 и M2 эквивалентны, если M1 покрывает M2 и M2 покрывает M1. У эквивалентных автоматов существуют эквивалентные состояния q1i и q2i.

Если для эквивалентных автоматов М1 и М2 имеем ÷Q1÷ < ÷Q2÷, то автомат М1, имеющий меньшее число состояний m1 = ÷Q1÷, покрывает автомат М2, имеющий большее число состояний m2 = ÷Q2÷. Автомат, который нельзя покрыть автоматом с меньшим числом состояний, называют минимальным.

Для поиска эквивалентных состояний q1i и q2i удобно использовать таблицы переходов пар состояний двух автоматов. В каждой паре левый элемент есть состояние автомата М1, а правый элемент - состояние автомата М2. Левый столбец такой таблицы предназначен для указания неотличимых пар состояний, которые формируются по таблицам выходов автоматов следующим правилом:

"если среди множества состояний двух автоматов Q1 и Q2 найдется такая пара (q1;q2), у которой значения функций выходов равны для каждого символа входного алфавита xkÎX, т.е. j1(q1i;xk)=j2(q2i;xk), то состояния q1 и q2 неотличимы;"

Позициями таблицы являются пары состояний двух автоматов, в которые они переходят из соответствующих состояний пары неотличимых состояний при подаче на входы автоматов символа xk. Значения очередных состояний могут быть найдены по таблицам переходов автоматов М1 и М2 для соответствующего символа xkÎX, т.е. (q1=y(q1i;xk); q2 = y(q2i;xk)).

Пусть таблица переходов пар состояний двух автоматов представлена таблицей 1.19, где пары неотличимых состояний, приведенные в левом столбце, есть (q1i;q2j), (q1j;q2p), (q1p;q2s), (qs;q2i).

текущая пара неотличимых состояний (q1;q2) символы входного алфавита xiÎX
x1 x2 xn
(q1i;q2j) (q1i;q2j) (q1j;q2p) (q1s;q2i)
(q1j;q2p) (q1i;q2j) (q1p;q2p) (q1s;q2i)
(q1p;q2s) (q1j;q2p) (q1j;q2p) (q1j;q2p)
(q1s;q2i) (q1s;q2p) (q1p;q2j) (q1j;q2i)

Анализ таблицы показывает, что

1) состояния q1i и q2j совместимы, т.к. при приеме каждого символа входного алфавита неотличимые состояния автоматов М1 и М2 переходят в в пары также неотличимых состояний;

2) состояния q1p и q2s совместимы, т.к. при приеме каждого символа входного алфавита неотличимые состояния автоматов М1 и М2 остаются в одной паре неотличимых состояний;

3) состояния q1j и q2p несовместимы, т.к. при приеме символа x2 неотличимые состояния автоматов М1 и М2 переходят в различные пары неотличимых состояний;

4) состояния q1s и q2i несовместимы, т.к. при приеме каждого символа входного алфавита неотличимые состояния автоматов М1 и М2 переходят в различные пары неотличимых состояний.

Следовательно, автоматы М1 и М2, даже при наличии совместимых состояний, не эквивалентны между собой.

Пример 1.5. Пусть даны автомат M1=áX1;Y1;Q1;y1;j1ñ, где X1={0;1}, Y1={0;1}, Q1={q11;q12;q13}, y1 и j1 (см. таблицу 1.20) и автомат M2=áX2;Y2;Q2;y2;j2ñ, где X2={0;1}, Y2={0;1}, Q2={q21;q22}, y2 и j2 (см. таблицу 1.21).

Граф автомата М1 приведен на рис.1.13, автомата М2 - на рис.1.14. Определить эквивалентность автоматов М1 и М2.

текущее состояние qÎQ1 символы входного алфавита xÎX1   текущее состояние qÎQ2 символы входного алфавита xÎX2
         
q11 q13;0 q12;1   q21 q21;0 q22;1
q12 q11;1 q13;0   q22 q21;1 q21;0
q13 q11;0 q12;1        

Рис.1.13 Граф автомата М1 Рис.1.14 Граф автомата М2

Для автоматов М1 и М2 неотличимыми по выходу являются пары состояний (q11;q21), (q12;q22) и (q13;q21). При этом формируются два класса неотличимых состояний {(q11;q21);(q13;q21)} и {(q12;q22)}.

Если для неотличимой пары (q11;q21) при входном символе "0" автоматы М1 и М2 переходят в неотличимую пару состояний (q13;q21), а при входном символе "1" - в неотличимую пару (q12;q22), то состояние q11 автомата М1 и состояние q21 автомата М2 являются совместимыми.

Если для неотличимой пары состояний (q12;q22) при входном символе "0" автоматы М1 и М2 переходят в неотличимую пару состояний (q11;q21), а при входном символе "1" - в неотличимую пару (q13;q21), то состояние q12 автомата М1 и состояние q22 автомата М2 также являются совместимыми.

И наконец, если для неотличимой пары состояний (q13;q21) при входном символе "0" автоматы М1 и М2 переходят в неотличимую пару состояний (q11;q21), а при входном символе "1" - в неотличимую пару (q12;q22), то состояние q13 автомата М1 и состояние q21 автомата М2 являются совместимыми.

Если состояние q13 автомата М1 совместимо с состоянием q21 автомата М2, а состояние q21 автомата М2 совместимо с состоянием q11 автомата М1, то согласно свойству транзитивности состояние q11 автомата М1 совместимо с состоянием q13 автомата М1.

Проверку эквивалентности автоматов можно выполнить, обрабатывая одинаковые последовательности символов каждым автоматом и анализируя последовательности символов на их выходах.

Пусть для автомата М1 имеем q11=q0 и a = (01010101). Тогда процесс обработки входного слова формирует следующие последовательности:

вход: 0[1] 1[2] 0[3] 1[4] 0[5] 1[6] 0[7] 1[8];

q: q11[1] q13[2] q12[3] q11[4] q12[5] q11[6] q12[7] q13[8] q12[9];

выход: 0[1] 1[2] 1[3] 1[4] 1[5] 1[6] 1[7] 1[8],

то есть b1= (01111111).

Пусть для автомата М2 имеем q21=q0 и a=(01010101). Тогда процесс обработки входного слова формирует следующие последовательности:

вход: 0[1] 1[2] 0[3] 1[4] 0[5] 1[6] 0[7] 1[8];

q: q21[1] q21[2] q22[3] q21[4] q22[5] q21[6] q22[7] q21[8] q22[9];

выход: 0[1] 1[2] 1[3] 1[4] 1[5] 1[6] 1[7] 1[8],

то есть b2= (01111111).

Итак, автоматы М1 и М2 эквивалентны. Так как автомат М2 имеет меньшее число внутренних состояний, то он покрывает автомат М1.



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



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