Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория автоматов (текст)1.doc
Скачиваний:
14
Добавлен:
01.04.2025
Размер:
4 Мб
Скачать
☆

1.5.Эквивалентность состояний детерминированного автомата.

Особый интерес представляет анализ множества состояний одного автомата. Если у автомата М есть состояния qi и qj , для которых значения функций выходов (qi;xk) и (qj;xk) совпадают для всех символов множества X, то есть

(qi; xk) = (qj;xk), (1.32)

то состояния qi и qj автомата М формируют неотличимую пару (qi;qj)(QQ).

Множество неотличимых пар (qi;qj)(QQ), имеющих одинаковые значения функций выходов для каждого символа xkX формирует класс неотличимых состояний Q'i. Если множество неотличимых пар содержит пары (qi;qj), (qj;qk) и (qi;qk), то есть выполняется условие транзитивности для отношения неотличимости, то класс неотличимых состояний формирует множество Q'i={qi;qj;qk}.

Если для неотличимой пары состояний (qi;qj) значения функций переходов формируют для всех символов xkX также пары неотличимых состояний ((qi[];xk[]);(qj[];xk[])), то такие состояния qi и qj называют совместимыми.

Множество совместимых пар, имеющих одинаковые значения функций переходов для каждого символа xkX, формирует класс совместимых состояний Q''i. Если множество совместимых пар содержит пары (qi;qj), (qj;qk) и (qi;qk), то есть выполняется условие транзитивности для отношения совместимости, то класс совместимых состояний есть Q''i={qi;qj;qk}.

Если состояния qi и qj автомата М неотличимы и совместимы, то они эквивалентны. Поэтому класс совместимых состояний есть класс эквивалентных состояний.

Для поиска эквивалентных состояний автомата М также следует заполнить таблицу переходов пар неотличимых состояний. Левый столбец таблицы предназначен для указания пар неотличимых состояний (qi;qj)(QQ), которые определяют по таблице выходов для всех xkX по условию (qi;xk)=(qj;xk). Позициями этой таблицы являются пары ((qi;xk);(qj;xk)), в которые переходит автомат из неотличимой пары (qi;qj) для каждого символа xkX. Значения ((qi;xk);(qj;xk)) определяются по таблице переходов автомата М.

Пусть таблица переходов пар состояний одного автомата представлена таблицей 1.22, где множество пар неотличимых состояний есть (qp;qr), (qr;qs), (qs;qt), (qt;qu).

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

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

2) состояния qs и qt совместимы, т.к. при приеме каждого символа входного алфавита автомат переходит в одну и ту же пару неотличимых состояний;

3) состояния qr и qs не совместимы, т.к. при приеме символа x2 автомат переходит в разные пары неотличимых состояний, т. е. различимы между собой по выходу;

4) состояния qt и qu не совместимы, т.к. при приеме каждого символа входного алфавита автомат переходит в разные пары неотличимых состояний, т.е. они различимы между собой по выходу для каждого входного символа.

Таблица 1.22.

неотличимые состояния (q;q)

символы входного алфавита xX

x1

x2

…

xn

…

…

…

…

…

(qp;qr)

(qp;qr)

(qs;qt)

…

(qt;qu)

(qr;qs)

(qp;qr)

(qs;qu)

…

(qp;qr)

(qs;qt)

(qp;qr)

(qp;qr)

…

(qp;qr)

(qt;qu)

(qp;qs)

(qr;qt)

…

(qs;qu)

…

…

…

…

…

Множество совместимых состояний, имеющих одинаковые значения функций переходов для каждого символа xkX, формируют классы эквивалентных состояний. Так по таблице 1.22 формируются классы эквивалентных состояний Q''1={qp,qr} и Q''2={qs,qt}, каждый из которых можно заместить одним состоянием q'1{qp;qr} и q'2{qs;qt}. Множество несовместимых состояний формируют классы отличимых состояний. Например, Q''3=qu. Множество классов называется минимальным, если все внутренние состояния автомата принадлежат минимальному числу согласованных и отличимых классов. В данном примере минимальный автомат представляют три класса: Q''1={qp;qr}, Q''2={qs;qt} и Q''3=qu. Состояния каждого класса можно "склеить" в одно состояние q' и заполнить таблицы переходов и выходов известными значениями функций состояний соответствующего класса.

Пример 1.6. Пусть дан автомат M=X;Y;Q;,гдеX{0;1}, Y{0;1}, Q={q1;q2;q3;q4;q5},  и (см. таблицу 1.23). Найти эквивалентные состояния автомата.

Множество неотличимых пар по условию (qi;xk) =(qj;xk) для каждой пары состояний (qi;qj)(QQ) есть (q1;q2), (q1;q3), (q1;q4), (q2;q3), (q2;q4) и (q3;q4).

В это множество можно включить (q2;q1), (q3;q1), (q4;q1), (q3;q2), (q4;q2) и (q4;q3). Однако, очевидно, что отношение неотличимости симметрично. Поэтому симметричные пары состояний не следует включать в таблицу переходов пар неотличимых состояний.

Множеству неотличимых пар принадлежат также (q1;q1), (q2;q2), (q3;q3), (q4;q4) и (q5;q5), так как отношение неотличимости рефлексивно. Такие пары не следует включать в левый столбец таблиц переходов пар неотличимых состояний, но следует помнить при анализе позиций таблицы.

Таблица 1.23.

текущее состояние qQ

символы входного алфавита xX

0

1

q1

q1;1

q2;0

q2

q1;1

q3;0

q3

q5;1

q1;0

q4

q4;1

q2;0

q5

q4;1

q3;1

Для формирования класса неотличимых состояний следует проверить отношение неотличимости по условиям транзитивности. Все множество неотличимых пар примера удовлетворяет этому условию. Поэтому формируется один класс неотличимых состояний Q'1={q1,q2,q3,q4}, Для состояния q5 нет другого состояния, формирующего неотличимую пару. Поэтому состояние q5 формирует класс отличимых состояний Q'2=q5.

При этом выполняются условия Q'1Q'2=Q и Q'1Q'2=.

Для поиска совместимых состояний построим таблицу переходов пар неотличимых состояний (см. таблицу 1.24).

Таблица 1.24.

неотличимые состояния (qi;qj)

символы входного алфавита xX

0

1

(q1;q2)

(q1;q1)

(q2;q3)

(q1;q3)

(q1;q5)

(q1;q2)

(q1;q4)

(q1;q4)

(q2;q2)

(q2;q3)

(q1;q5)

(q1;q3)

(q2;q4)

(q1;q4)

(q2;q3)

(q3;q4)

(q4;q5)

(q1;q2)

Анализ таблицы показывает, что для входного символа "0" неотличимые пары (q1;q3) и (q2;q3) переходят в пару различимых состояний q1Q'1 и q5Q'2, а пара (q3;q4) - в пару различимых q4Q'1 и q5Q'2. Поэтому пары (q1;q3), (q2;q3) и (q3;q4) следует удалить из числа претендентов на совместимость (из левого столбца таблицы) и составить таблицу 1.25. Неотличимые пары, обусловливающие переход в пары различимых состояний, подчеркнуты в таблице 1.24.

Таблица 1.25.

неотличимые состояния (qi;qj)

символы входного алфавита xX

0

1

(q1;q2)

(q1;q1)

(q2;q3)

(q1;q4)

(q1;q4)

(q2;q2)

(q2;q4)

(q1;q4)

(q2;q3)

Анализ таблицы показывает, что для входного символа "1" неотличимые пары (q1;q2) и (q2;q4) переходят в удаленную на предыдущем этапе неотличимую пару (q2;q3). Поэтому пары (q1;q2) и (q2;q4) следует удалить из числа претендентов на совместимость (из левого столбца таблицы) и составить таблицу 1.26. Неотличимые пары, обусловливающие переход в пары различимых состояний, подчеркнуты в таблице 1.25.

Таблица 1.26.

неотличимые состояния (qi;qj)

символы входного алфавита xX

0

1

(q1;q4)

(q1;q4)

(q2;q2)

Анализ таблицы показывает, что состояния q1 и q4 формируют класс неотличимых и совместимых состояний Q''i={q1,q4}, то есть они эквивалентны.

Контрольные вопросы и задачи.

1) Начертить граф и найти эквивалентные состояния автомата, описанного таблицей:

текущее состояние qQ

символы входного алфавита xX

x1

x2

x3

x4

x5

q0

q4;0

q3;1

q2;1

q1;0

q0;0

q1

q3;1

q2;1

q4;1

q3;0

q4;0

q2

q2;0

q1;1

q0;1

q4;0

q3;0

q3

q1;1

q2;1

q4;1

q3;0

q4;0

q4

q0;0

q3;1

q2;1

q1;0

q4;0

2) Начертить граф и найти эквивалентные состояния автомата, описанного таблицей:

текущее состояние qQ

символы входного алфавита xX

x1

x2

q1

q1;0

q6;0

q2

q1;0

q4;0

q3

q2;1

q5;0

q4

q5;1

q8;1

q5

q5;1

q3;0

q6

q8;1

q5;1

q7

q6;1

q3;1

q8

q2;1

q5;0

3) Начертить граф и найти эквивалентные состояния автомата, описанного таблицей:

текущее состояние qQ

символы входного алфавита xX

x1

x2

x3

q1

q2;1

q2;0

q5;0

q2

q1;0

q4;1

q4;1

q3

q2;1

q2;0

q5;0

q4

q3;0

q2;1

q2;1

q5

q6;1

q4;0

q3;0

q6

q8;0

q9;1

q6;1

q7

q6;1

q2;0

q8;0

q8

q4;1

q4;0

q7;0

q9

q7;0

q9;1

q7;1