Jaka jest złożoność problemu pustki dla dwukierunkowych DFA?

12

Zastanawiam się, jaka jest złożoność czasowa określania pustki dla dwukierunkowych DFA? Oznacza to, że skończone automaty mogą przesuwać się wstecz na swojej taśmie wejściowej tylko do odczytu.

Według Wikipedii są one równoważne DFA, chociaż równoważny DFA może być wykładniczo większy. Znalazłem złożoność stanu dla ich uzupełnień i skrzyżowań, ale nie dla ich testowania pustki.

Czy ktoś zna gazetę, w której mógłbym to znaleźć?

jmite
źródło
1
Zdecydowanie zalecamy przeczytanie jednego z dwóch dowodów zmniejszających 2DFA do DFA. Mogą dać ci wgląd w problem.
Yuval Filmus

Odpowiedzi:

9

Przyjaciel Google sugeruje: „ Kompletność PSPACE problemu pustki dla dwustronnych deterministycznych automatów skończonych w ćwiczeniu 5.5.4 wynika z Hunta (1973). ” (Wprowadzenie do teorii obliczeń, Eitan Gurari, Komputer Science Press, 1989, online )

Hunt, H. (1973). „O złożoności czasowej i złożoności języków”, Materiały z 5. dorocznego sympozjum ACM na temat teorii komputerów, 10–19.

( Spojrzałem teraz na odnośnik ) Jak zauważasz, praca została napisana w sposób abstrakcyjny. Kluczową częścią dla nas jest dowód Thm 3.7, w którym sugeruje się, że można zbudować 2FSA który akceptuje prawidłowe obliczenia liniowo ograniczonego automatu M na stałym (!) Ciągu x (który jest zbliżony do definicji PSPACE ). 2FSA A można konstruować w czasie wielomianowym (w rozmiarze M i x ). Obliczenia LBA można zapisać jako x $ x 1 $ $ x n, gdzie x i są tej samej długości coAM.xZAM.xx$x1$$xnxja i są kolejnymi krokami MxM. . Jak check że x I i x i + 1 są równe (do bardzo lokalną zmianę stanu i pojedynczego symbolu jako eksploatacji LBA)? Sprawdzając list po literze, idąc w obie strony na taśmie. Do tego potrzebujemy licznika wielkości | x | realizowane w skończonej kontroli państwowej A .ZAxjaxja+1|x|ZA

Okazuje się, że problem jest wspomniany w załączniku do klasycznej literatury Garey & Johnson, Computers and Intractability , problem [AL2] „Dwukierunkowa automatyczność stanu skończonego” z wyraźną uwagą „PSPACE-complete, nawet jeśli jest deterministyczny ”. Ponownie odnieś się do Hunt, z wyjaśnieniem „Transformacja z liniowego ograniczenia automatycznego przyjęcia” (Biorąc pod uwagę LBA A i wejście x , czy A przyjmuje x ?). Ten ostatni problem dotyczy [AL3] w odniesieniu do słynnego artykułu Karpa (1972) „Reducibility Among Combinatorial Problems” (gdzie akceptacja LBA jest wymieniona jako rozpoznawanie wrażliwe na kontekst).ZAZAxZAx

Hendrik Jan
źródło
1
Sprawdziłem referencję. Jestem prawie pewien, że wynika to z Twierdzenia 3.8, choć było to trochę skomplikowane. Jest sformułowany bardziej jako wynik stylu twierdzenia Rice'a dla dowolnych predykatów / właściwości, niż zwykła „pustka jest ukończona w PSPACE”.
jmite
5

Brak pustki na skrzyżowaniu dla DFA jest następujący:

Dane wejściowe: skończona lista DFA , D 2 , ..., D k .re1re2)rek

Pytanie: Czy istnieje ciąg taki, że dla każdegow , D i akceptuje w ? Innymi słowy, czy przecięcie powiązanych z nimi zwykłych języków nie jest puste?ja[k]rejaw

Skrzyżowanie Brak pustki jest klasycznym problemem kompletnym dla PSPACE (Kozen 1977 - „Dolne granice dla systemów proofów naturalnych”)

Trafność: Istnieje przyjemna i prosta sparametryzowana redukcja z braku pustki na skrzyżowaniu dla jednokierunkowych DFA do braku pustki dla dwukierunkowych DFA.

Wybierz liczbę DFA jako parametr dla braku pustki na skrzyżowaniu i liczbę zwojów (przełączanie z ruchu w lewo na prawo lub z prawej na lewą) jako parametr dla braku pustki dla dwukierunkowych DFA.

Roszczenie:k(2)k-2))

Biorąc pod uwagę DFA , D 2 , ...,re1re2)rek(2)k-2))

re1re2)re3)rek

Jeśli wszyscy zaakceptują, wówczas dokonuje oceny wszystkich, a następnie akceptuje. Jeśli jeden z nich odrzuci, to przestaje (nie kończy oceny wszystkich) i natychmiast odrzuca.

knk

Powiązany link: /cstheory/29142/deciding-emptiness-of-intersection-of-regular-languages-in-subquadratic-time/29166#29166

(2)k-2))nk

Wniosek: jeśli miałbyś znaleźć szybszy algorytm nieopróżnienia dla dwukierunkowych DFA, to prowadziłoby to do wydajniejszej symulacji maszyn niedeterministycznych. Daj mi znać, jeśli masz jakieś uwagi. Dziękujemy za pytanie! :)

Michael Wehar
źródło