ODM_Лекции
.pdf91
1 2
Для них важно, какие вершины соединяются и направление соединения.
Словом называется некоторая последовательность букв входного алфавита.
= аj1, aj2, …, ajn;
при этом для функции перехода и выходов справедливы соотношения:
(q, a) = ( (q, ),a);
(q, a ) = ( (q, ),a);
Допустим, что автомат находится в состоянии qi и на его вход поступает по-
следовательность букв: =aj1, aj2, …, ajn, тогда на выходе автомата будет наблюдаться w следующего вида:
w = (qi, aj1) (qi, aj1, aj2) … (qi, aj1, aj2, aj3, …, ajn)
Другими словами автомат находится в состоянии qi, переводит входное слово
в выходное w. Другими словами это записывается в виде:
S (qi, ) = w;
где функция S – автоматный оператор.
ЭКВИВАЛЕНТНЫЕ СОСТОЯНИЯ И АВТОМАТЫ.
Два состояния qi и qj называются эквивалентными, если выполняется
равенство: |
S (qi, ) = S (qj, ) |
для произвольного . |
В простейшем случае , когда входящее слово состоит из одной буквы, эк- |
||
вивалентность имеет вид: (qi,a) = |
(qj,a) |
Множестваво всех эквивалентных состояниях называются классом эквива-
лентности К.
Допустим qi и qj принадлежит классу К0 ,сформируем слово следую-
щим образом = а0а1, тогда согласно определению эквивалентности мы мо-
жем записать.
S ( qi, а0, а1) = S ( qj, а0, а1)
92
Полученное равенство запишем в ином виде :
( qi, а0 ) ( qi, а0, а1) = ( qj, а0 ) ( qj, а0, а1)
Исходя из определения эквивалентности : выполняется равенство:
( qi, а0 ) = ( qj, а0 ),
азначит выполняется и равенство:
( qi, а0, а1) = ( qj, а0, a1 )
Преобразовав получим равенство :
( ( qi, а0 ), а1) = ( ( qj, а0 ), а1)
Для того, чтобы две составляющие qi и qj были эквивалентны, должны выпол-
нятся следующие условия :
( qi, а ) = ( qj, а )
( qi, а ) = ( qj, а ) K
Используя свойства эквивалентных состояний, множество сост. заданного
автомата всегда может быть разбито на соответствующие классы эквивалент-
ности.
Рассмотрим следующий пример :
Автомат задан графом вида : |
|
|
А = {0, 1}; |
V = {0, 1} |
|
Q = { q1, q2, q3, q4, q5, q6, q7 } |
|
|
q2 |
q6 |
|
q1 |
q4 |
q7 |
q3 |
q5 |
|
Составим таблицы выходов и функции перехода :
|
q1 |
q2 |
q3 |
q4 |
q5 |
q6 |
q7 |
|
|
|
|
|
|
|
|
93
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
|
|
|
|
|
|
|
|
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
q1 |
q2 |
q3 |
q4 |
q5 |
q6 |
q7 |
|
|
|
|
|
|
|
|
0 |
q2 |
q5 |
q7 |
q1 |
q5 |
q4 |
q5 |
|
|
|
|
|
|
|
|
1 |
q3 |
q6 |
q4 |
q3 |
q6 |
q7 |
q6 |
|
|
|
|
|
|
|
|
Используя два условия эквивалентности разобьем множество сост. автоматов
на классы эквивалентности :
1.Получение класса условно эквивалентных сост. ( проверяем условие вы-
полнения первого равенства ). Используя таблицу выходов мы можем запи-
сать два условно эквивалентных класса.
к0 = {q1 q2 q5} к1 = {q3 q4 q6 q7}
2.Проверка эквивалентности полученных классов:
|
q1 |
q2 |
q3 |
q4 |
q5 |
q6 |
q7 |
|
|
|
|
|
|
|
|
0 |
к0 |
к0 |
к1 |
к0 |
к0 |
к1 |
к0 |
|
|
|
|
|
|
|
|
1 |
к1 |
к1 |
к1 |
к1 |
к1 |
к1 |
к1 |
|
|
|
|
|
|
|
|
На основании полученной таблицы и второго условия эквивалентности делаем вывод : класс к1 распадается на два класса :
к1, = {q3 q6} к1‖ = { q4 q7}
3. С учетом нового разбиения на классы опять заполняется таблмца перехода :
|
q1 |
q2 |
q3 |
q4 |
q5 |
q6 |
q7 |
|
|
|
|
|
|
|
|
94
0 |
к0 |
к0 |
к1‖ |
к0 |
к0 |
к1‖ |
к0 |
|
|
|
|
|
|
|
|
1 |
к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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
1 |
|
1 |
|
1 |
0 |
1 |
1 |
0 |
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
0 |
|
1 |
|
1 |
0 |
1 |
1 |
0 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
q5 |
|
q3 |
|
q6 |
|
q7 |
q6 |
q4 |
q3 |
q4 |
q1 |
q2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
1 |
|
1 |
|
1 |
0 |
1 |
1 |
0 |
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
0 |
|
1 |
|
1 |
0 |
1 |
1 |
0 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Автоматы S и Т называются эквивалентными, если любому сост. автомата S |
||||||||||||||||
найдется сост. автомата Т. ( и наоборот) |
|
|
|
|
|
|
||||||||||
Если автомат S0 |
эквивалентен автомату S и количество сост. S0 > S, то S0 – |
|||||||||||||||
минимальный автомат ( единственный ). |
|
|
|
|
|
|
||||||||||
Построим мин. автомат S0 |
для нашего примера: |
|
|
|
|
|
||||||||||
q01 k0 |
q02 k1’ |
q03 k1‖ |
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
q02 |
|
|
|
|
|
|
|
|
|
|
|
|
q01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
q03 |
|
|
|
|
|
|
|
|
|
0 |
q01 |
q02 |
q03 |
|
|
|
|
95
0 |
1 |
0 |
0 |
|
|
|
|
1 |
0 |
1 |
1 |
|
|
|
|
|
|
|
|
|
q01 |
q02 |
q03 |
|
|
|
|
0 |
q01 |
q03 |
q01 |
|
|
|
|
1 |
q02 |
q03 |
q02 |
|
|
|
|
РЕАЛИЗАЦИЯ КА.
КА состоит из двух остальных блоков:
1.реализует функцию переходов;
2.реализует функцию выходов.
qi (qi, aj) aj
|
qi |
|
|
|
|
(qi, aj) |
vk |
aj |
aj |
|
В этой схеме используют устройство, реализующее задержку перехода авто-
мата в новое состояние на время .
Если одинаково для любых состояний, то автомат синхронный, иначе асин-
хронный.
Блок функций выходов и переходовмогут быть реализованы комбинаторными системами.