logo search
Ответы для подготовки

Конечный автомат

Конечный автомат — абстрактный автомат без выходного потока, число возможных состояний которого конечно. Результат работы автомата определяется по его конечному состоянию.

Существуют различные варианты задания конечного автомата. Например, конечный автомат может быть задан с помощью пяти параметров: M = (Q, Е (почти как z перевернутая), б, q0, F), где

• Q — конечное множество состояний автомата;

• q0 — начальное (стартовое) состояние автомата (q0 принадлежит Q)

• F — множество заключительных (или допускающих) состояний, таких что F дуга вправо и подчеркивание Q;

• Е— допустимый входной алфавит (конечное множество допустимых входных символов), из которого формируются строки, считываемые автоматом;

• б — заданное отображение множества Q х Е во множество P(Q) подмножеств Q:

б: Q х Е -> P (Q)

(иногда б называют функцией переходов автомата).

Автомат начинает работу в состоянии q0, считывая по одному символу входной строки. Считанный символ переводит автомат в новое состояние из Q в соответствии с функцией переходов. Если по завершении считывания входного слова (цепочки символов) автомат оказывается в одном из допускающих состояний, то слово «принимается» автоматом. В этом случае говорят, что оно принадлежит языку данного автомата. В противном случае слово «отвергается».

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