Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
л_одм_3.doc
Скачиваний:
16
Добавлен:
28.03.2016
Размер:
337.92 Кб
Скачать

3.5. Основные понятия теории конечных автоматов

Конечным автоматом называется система S={A, Q ,V, }, в которой A={a1,…,am}, Q={q1,…qn}, V={v1,…,vk} - конечные множества (алфавиты); a : Q x A Q и : Q x A V - функции, определенные на этих множествах. А называется входным алфавитом, V - выходным алфавитом, Q - алфавитом состояния; – функцией переходов, – функцией выходов. Если, кроме того, в автомате S выделено одно состояние, называемое начальным (будем считать, что это состояние q0), то полученный автомат называется инициальным и обозначается ( S ,q0 ) ; таким образом, по не инициальному автомату с n состояниями можно n различными способами определить инициальный автомат.

Поскольку функции и определены на конечных множествах, их можно задавать таблицами. Обычно две таблицы сводятся в одну таблицу и , называемую таблицей переходов - выходов автомата или автоматной таблицей.

Пример. Таблица 3.5 задает функции переходов и выходов для автомата с алфавитами A = { a1, a2, a3}, Q = {q1, q2, q3, q4}, V = {v1, v2}.

Таблица 3.5 - Табличное задание конечного автомата

a1

a2

a3

q1

q3 / v1

q3 / v2

q2 / v1

q2

q4 / v1

q1 / v1

q1 / v1

q3

q2 / v1

q3 / v1

q3 / v2

q4

q4 / v1

q2 / v1

q1 / v2

Еще один распространенный и наглядный способ задания автоматов – ориентированный мультиграф, называемый графом переходов или диаграммой переходов. Вершины графа соответствуют состояниям; если (qi, aj) = qk и (qi, aj)= vl, то из qi в qk ведет ребро, на котором написаны aj и vl . Граф переходов для таблицы 3.5 изображен на рис. 3.7. Кратные ребра не обязательны; например два ребра из q2 в q1 можно заменить одним, на котором будут написаны обе пары a3/v1 и a2/v1 . Для любого графа переходов в каждой вершине qi выполнены следующие условия, которые называются условиями корректности:

1) Для любой входной буквы ai имеется ребро, выходящее из qi , на котором написано aj (условие полноты);

2) Любая буква aj встречается только на одном ребре, выходящем из qi (условие непротиворечивости или детерминированности).

Для данного автомата S его функции S и S могут быть определены не только на множестве А всех выходных букв, но и на множестве А* всех входных слов. Для любого входного слова j j2jkqi, aj1, aj2,…, ajk qi, aj1), aj2) ,…, ajk-1), ajk).

a1/v1

a1/v1

a2/v1

a1/v1

a2/v1

a3/v1

a3/v2

a2/v2

a1/v1

a1/v1

a2/v1

a3/v2

Рис.3.7 - Граф конечного автомата

Другим способом это традиционное определение можно представить следующим образом:

  1. 1)  ( Qi , aj ) задается автоматной таблицей s;

  2. 2) Для любого слова а* и любой буквы аj

qi,ajqi,aj).

Здесь и в дальнейшем символы состояний для кратности обозначений будут заменяться их индексами.

С помощью расширенной функции определяется (индуктивно) расширенная функция .

qiajqjaj).

Зафиксируем в автомате S начальное состояние q1 и каждому входному слову = аj1, аj2, …, аjk поставим в соответствие слово в выходном алфавите:

q1, aj1q1,aj1aj2q1,aj1,…,ajk.

Это соответствие, отображающее входные слова в выходные слова называется автоматным отображением, а так же автоматным оператором. Если результатом применения оператора к слову является выходное слово , то это будем обозначать соответственно S (q1, )= или S( )= . Число букв в слове , как обычно является длиной и обозначается или l(.

Автоматное отображение обладает следующими свойствами:

  • слова и = S( ) имеют одинаковую длину;

  • если = и S()= , где = , то S( )= ;

Последнее свойство отражает тот факт, что автоматные операторы – это операторы, которые перерабатывая слово слева направо не «заглядывают вперед». При этом i – я буква выходного слова зависит только от первых i - букв выходного слова.

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

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