Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ODM_Лекции

.pdf
Скачиваний:
19
Добавлен:
03.03.2016
Размер:
1.12 Mб
Скачать

91

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

 

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

мата в новое состояние на время .

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

хронный.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]