
Элементы теории автоматов
1. Понятие конечного автомата
Теория автоматов представляет собой раздел дискретной математики, изучающий модели преобразователей дискретной информации. Такими преобразователями являются как реальные устройства (компьютеры, живые организмы), так и воображаемые устройства (аксиоматические теории, математические машины). По сути конечный автомат можно охарактеризовать как устройство М, имеющее входной и выходной каналы при этом в каждый из дискретных моментов времени, называемых тактовыми моментами, оно находится в одном из конечных состояний.
По входному каналу в каждый момент времени t=1, 2, ... в устройство М поступают входные сигналы (из некоторого конечного множества сигналов). Задается закон изменения состояния к следующему моменту времени в зависимости от входного сигнала и состояния устройства в текущий момент времени. Выходной сигнал зависит от состояния и входного сигнала в текущий момент времени (рис. 1).
Конечный автомат является математической моделью реальных дискретных устройств по переработке информации.
Конечным автоматом называется система А=(X, Q, Y, , ), где X, Q, Y — произвольные непустые конечные множества, а и функции, из которых:
множество X={a1, ..., am} называется входным алфавитом, а его элементы — входными сигналами, их последовательности — входными словами;
множество Q={q1, ..., qn} называется множеством состояний автомата, а его элементы — состояниями;
множество Y={b1, ..., bp} называется выходным алфавитом, его элементы — выходными сигналами, их последовательности — выходными словами;
функция : XQQ называется функцией переходов;
функция :XQY называется функцией выходов.
Таким образом, (x, q)Q, (x, q)Y для xX, qQ.
С конечным автоматом ассоциируется воображаемое устройство, которое работает следующим образом. Оно может находиться в состоянии из множества Q, воспринимать сигналы из множества X и выдавать сигналы из множества Y.
2. Способы задания конечного автомата
Существует несколько эквивалентных способов задания абстрактных автоматов, среди которых можно назвать три: табличный, геометрический и функциональный.
2.1.Табличное задание автомата
Из определения автомата следует, что его всегда можно задать таблицей с двумя входами, содержащей т строк и п столбцов, где на пересечении столбца q и строки а стоят значения функций (ai, qj), (ai, qj).
q a |
q1 |
… |
qj |
… |
qn |
a1 |
(a1, q1), (a1, q1) |
… |
(a1, qj), (a1, qj) |
… |
(a1, qn), (a1, qn) |
… |
… |
… |
… |
… |
… |
ai |
(ai, q1), (ai, q1) |
… |
(ai, qj), (ai, qj) |
… |
(ai, qn), (ai, qn) |
… |
… |
… |
… |
… |
… |
am |
(am, q1), (am, q1) |
… |
(am, qj), (am, qj) |
… |
(am, qn), (am, qn) |
2.2. Задание автомата диаграммой Мура
Другой способ задания конечного автомата — графический, то есть с помощью графа. Автомат изображается в виде помеченного ориентированного графа Г(Q, D) с множеством вершин Q и множеством дуг D={(qj, (ai, qj))| qjQ, aiX}, при этом дуга (qj, (ai, qj)) помечается парой (ai, (ai, qj)). Таким образом, при этом способе состояния автомата изображают кружками, в которые вписывают символы состояний qj (j=1, …, n). Из каждого кружка проводится т стрелок (ориентированных ребер) взаимно-однозначно соответствующих символам входного алфавита X={a1, ..., am}. Стрелке, соответствующей букве aiX и выходящей из кружка qjQ, приписывается пара (ai, (ai, qj)), причем эта стрелка ведет в кружок, соответствующий (ai, qj).
Полученный рисунок называется графом автомата или, диаграммой Мура. Для не очень сложных автоматов этот способ более нагляден, чем табличный.