Wiemy, że DFA są równoważne NFA pod względem siły wyrazu; znany jest również algorytm konwersji NFA na DFA (niestety teraz znam twórcę tego algorytmu), który w najgorszym przypadku daje nam stany S , jeśli nasz NFA ma stany
Moje pytanie brzmi: co determinuje najgorszy scenariusz?
Oto transkrypcja algorytmu w przypadku niejasności:
Niech będzie NFA. Konstruujemy DFA A ′ = ( Q ′ , Σ , δ ′ , q ′ 0 , F ′ ) gdzie
- ,
- ,
- i
- ,
gdzie δ jest rozszerzona funkcja przejścia A .
Odpowiedzi:
Algorytm, o którym mówisz, nazywa się Powerset Construction i został opublikowany po raz pierwszy przez Michaela Rabina i Dana Scott w 1959 roku.
Aby odpowiedzieć na twoje pytanie, jak podano w tytule, nie ma maksymalnego DFA dla zwykłego języka, ponieważ zawsze możesz wziąć DFA i dodać tyle stanów, ile chcesz z przejściami między nimi, ale bez przejść między jednym z oryginalnych stanów i jeden z nowych. W związku z tym nowe państwa nie będzie osiągalny z początkowego stanu , więc język akceptowany przez automat nie zmieni (od Æ ( q 0 , w ) pozostaną takie same dla wszystkich w ∈ Ď * ).q0 δ^(q0,w) w∈Σ∗
To powiedziawszy, jasne jest, że NFA nie może mieć warunków, aby jego równoważny DFA był maksymalny, ponieważ nie ma unikalnego równoważnego DFA. Natomiast minimalny DFA jest unikalny aż do izomorfizmu.
Kanonicznym przykładem języka akceptowanego przez NFA z stanami z równoważnym DFA 2 n stanów jest L = { w ∈ { 0 , 1 } ∗ : | w | ≥ n oraz n -tego symbolu z ostatni jest 1 } . NFA dla L jest = ⟨ P , { 0 , 1 } , δ , Q 0 , {n+1 2n
źródło
Najgorszy przypadek2)s pochodzi z liczby podzbiorów stanów NFA. Aby algorytm z twierdzenia Kleene'a dał równoważny DFA o najgorszej liczbie stanów, musi istnieć sposób na dotarcie do każdego możliwego podzbioru stanów w NFA. Przykład z dwoma stanami nad alfabetem{ a , b } has a transition from the initial state to the sole accepting state on symbol a , a transition from the accepting state back to the initial on b , and a transition from the accepting state back to itself on either an a or a b . The strings λ , a , b , and ab lead to subsets {q1} , {q2} , {} , and {q1,q2} , respectively, and these would need separate states in the DFA Kleene gives.
źródło
Uważam, że jest to pytanie z pogranicza wiedzy, czyli w zasadzie pytanie badawcze. Z szybkiego wyszukiwania w Google wydaje się, że jest w większości otwarty. Ponadto przez wiele lat uważałem, że jest to ważne i powiązane z dolnymi granicami teorii złożoności. Nie wspominasz bezpośrednio o analizie statystycznej, ale to sugeruje twoje pytanie. Oto dwa przykłady badań statystycznych dotyczących DFA / NFA, które są podobne, aby pokazać ogólne podejście do tego typu pytań. Wydaje się, że podstawowe badania empiryczne dotyczące takich pytań są nadal w większości niezbadane. Wprawdzie drugi nie dotyczy bezpośrednio twojego pytania, ale jest najbliższy, jaki mogłem znaleźć w obecnych badaniach.
Aby przestudiować twoje pytanie, można przewidzieć atak statystyczny, taki jak poniżej. Konstruowane są losowe NFA. Następnie określa się minimalny DFA. Wyświetl wykres histogramu, ile DFA wielkościx wynik. Rozdziel „duże” DFA na podstawie pewnego progu. Sformułuj pewną miarę lub miarę NFA, która daje oszacowanie wynikowej wielkości DFA.
Metryka ta byłaby powiązana z metryką teorii grafów, taką jak gęstość krawędzi itp. Prawdopodobnie istnieje jakaś bardzo ważna metryka teorii grafów lub mieszanka metryk, która ocenia „wysadzenie”, ale nie jest to dla mnie od razu oczywiste. Mógłbym zasugerować coś w rodzaju metryki kolorowania wykresu lub metryki kliki. Następnie przetestuj metrykę w porównaniu z dwoma zestawami „wysadzenie w powietrze” vs „nie wysadzenie w powietrze”.
Inne odpowiedzi na twoje pytanie do tej pory podają jedynie przykładowy „wysadzenie” (przydatne w studium przypadku), ale nie odnoszą się do kluczowej kwestii ogólnej miary.
Kolejnym obszarem do przyjrzenia się z powodzeniem opracowanemu programowi badań empirycznych są badania punktu przejścia SAT. To rozwinęło bardzo głębokie powiązania z koncepcjami fizyki i termodynamiki. Wydaje mi się prawdopodobne, że podobne koncepcje mają tu zastosowanie. Na przykład można znaleźć analogiczne miary typu punktu przejścia; prawdopodobnie gęstość krawędzi itp. Zwróć uwagę na teorię ściśliwości Kołmogorowa.
Przypuszczam również, że NFA, które „wysadzają” w powietrze, w porównaniu z tymi, które nie są w jakiś sposób dość analogiczne do „twardych” i „łatwych” przypadków problemów z NP.
Yet another way to study this problem would be to formulate an NFA minimization problem. That is, given a DFA, find the minimal NFA, which last I heard (many years ago) was still an open problem.
[1] On the performance of automata minimization algorithms Marco Almeida, Nelma Moreira, Rogério Reis
[2] Automata Recognizing No Words: A Statistical Approach Cristian S. Calude, Cezar Câmpeanu, Monica Dumitrescu
źródło