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?i ∈ [ 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! :)