Счетчик автомат - Counter automaton

Схема счетного автомата. Каждая ячейка его стека содержит либо "А"или пробел.

В Информатика, в частности в теории формальные языки, а счетчик автомат, или же счетчик машина, это выталкивающий автомат всего с двумя символами, и начальный символ в , конечный набор символов стека.[1]:171

Эквивалентно счетчик автомат - это недетерминированный конечный автомат с дополнительной ячейкой памяти, которая может содержать одно неотрицательное целое число (неограниченного размера), которое можно увеличивать, уменьшать и проверять на равенство нулю.[2]:351

Характеристики

Класс счетных автоматов может распознать собственное надмножество обычный[примечание 1] и подмножество детерминированные контекстно-свободные языки.[2]:352

Например, язык нерегулярный[заметка 2] язык, принятый автоматом счетчика: он может использовать символ подсчитать количество s в заданной строке ввода (написание для каждого в ), после этого он может удалить для каждого в .

Автомат с двумя счетчиками, то есть двухступенчатая машина Тьюринга с двухсимвольным алфавитом, может моделировать произвольный Машина Тьюринга.[1]:172

Примечания

  1. ^ Каждый обычный язык L принимается некоторыми конечный автомат F (видеть Регулярный язык # Эквивалентные формализмы ). Обогащение F со стеком из двух символов, который игнорируется FКонтроль делает его автоматом счетчика, принимающим L.
  2. ^ посредством лемма о накачке для регулярных языков

Рекомендации

  1. ^ а б Джон Э. Хопкрофт и Джеффри Д. Уллман (1979). Введение в теорию автоматов, языки и вычисления. Ридинг / МА: Эддисон-Уэсли. ISBN  0-201-02988-X.
  2. ^ а б Джон Э. Хопкрофт, Раджив Мотвани и Джеффри Д. Ульман (2003). Введение в теорию автоматов, языки и вычисления. Река Аппер Сэдл / Нью-Джерси: Эддисон Уэсли. ISBN  0-201-44124-1.