Введение

В теории автоматов, чередующийся конечный автомат (AFA) — это недетерминированный конечный автомат, переходы которого разделены на экзистенциальные и универсальные переходы. Например, пусть A — чередующийся автомат. Для экзистенциального перехода δ(q, a), A недетерминированно выбирает перейти в состояние q₁ или q₂, считывая символ a. Таким образом, он ведёт себя как обычный недетерминированный конечный автомат. Для универсального перехода δ(q, a), A переходит в состояния q₁ и q₂, считывая символ a, имитируя поведение параллельной машины. Обратите внимание, что из-за универсальной квантификации ход выполнения представляется деревом выполнения. A принимает слово w, если существует дерево выполнения для w, такое что каждый путь в этом дереве заканчивается в принимающем состоянии. Основная теорема утверждает, что любой AFA эквивалентен детерминированному конечному автомату (DFA), следовательно, AFA распознают только регулярные языки. Альтернативная модель, которая часто используется, представляет булевы комбинации в дизъюнктивной нормальной форме, так что, например, (p ∧ q) представляется как (p ∧ q). В этом случае состояние "истина" (true) представлено как 1, а состояние "ложь" (false) — как 0. Это представление обычно более эффективно. Чередующиеся конечные автоматы могут быть расширены для распознавания деревьев аналогично конечным автоматам на деревьях, что приводит к чередующимся автоматам на деревьях.

Сложность состояния

Несмотря на то, что AFA может распознавать только регулярные языки, они отличаются от других типов конечных автоматов лаконичностью описания, измеряемой числом состояний. Чандра и др. преобразуют AFA с *n* состояний в недетерминированный конечный автомат (NFA) с не более чем 2^n состояний, выполняя конструкцию подмножеств, аналогичную той, что используется для преобразования NFA в DFA.

Комплексность вычислений

Задача о членстве спрашивает, для заданного AFA и слова , принимает ли этот AFA данное слово. Эта задача является P-полной. Это верно даже для однобуквенного алфавита, то есть когда автомат принимает унитарный язык. Задача о непустоте (не пуст ли язык заданного AFA?), задача об универсальности (пуст ли комплемент языка заданного AFA?) и задача об эквивалентности (определяют ли два заданных AFA один и тот же язык) являются PSPACE-полными для AFA.