Автомат с магазинной памятью (Pushdown automation) — тип распознавателей, определяющий класс
контекстно-свободных языков.
Автомат с магазинной памятью (сокращенно МП-автомат ) — это семерка
, где
(1) — конечное множество символов состояний,
представляющих возможные состояния управляющего устройства;
(2) — конечный входной алфавит;
(3) — конечный алфавит магазинных символов;
(4) — отображение множества в множество конечных
подмножеств множества ;
(5) — начальное состояние управляющего устройства;
(6) — символ, находящийся в магазине в начальный
момент (начальный символ);
(7) — множество заключительных состояний.
Конфигурацией МП-автомата называется тройка
, где
(1) — текущее состояние управляющего устройства;
(2) — неиспользованная часть входной цепочки;
первый символ цепочки находится под входной
головкой; если , то считается, что вся входная
лента прочитана;
(3) — содержимое магазина; самый левый символ
цепочки считается верхним символом магазина; если , то магазин считается пустым.
Начальной конфигурацией МП-автомата называется
конфигурация вида , где
. Заключительная его конфигурация
— это конфигурация вида , где .
Такт работы МП-автомата представляется в виде
бинарного отношения , определенного на
конфигурациях следующим образом:
, если множество
содержит , где и
. Через и
обозначаются соответственно рефлексивное и
транзитивное замыкание и транзитивное замыкание отношения
.
Цепочка допускается МП-автоматом , если
для некоторого .
Языком, определяемым (или допускаемым) автоматом (обозначается ), называют множество
цепочек, допускаемых автоматом .
Сравнивая понятия конечного и магазинного автоматов, можно
сказать, что МП-автомат получается из конечного автомата
добавлением потенциально бесконечной рабочей
(вспомогательной) памяти, в которой элементы информации
хранятся и используются так же как патроны в магазине
автоматического оружия, т.е. в каждый момент доступен только
верхний элемент магазина.
Такт работы некоторого МП-автомата , связанный с
переходом от конфигурации к конфигурации
при , говорит о том, что
МП-автомат , находясь в состоянии и имея в
качестве текущего входного символа, расположенного под
входной головкой (т.е. обозревая ), а — в качестве
верхнего символа магазина, может перейти в новое состояние
, сдвинуть входную головку на одну ячейку вправо и
заменить верхний символ магазина цепочкой
магазинных символов. Если , то верхний символ
удаляется из магазина и, тем самым, магазинный список сокращается.
Такт, в котором , называют е-тактом. В -такте
текущий входной символ не принимается во внимание и входная
головка не сдвигается. Однако состояние управляющего
устройства и содержимое памяти могут измениться. Заметим,
что -такт может происходить и тогда, когда вся входная
цепочка прочитана.