2DFA, который требует много состояний в эквивалентном DFA?

11

Существует ли 2DFA с состояниями (где n нетривиально, скажем, по крайней мере 4), для которых требуется по крайней мере 2 n состояния для моделирования с использованием любого DFA?nn2n

Двусторонний DFA (2DFA) является детерминированным конечным числом состояний автомата , который может перемещаться назад и вперед на его только для чтения ввода ленты, в отличие от конечно-автоматов , которые могут двигаться только входной головки в одном направлении.

Хорошо известно, что 2DFA распознают точно такой же класс языков, как и DFA, другими словами, обычные языки. Менее понятен вопрос, насколько эффективна симуляция. В оригинальных конструкциях конца 1950-х годов Рабина / Скотта и Шепердсона использовалось понятие пересекающихся последовательностей, и их довольно сложно проанализировать. Моше Варди опубликовал еще одну конструкцию, которая показывает верхнюю границу состояний, но эта граница может иметь некоторую слабину.2O(n2)

Я спрашиваю, известны ли какие-либо (семейства) 2DFA, для которых требуется много состояний в любом DFA, имитирующем их, даже после минимизации DFA по Myhill-Nerode. Кроме того, будут ли какие-нибудь интересные последствия знания таких 2DFA?

  • Моше Й. Варди, Записка о редукции двухсторонних автоматов к односторонним автоматам , IPL 30 261–264, 1989 г. doi: 10.1016 / 0020-0190 (89) 90205-6 ( препринт )
Андраш Саламон
источник

Ответы:

9

Точная граница - это , что было дано в статье « Удаление двунаправленности из недетерминированных конечных автоматов » Кристоса Капуциса (2005).n(nn(n1)n)

Я также помещаю фигуру из этой статьи, которая дает ясную картину:

Чтобы получить больше, я думаю, что эта статья является хорошей отправной точкой. Чтобы проверить соответствующие недавние события, я также могу рекомендовать проверить документы, перечисленные здесь: dblp: Кристос А. Капуцис .

Абузер Якарылмаз
источник
1
Отлично, спасибо! По сравнению с верхней границей Варди это показывает оценку 2 Θ ( n log n ) . 2O(n2)2Θ(nlogn)
Андрас Саламон
5

Рассмотрим следующий язык для алфавита :Σ={a,b,c}

{a,b}b{a,b}nc

На словах это набор слов, которые содержат ровно один и для которых n + 1 символов перед c , можно найти букву b .cn+1cb

n+cc2nn{a,b}cnnb

2nn+c

DCTLib
источник
(a+b)b(a+b)ncn
ε