Koszt zapytania o równoważność dla DFA


12

Zainspirowany tym pytaniem ciekawi mnie:

Jaka jest najgorsza złożoność sprawdzania, czy dany DFA akceptuje ten sam język jako dane wyrażenie regularne?

Czy to jest znane? Można mieć nadzieję, że ten problem występuje w P - że algorytm ma wielomian wielkości obu.

Odpowiedzi:


16

Według Garey i Johnsona (s. 174) REGULARNA EKSPRESJA NIŻ UNIWERSALNOŚĆ jest pełna na PSPACE. To jest problem z podjęciem decyzji, czy wyrażenie regularne nad ma nie generować wszystkie sznurki. Twój problem jest więc kompletny dla PSPACE.{0,1}

Oto jeden ze sposobów, aby przekonać się, że problemem PO jest PSPACE. Biorąc pod uwagę DFA i wyrażenie regularne , skonstruuj NFA dla , i użyj konstrukcji zestawu mocy do wirtualnej budowy DFA równoważnej ; nie będziemy przechowywać w pamięci, ale mamy dostęp do Oracle, używając tylko przestrzeni wielomianowej. Teraz wirtualnie skonstruuj DFA dla symetrycznej różnicy i używając konstrukcji produktu. Ten DFA nie przyjmuje żadnych ciągów znaków (a więcArBrCBCCDACL(A)=L(r)), jeśli nie ma ścieżki ze stanu początkowego do stanu akceptacji. Ponieważ osiągalność jest w NL, a ma rozmiar , możemy sprawdzić, czy w , ta ostatnia równość wynika z twierdzenia Savitcha.D2poly(n)L(D)=NSPACE(poly(n))=NPSPACE=PSPACE


Czy na pewno jest w PSPACE (jeśli nie, to byłby po prostu PSPACE-HARD)? A może wystarczy sprawdzić wszystkie ciągi o jakiejś wielomianowej długości, aby sprawdzić, czy wyrażenia regularne i DFA zgadzają się na nich wszystkich? Czy to oczywiste? :-)
Neal Young

4
Pamiętaj, że osiągalność jest w NL, więc nawet jeśli DFA odpowiadający wyrażeniu regularnemu jest wykładniczy, ponieważ dostęp do Oracle jest tani, możemy dowiedzieć się, czy różnica symetryczna jest pusta czy nie w NPSPACE = PSPACE.
Yuval Filmus

Nie widzę wyniku twardości. To znaczy, jak zredukujesz powyższy problem do uniwersalności wyrażeń regularnych?
Markus

2
Wybierz DFA, który akceptuje wszystko. Aby pokazać twardość, redukujesz REGULARNĄ EKSPRESJĘ NIŻ UNIWERSALNOŚĆ do danego problemu.
Yuval Filmus

1
@YuvalFilmus Dzięki za odniesienie! Prawdopodobnie powinieneś dodać swój pierwszy komentarz do swojej kompletności, w obu znaczeniach tego słowa :)
Lev Reyzin
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.