Minimalizowanie deterministycznych automatów skończonych (DFA) to problem, który został dokładnie przestudiowany w literaturze, i zaproponowano kilka algorytmów w celu rozwiązania następującego problemu: Biorąc pod uwagę DFA , oblicz odpowiednią minimalną DFA akceptującą ten sam język, co \ mathscr {A} . Większość tych algorytmów działa w czasie wielomianowym.
Zastanawiam się jednak, czy wariant decyzyjny tego problemu - „biorąc pod uwagę DFA , czy minimalny?” - można rozwiązać bardziej efektywnie niż obliczanie minimalnego automatu. Oczywiście można to również zrobić skutecznie, uruchamiając na przykład algorytm zawężania partycji Hopcroft, a następnie decydując, czy wszystkie partycje zawierają dokładnie jeden stan.
Jak sugeruje Yuval Filmus w swojej odpowiedzi , wariant rozstrzygalności można rozwiązać szybciej, być może przy użyciu standardowych algorytmów. Niestety nie rozumiem, jak to zrobić (mam nadzieję, że nie umknie mi tutaj oczywista kwestia).
Yuval wskazuje w komentarzach tutaj, że najbardziej znane algorytmy (takie jak powyższy) działają w czasie dla alfabetów o stałej wielkości. Dlatego jestem nie tylko zainteresowany asymptotycznie znaczącym wzrostem czasu wykonywania, ponieważ wydaje się to raczej mało prawdopodobne. Najbardziej niepokoi mnie to, że nie wyobrażam sobie żadnego „skrótu”, który mógłby wynikać z faktu, że interesuje nas tylko odpowiedź „tak-nie-odpowiedź” - nawet skrótu, który pozwala zaoszczędzić asymptotycznie nieistotną ilość czasu. Uważam, że każdy rozsądny algorytm decydujący o minimalności DFA musiałby faktycznie zminimalizować DFA i sprawdzić, czy coś się zmieni w trakcie procesu.
źródło
Odpowiedzi:
Być może nie jest to dokładnie taka odpowiedź, jakiej szukasz, ale ponieważ pytałeś o problemy decyzyjne, pomyślałem, że możesz być zainteresowany złożonością problemu. Jest -kompletny.NL
Co to znaczy, że DFA jest minimalne? Istnieją dwie właściwości:
Każdy stan jest osiągalny: tak, że możemy osiągnąć ze stanu początkowego , wykonując ; w symbolach: . q s w s → w q∀q∈Q∃w∈Σ∗ q s w s→wq
Każda para stanów jest rozróżnialna: with tak, że i i (tylko jeden z jest stanem akceptacji).q ≠ r ∃ w ∈ Σ ∗ q → w s r → w t | { s , t } ∩ F | = 1 s , t∀q,r∈Q q≠r ∃w∈Σ∗ q→ws r→wt |{s,t}∩F|=1 s,t
Zauważ, że mogą być obliczane w dzienniku przestrzeni (tj , wystarczy śledzić aktualną pozycję, jak postępować jednym z listów na raz). Ponadto istnieje tylko skończona liczba odmian między i więc w wyniku twierdzenia Immerman-Szelepcsenyi mamy problem z .L w ∀ ∃ N Lx→wy L w ∀ ∃ NL
Najprostszym sposobem widać, że jest trudno jest, aby zauważyć, że własność 1 rozwiązuje - skierowanej unreachability, który jest prototypowym trudnym problemem. Ale nawet jeśli weźmiesz pod uwagę tylko osiągalne DFA, problem jest nadal trudny (tj. Właściwość 2 to -hard) i możesz znaleźć stosunkowo prosty dowód w Lemma 2.2 z Cho & Huynh (1992) . s tNL s t NL
Oczywiście użyłem niedeterminizmu, więc jest to trochę kaszel w odróżnieniu od algorytmu Hopcrofta. Wiemy jednak, że , więc możesz użyć tych konstrukcji, aby uzyskać bardziej efektywny pod względem przestrzeni algorytm niż Hopcroft (który ze swej natury musi śledzić wielu partycji ). nNL⊆L2 n
źródło