Двусторонний конечный автомат - Two-way finite automaton

В Информатика, в частности в теория автоматов, а двусторонний конечный автомат это конечный автомат которому разрешено перечитать свой ввод.

Двусторонний детерминированный конечный автомат

А двусторонний детерминированный конечный автомат (2DFA) является абстрактная машина, обобщенная версия детерминированный конечный автомат (DFA), который может повторно посещать уже обработанные символы. Как и в DFA, существует конечное количество состояний с переходами между ними на основе текущего символа, но каждый переход также помечен значением, указывающим, будет ли машина перемещать свою позицию на входе влево, вправо или оставаться в той же позиции. Эквивалентно 2DFA можно рассматривать как машины Тьюринга только для чтения без рабочей ленты, только входная лента только для чтения.

2DFA были представлены в основополагающей статье 1959 г. Рабин и Скотт,[1] кто доказал, что их мощность эквивалентна одностороннему DFA. То есть любой формальный язык который может быть распознан с помощью 2DFA, может быть распознан с помощью DFA, который только исследует и использует каждый символ по порядку. Поскольку DFA, очевидно, являются частным случаем 2DFA, это означает, что оба типа машин точно распознают класс обычные языки. Однако эквивалентный DFA для 2DFA может потребовать экспоненциально много состояний, что делает 2DFA гораздо более практичным представлением алгоритмов для некоторых общих проблем.

2DFA также эквивалентны машины Тьюринга только для чтения которые используют только постоянный объем места на своей рабочей ленте, поскольку любой постоянный объем информации может быть включен в состояние конечного управления через конструкцию продукта (состояние для каждой комбинации состояния рабочей ленты и состояния управления).

Формальное описание

Формально двусторонний детерминированный конечный автомат можно описать следующими 8-кортеж: куда

  • - конечное непустое множество состояния
  • конечный непустой набор входного алфавита
  • это левый указатель конца
  • это правый конец
  • это начальное состояние
  • это конечное состояние
  • это состояние отказа

Кроме того, должны быть выполнены следующие два условия:

  • Для всех
для некоторых
для некоторых

Он говорит, что должен быть возможен какой-то переход, когда указатель на алфавите достигает конца.

  • Для всех символов

В нем говорится, что как только автомат достигает состояния принятия или отклонения, он остается там навсегда, а указатель переходит к крайнему правому символу и бесконечно циклически перемещается там.[2]

Двусторонний недетерминированный конечный автомат

А двусторонний недетерминированный конечный автомат (2NFA) может иметь несколько переходов, определенных в одной конфигурации. Его переходная функция

  • .

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

Двусторонний знакопеременный конечный автомат

А двусторонний переменный конечный автомат (2AFA) является двусторонним расширением переменный конечный автомат (AFA). Его набор состояний

  • куда .

Государства в и называются экзистенциальный соотв. универсальный. В экзистенциальном состоянии 2AFA недетерминированно выбирает следующее состояние, как NFA, и принимает его, если принимает хотя бы одно из результирующих вычислений. В универсальном состоянии 2AFA переходит ко всем следующим состояниям и принимает, если все результирующие вычисления принимают.

Компромиссы сложности состояния

Двусторонние и односторонние конечные автоматы, детерминированные, недетерминированные и чередующиеся, принимают один и тот же класс регулярных языков. Однако преобразование автомата одного типа в эквивалентный автомат другого типа приводит к увеличению числа состояний. Капуцис[3] определил, что преобразование -state 2DFA для эквивалентного DFA требует состояния в худшем случае. Если -состояние 2DFA или 2NFA преобразуется в NFA, наихудшее количество требуемых состояний . Ladner, Lipton и Stockmeyer.[4]доказал, что -состояние 2AFA может быть преобразовано в DFA с помощью Для преобразования 2AFA в NFA требуется состояния в худшем случае, см. Гефферт и Охотин.[5]

Вопрос, Web Fundamentals.svgНерешенная проблема в информатике:
Каждый -состояние 2NFA имеет эквивалент -состояние 2DFA?
(больше нерешенных проблем в информатике)

Вопрос о том, можно ли каждую 2NFA преобразовать в 2DFA с полиномиальным увеличением числа состояний, остается открытым. Проблема была поднята Сакодой и Sipser,[6]кто сравнил это с P против NP проблема в теория сложности вычислений.Berman и лингамы[7] обнаружил формальную связь между этой проблемой и L против. NL открытая проблема, см. Капуцис[8] для точного отношения.

Подметальные автоматы

Подметающие автоматы - это 2DFA особого типа, которые обрабатывают входную строку, чередуя развертки слева направо и справа налево, поворачиваясь только на концевых маркерах. Sipser[9] построил последовательность языков, каждый из которых принимается NFA с n состояниями, но не принимается никакими подметающими автоматами с числом менее состояния.

Двусторонний квантовый конечный автомат

В 1997 году концепция 2DFA была обобщена на квантовые вычисления к Джон Уотроус «О силе двухсторонних квантовых автоматов с конечным числом состояний», в которой он демонстрирует, что эти машины могут распознавать нерегулярные языки и поэтому являются более мощными, чем DFA.[10]

Двусторонний выталкивающий автомат

А выталкивающий автомат которому разрешено двигаться в любом направлении на входной ленте, называется двухсторонний автомат (2PDA);[11] он был изучен Хартманисом, Льюисом и Стернсом (1965).[12]Ахо, Хопкрофт, Ульман (1968)[13]и повар (1971)[14] охарактеризовал класс языков, распознаваемых детерминированными (2DPDA) и недетерминированный (2NPDA) двусторонние выталкивающие автоматы; Грей, Харрисон и Ибарра (1967) исследовали закрывающие свойства этих языков. [15]

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

  1. ^ Рабин, Майкл O .; Скотт, Дана (1959). «Конечные автоматы и проблемы их решения». Журнал исследований и разработок IBM. 3 (2): 114–125. Дои:10.1147 / rd.32.0114.
  2. ^ Это определение было взято из лекций CS682 (Теория вычислений) Декстера Козена из Стэнфордского университета.
  3. ^ Капуцис, Христос (2005). «Удаление двунаправленности из недетерминированных конечных автоматов». В J. Jedrzejowicz, A.Szepietowski (ed.). Математические основы компьютерных наук. MFCS 2005. 3618. Springer. С. 544–555. Дои:10.1007/11549345_47.
  4. ^ Ladner, Ричард Э .; Липтон, Ричард Дж .; Стокмейер, Ларри Дж. (1984). «Чередование автоматов выталкивания и стека». SIAM Журнал по вычислениям. 13 (1): 135–155. Дои:10.1137/0213010. ISSN  0097-5397.
  5. ^ Гефферт, Вильям; Охотин, Александр (2014). "Преобразование двусторонних чередующихся конечных автоматов в односторонние недетерминированные автоматы". Математические основы информатики 2014. Конспект лекций по информатике. 8634. С. 291–302. Дои:10.1007/978-3-662-44522-8_25. ISBN  978-3-662-44521-1. ISSN  0302-9743.
  6. ^ Сакода, Уильям Дж .; Сипсер, Майкл (1978). Недетерминизм и размер двусторонних конечных автоматов. STOC 1978. ACM. С. 275–286. Дои:10.1145/800133.804357.
  7. ^ Берман, Петр; Лингас, Анджей (1977). О сложности регулярных языков в терминах конечных автоматов. Отчет 304. Польская академия наук.
  8. ^ Капуцис, Христос А. (2014). «Двусторонние автоматы против логарифмического пространства». Теория вычислительных систем. 55 (2): 421–447. Дои:10.1007 / s00224-013-9465-0.
  9. ^ Сипсер, Майкл (1980). "Нижние границы размеров подметающих автоматов". Журнал компьютерных и системных наук. 21 (2): 195–202. Дои:10.1016/0022-0000(80)90034-3.
  10. ^ Джон Уотроус. О мощности двусторонних квантовых конечных автоматов. CS-TR-1997-1350. 1997 г. pdf
  11. ^ Джон Э. Хопкрофт; Джеффри Д. Ульман (1979). Введение в теорию автоматов, языки и вычисления. Эддисон-Уэсли. ISBN  978-0-201-02988-8. Здесь: с.124; этот абзац опущен в издании 2003 года.
  12. ^ Дж. Хартманис; ВЕЧЕРА. Льюис II, Р. Стернс (1965). «Иерархии вычислений с ограниченной памятью». Proc. 6-я Ann. IEEE Symp. по теории коммутационных цепей и логическому проектированию. С. 179–190.
  13. ^ Альфред В. Ахо; Джон Э. Хопкрофт; Джеффри Д. Уллман (1968). "Время и ленточная сложность языков автоматов с расширением". Информация и контроль. 13 (3): 186–206. Дои:10.1016 / s0019-9958 (68) 91087-5.
  14. ^ С.А. Кук (1971). "Линейное моделирование детерминированных двухсторонних автоматов с опусканием во времени". Proc. Конгресс ИФИП. Северная Голландия. С. 75–80.
  15. ^ Джим Грей; Майкл А. Харрисон; Оскар Х. Ибарра (1967). «Двусторонние автоматы с опусканием вниз». Информация и контроль. 11 (1–2): 30–70. Дои:10.1016 / s0019-9958 (67) 90369-5.