Jak zbudować przykład DFA, który ma stanów, w których równoważny NFA ma n stanów. Oczywiście zestaw stanów DFA powinien zawierać wszystkie podzestawy zestawu stanów NFA, ale nie wiem jak zacząć. Jakieś sugestie, żeby postawić mnie na właściwej drodze?
automata
finite-automata
saadtaame
źródło
źródło
Odpowiedzi:
Standardowym przykładem jest język wszystkich słów nad alfabetem o rozmiarze , które nie zawierają wszystkich różnych liter. Jest akceptując NFA z stanów (lub stanów, jeśli pozwalają na wielokrotne stany wyjściowe): najpierw odgadnąć list których brakuje, a następnie przejść (z Odsuń) na rzecz zakładu przejmującego stanu z własnym pętli dla wszystkich liter innych niż .L A n L n+1 n a ϵ A
Każdy DFA dla wymaga co najmniej stanów. Można to zobaczyć za pomocą twierdzenia Myhill-Nerode. Niech będą dwoma różnymi podzbiorami słów i które zawierają wszystkie i tylko litery odpowiednio w . Bez utraty ogólności załóżmy, że , i niech . Następnie , podczas gdy .L 2n S1,S2 A w(S1),w(S2) S1,S2 a∈S1∖S2 w=w(A−a) w(S1)w∉L w(S2)w∈L
źródło
jest to ćwiczenie z książki „Finite Automata” Mark V. Lawson Heriot-Watt University, Edynburg, strona 68:
Niech . Pokaż, że język może zostać rozpoznany przez niedeterministyczny automat ze stanami . Pokaż, że każdy automat deterministyczny rozpoznający ten język musi mieć co najmniej stany. Ten przykład pokazuje, że wykładniczy wzrost liczby stanów przechodzących od niedeterministycznego automatu do odpowiedniego automatu deterministycznego jest czasami nieunikniony.n≥1 (0+1)∗1(0+1)n−1 n+1 2n
źródło
Zgaduję, że masz na myśli, że optymalny DFA ma stanów. Może to nie daje ci stanów, ale jest to .2n 2n Ω(2n)
Z „Złożoności komunikacyjnej” Kushilevitza i Nisana w ćwiczeniu 12.6:
„W przypadku niektórych stałych [nieujemnych liczb całkowitych] , rozważ (skończony) język .”c Lc={ww∣w∈{0,1}c}
a książka dalej prosi o udowodnienie, że możesz znaleźć współ-NFA rozpoznającego który używa stanów , a także że nie możesz zrobić lepiej niż stany dla DFA.Lc O(c) Ω(2c)
źródło
To późna odpowiedź, ale najwyraźniej nikt nie dał optymalnego rozwiązania. Weź , i , z Ten NFA na dwuliterowy alfabet ma stanów, tylko jeden stan początkowy i jeden końcowy, a jego równoważny minimalny DFA ma stanów.A={a,b} Qn={0,1,…,n−1} An=(Qn,A,En,{0},{0})
źródło