
- •Глава 3. Теория автоматов.
- •Основные понятия теории автоматов
- •Так к.С. Грамматика порождает язык
- •Так, нефункциональная к. С. Грамматика
- •Пояснения к построению дерева методом “свертый”:
- •Предполагается, что “программа” машины Тьюринга составляется из конечного множества команд вида: qiaj→ ql ak dp, , где (и).
- •Замечание
- •I. Макроподход.
- •II. Микроподход
- •Пояснения
- •Замечание
- •Замечание
- •Моделирование автоматных систем сетями петри.
- •Сеть петри Общие положения.
- •Выполнение сети Петри.
- •Интерпретация сети Петри.
I. Макроподход.
(задание абстрактного конечного автомата)
В
этом случае задать конечный автомат
при условии, что заданы алфавиты
, - значит описать функции
и
или описать поведение этого автомата.
Для задания функций и обычно используют автоматную таблицу (состоящую из двух подтаблиц – таблицы переходов и таблицы выходов), диаграмму переходов или матрицу переходов.
ОПИСАНИЕ ФУНКЦИОНИРОВАНИЯ КОНЕЧНОГО АВТОМАТА.
Автоматная таблица. Таблицы переходов (qiaj) = ql и выходов (qiaj) = bk, имеет вид
A Q |
a1 |
... |
aj |
... |
am |
|
B Q |
a1 |
... |
aj |
... |
am |
q0 |
q2 |
… |
ql |
… |
qp |
|
q0 |
B8 |
… |
bi |
… |
bt |
… |
… |
… |
… |
… |
… |
|
… |
… |
… |
… |
… |
… |
qi |
q4 |
… |
qr |
… |
qm |
|
qi |
B7 |
… |
bl |
… |
br |
… |
… |
… |
… |
… |
… |
|
… |
… |
… |
… |
… |
… |
qn |
qt |
… |
qz |
… |
qk |
|
qn |
bk |
… |
b1 |
… |
bl |
а их совмещение есть автоматная таблица
A Q |
a1 |
... |
aj |
... |
am |
q0 |
q2b8 |
… |
qlbi |
… |
qpbt |
… |
… |
… |
… |
… |
… |
qi |
q4b7 |
… |
qrbl |
… |
qmbr |
… |
… |
… |
… |
… |
… |
qn |
qtbk |
… |
qzb1 |
… |
qkbl |
Диаграмма автомата. Диаграмма автомат – ориентированный граф, вершинам которого взаимно-одназначно соответствуют элементы Q, а дугам приписаны некоторые множества пар вида <aibj>, ai A bj B. Функции и определяются следующим образом: (qlai)=qr, (qlai)=bj, если ребру, исходящему из вершины ql, приписана пара <aibj> и эта дуга ведет в вершину qr. Пример: Пусть задана автоматная таблица
-
A
Q
a1
a2
q0
q0b2
q1b2
q1
q1b1
q0b2
Соответствующая
диаграмма имеет вид:
Замечание:
Этот орграф (безbi)
есть регулярная грамматика
.
Матрица переходов (соединений).
Матрица
переходов представляет собой квадратную
матрицу размера
,
в который номера строк и столбцов
соответствуют элементам множеств
внутренних состоянийQ.
Клетка матрицы на пересечении i-той
строки и j-того
столбца заполняется дизъюнкцией пар
«вход-выход», которая приписана дуге
графа, исходящей из i-той
вершины в j-тую
вершину. При отсутствии такой ветви
клетка заполняется нулем или остается
свободной. Так для рассмотренного выше
примера имеем:
-
Q
Q
q0
q1
q0
a1b2
a2b2
q1
a2b2
a1b1
ОПИСАНИЕ ПОВЕДЕНИЯ КОНЕЧНОГО АВТОМАТА
Для
задания поведения конечного автомата
(преобразователя) необходимо описать
функцию
,
отображающую А* в В*(т.е.
).
Эта функция может быть задана информационным
деревом. Из каждой вершины информационного
дерева исходятm
ребер
,
взаимно-однозначно соответствующих
буквам алфавитаA.
Каждой вершине приписано состояние
автомата, а каждому ребру – буква
алфавита B,
следующим образом: корню приписано
состояние q0;
если некоторой вершине приписано
состояние qi,
то ребру, соответствующему букве a
из A,
приписана
буква
,
а вершине, в которую ведет это ребро,
приписано состояние
.
Каждому словуA*
соответствует единственная
последовательность ребер этого дерева
такая, что слово wB*
совпадает со значением
.
Для рассматриваемого примера имеем следующее поддерево информационного дерева: (левые ребра, исходящие из вершин соответствуют символу a1, правые – символу a2).
Описание поведения конечного автомата (акцептора) в терминах представимого события может быть сделано с помощью регулярного выражения.
В рассматриваемом примере представимое событие (язык, множество слов) записывается как регулярное выражение в алгебре
,
т.е.
Такие события могут быть также заданы как множества слов, порождаемых (выводимых) в некоторой формальной системе (ex, грамматике). Так, для автоматной (регулярной) грамматики <T,N,J,P> (здесь T и N соответственно терминальный и вспомогательный алфавиты, J – аксиом, т.е. JN, P – продукция вида BiaBj, либо Bia)/ Слово =a1…an выводимо, если в P имеются правила Ja1Bi2, Bi2a2Bi3, …, Binan