logo
Лекции по теории автоматов

Абстрактный синтез конечных автоматов.

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

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

t0 t1 t2 t3

P0 P1 P2 P3

W0 W1 W2 W3

A

Индексы указывают на номера машинного такта, а не на различие между буквами.

P = {0 , 1}

W = {0 , 1}

P0 P1 P2 P3 W0 W1 W2 W3

0 0 0 0 0 0 0 0

0 0 0 1 0 0 1 0

0 1 0 0 0 1 0 0

1 0 0 0 1 0 0 0

Алфавит операций называется автоматным, если он удовлетворяет следующим условиям:

  1. Однозначно отображает входные слова в выходные

  2. Удовлетворяет условию полноты, т.е. представляет все входные последовательности входящие в допустимый набор Pg*

  3. Оператор сохраняет длину преобразованного слова

  4. Оператор осуществляет преобразование одинаково локальных отрезков входного слова в совпадающие начальные отрезки выходных слов.

Утверждение :

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

Для полученного автоматного алфавитного оператора из не автоматного используют 2 операции : выравнивание и пополнение. Операция выравнивания используется, если нарушено условие автоматности оператора и заключается в добавлении нового пустого символа eсправа во всех последующих или слева к выходной.

Явно восстанавливаем 3 условие автоматности оператора.

Пример :

P0

P1

W0

W1

0

0

e

0

0

1

e

1

1

0

e

0

1

1

e

1

Нарушено 3 условие – длина выходного слова меньше длины входного, поэтому слева к выходному слову добавляют пустой символ e.

После пополнения выходной алфавит будет выглядеть: W= {0 , 1 ,e}

P= {0 , 1}

W= {0 , 1} – изначально

Операция пополнения используется если нарушено 4 условие и заключается в добавлении пустого символа eсправа к входной последовательности и слева к выходной одновременно.

P0

P1

P1

W0

W1

W2

0

0

e

e

0

1

0

1

e

e

1

0

1

0

e

e

1

1

1

1

e

e

0

1

Вначале P = {0 , 1}

W = {0 , 1}

Стало P = {0 , 1 , e}

W = {0 , 1 , e}

Начальный отрезок из одной буквы 0 в исходном операторе в первой строке преобразовывается в 0 а во втором в 1, следовательно нарушено 4 условие, поэтому к входному слову слева и к выходному слева дописывается пустой символ e, при этом изменяется входной и выходной алфавиты.

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

Пример :

P0 P1 P2 W0 W1 W2

0 0 e1 e1 0 0

0 0 e2 e 0 1

Если в операции пополнения используют несколько пустых символов e(e1 ,e2 , …), то можно восстановить первое условие автоматности.

P0 P1 W0 W1

0 0 0 0

0 0 0 1

Табличный способ устанавливает соответствие между входными и выходными последовательностями в форме таблицы.

В графическом способе оператор представляется в виде нагруженного дерева входными последовательностями.

Пусть от вершины к листу дерева соответствует одному входному слову.

Входные буквы помечают дуги между вершинами дерева. Выходное слово также присутствует на пути из корня к листу. Число ярусов дерева соответствует длине входного слова.