Определение 2.2.2. Конечным автоматом (КА) называется следующая пятерка:
A = < V, Q, , q0, F >,
где
V = {a1, a2, …, am} – входной алфавит (конечное множество символов);
Q = {q0, q1, …, qn-1} – алфавит состояний (конечное множество символов );
: Q x V Q – функция переходов;
q0 Q – начальное состояние конечного автомата;
F Q – множество заключительных состояний.
На содержательном уровне функционирование КА можно представить следующим образом.
Имеется бесконечная лента, разбитая на ячейки, в каждой из которых может находиться один символ из V. На ленте записана цепочка V*. Ячейки слева и справа от цепочки не заполнены. Имеется конечное устройство управления (УУ) с читающей головкой, которое может последовательно считывать символы с ленты, передвигаясь вдоль ленты слева направо. При этом УУ может находиться в каком-либо одном состоянии из Q. Начинает свою работу УУ всегда в начальном состоянии q0Q, а завершает в одном из заключительных состояний F Q; Каждый раз, переходя к новой ячейке на ленте, УУ переходит в новое состояние в соответствии с функцией . Схематически конструкция КА показана на рис. 2.1.
Рис. 2.1. Схема конечного автомата
Отображение δ (функцию переходов КА) можно представить различными способами. Основные из них:
· совокупность команд;
· диаграмма состояний;
· матрица переходов.
Команда конечного автомата записывается следующим образом:
(qi, aj) → qk, где: qi, qk Q; aj V.
Данная команда обозначает, что КА находится в состоянии qi, читает с ленты символ аj и переходит в состояние qk.
Графически команда представляется в виде дуги графа, идущей из вершины qi в вершину qk и помеченной символом аj входного алфавита:
Графическое представление всего отображения называют диаграммой состояний конечного автомата. Диаграмма состояний в этом случае — это ориентированный граф, вершинам которого поставлены в соответствие символы из множества состояний Q, а дугам — команды отображения .
Если КА оказывается в ситуации (qi, аj), которая не является левой частью какой-либо команды, то он останавливается. Если же УУ считает все символы цепочки , записанной на ленте, и при этом перейдет в заключительное состояние qiF, то говорят, что цепочка допускается конечным автоматом.
Матрица переходов КА строится следующим образом: столбцы матрицы соответствуют символам из входного алфавита, строки — символам из алфавита состояний, а элементы матрицы соответствуют состояниям, в которые переходит КА для данной комбинации входного символа и символа состояния.