Эквивалентные состояния и автоматы.

Два состояния qi и qj называются эквивалентными, если выполняется равенство: S (qi, a ) = S (qj, a ) для произвольного a.

В простейшем случае , когда входящее слово состоит из одной буквы, эквивалентность имеет вид: l (qi,a) = l (qj,a)

Множестваво всех эквивалентных состояниях называются классом эквивалентности К.

Допустим qi и qj принадлежит классу К0 ,сформируем слово a следующим образом a = а0а1, тогда согласно определению эквивалентности мы можем записать.

S ( qi, а0, а1) = S ( qj, а0, а1)

Полученное равенство запишем в ином виде :

l ( qi, а0 ) l ( qi, а0, а1) = l ( qj, а0 ) l ( qj, а0, а1)

Исходя из определения эквивалентности : выполняется равенство:

l ( qi, а0 ) = l ( qj, а0 ),

а значит выполняется и равенство:

l ( qi, а0, а1) = l ( qj, а0, a1 )

Преобразовав получим равенство :

l ( d ( qi, а0 ), а1) = l ( d ( qj, а0 ), а1)

эквивалентные состояния и автоматы. - student2.ru Для того, чтобы две составляющие qi и qj были эквивалентны, должны выполнятся следующие условия :

l ( qi, а ) = l ( qj, а )

d ( qi, а ) = d ( qj, а ) Î K

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

Рассмотрим следующий пример :

Автомат задан графом вида :

А = {0, 1}; V = {0, 1}

Q = { q1, q2, q3, q4, q5, q6, q7 }

 
  эквивалентные состояния и автоматы. - student2.ru

q2 q6

q1 q4 q7

q3 q5

Составим таблицы выходов и функции перехода :

l q1 q2 q3 q4 q5 q6 q7
d q1 q2 q3 q4 q5 q6 q7
q2 q5 q7 q1 q5 q4 q5
q3 q6 q4 q3 q6 q7 q6

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

1. Получение класса условно эквивалентных сост. ( проверяем условие выполнения первого равенства ). Используя таблицу выходов мы можем записать два условно эквивалентных класса.

к0 = {q1 q2 q5}

к1 = {q3 q4 q6 q7}

2. Проверка эквивалентности полученных классов:

d q1 q2 q3 q4 q5 q6 q7
к0 к0 к1 к0 к0 к1 к0
к1 к1 к1 к1 к1 к1 к1

На основании полученной таблицы и второго условия эквивалентности

делаем вывод : класс к1 распадается на два класса :

к1, = {q3 q6} к1 = { q4 q7}

3. С учетом нового разбиения на классы опять заполняется таблмца перехода :

d q1 q2 q3 q4 q5 q6 q7
к0 к0 к1 к0 к0 к1 к0
к1 к1 к0 к1 к1 к1 к1


В результате решения задачи получены три класса эквивалентности :

к0 = { q1, q2, q5}

к1 = { q3 q6}

к1 = { q4 q7}

Для проверки подадим на вход последовательность :

  q1 q2 q6 q7 q6 q4 q3 q4 q1 q2
a
w
  q5 q3 q6 q7 q6 q4 q3 q4 q1 q2
a
w

Автоматы S и Т называются эквивалентными, если любому сост. автомата S найдется сост. автомата Т. ( и наоборот)

Если автомат S0 эквивалентен автомату S и количество сост. S0 > S, то S0 – минимальный автомат ( единственный ).

Построим мин. автомат S0 для нашего примера:

эквивалентные состояния и автоматы. - student2.ru q01 ® k0 q02 ® k1’ q03 ® k1

q02

q01

q03

l0 q01 q02 q03
d q01 q02 q03
q01 q03 q01
q02 q03 q02

РЕАЛИЗАЦИЯ КА.

КА состоит из двух остальных блоков:

1. реализует функцию переходов;

2. реализует функцию выходов.

эквивалентные состояния и автоматы. - student2.ru t

qi d (qi, aj)

aj

qi

aj aj l (qi, aj) vk

В этой схеме используют устройство, реализующее задержку перехода автомата в новое состояние на время t.

Если t одинаково для любых состояний, то автомат синхронный, иначе асинхронный.

Блок функций выходов и переходовмогут быть реализованы комбинаторными системами.

Наши рекомендации