Alle nicht deterministischen endlichen Automaten können in äquivalente deterministische endliche Automaten umgewandelt werden. Bei deterministischen endlichen Automaten ist jedoch nur ein Pfeil pro Symbol zulässig, der auf einen Zustand verweist. Daher sollten seine Staaten Mitglieder der Machtgruppe der Staaten der NFA sein. Dies scheint darauf hinzudeuten, dass die Anzahl der Zustände des DFA in Bezug auf die Anzahl der Zustände des NFA exponentiell skalieren könnte. Ich fragte mich jedoch, wie ich das tatsächlich beweisen könnte.
automata
finite-automata
nondeterminism
John Hoffman
quelle
quelle
Antworten:
Eine Operation, die eine NFA in eine andere NFA umwandelt, dies jedoch nicht für eine DFA tut, ist die Umkehrung (alle Pfeile in die entgegengesetzte Richtung zeigen und Anfangszustände durch akzeptierende Zustände tauschen). Die Sprache, die vom transformierten Automaten erkannt wird, ist die umgekehrte Sprache .LR= { un - 1… U0∣ u0… Un - 1∈ L }
Eine Idee ist es daher, nach einer Sprache zu suchen, die asymmetrisch aufgebaut ist. Zukünftig sollte diese Sprache durch Überprüfen der ersten Symbole erkannt werden , wobei nur -Zustände erforderlich sind . In umgekehrter Richtung sollte es notwendig sein, die letzten Zustände zu speichern , wofür Zustände erforderlich sind , wobei die Alphabetgröße ist.n + O ( 1 ) n A n + O ( 1 ) An n + O ( 1 ) n EINn+ O ( 1 ) EIN
Wir suchen nach einer Sprache der Form wobei aus Wörtern der Länge , eine nichttriviale Teilmenge des Alphabets ist und keine weitere Einschränkung bietet. Wir könnten genauso gut das einfachste Alphabet (ein Singleton-Alphabet reicht nicht, kleinere NFAs gibt es nicht) und . Ein nichttriviales bedeutet . Was , so verlangen wir, dass es nicht mit korreliert (damit der DFA für die umgekehrte Sprache das Gedächtnis von behalten muss ): takeM n n S M ' A = { a , b } M ' = A * S S = { a } M n S S M n = A nMnSM′ Mn n S M′ A={a,b} M′=A∗ S S={a} Mn S S Mn=An .
Also sei . Es wird von einem einfachen DFA mit Zuständen erkannt . n + 2Ln=(a|b)na(a|b)∗ n+2
Das Umkehren ergibt eine NFA, die erkennt .LRn=(a|b)∗a(a|b)n
Der minimale DFA , der erkennt, hat mindestens Zustände. Dies liegt daran, dass alle Wörter der Länge im DFA unterschiedliche Zustände erreichen müssen. (Mit anderen Worten, sie gehören zu verschiedenen Myhill-Nerode-Äquivalenzklassen .) Um dies zu beweisen, nehmen Sie zwei verschiedene Wörter und lassen eine Position sein, an der sie sich unterscheiden. ( ). wir ohne der Allgemeinheit an, und . Dann ist und ( ist eine unterscheidende Erweiterung für 2 n + 1LRn 2n+1 u , v ∈ A n + 1 k u k ≠ v k u k = ein v k = b u b k ∈ L R n v b k ∉ L R n B k u v u v L R n u b k v b k2n+1 u,v∈An+1 k uk≠vk uk=a vk=b ubk∈LRn vbk∉LRn bk u und ). Wenn und in einem DFA, der erkennt, zu demselben Zustand führen würden, würde dies und , was unmöglich ist, da einer zu einem akzeptierenden Zustand führt und der andere nicht.v u v LRn ubk vbk
Danksagung: Dieses Beispiel wurde in Wikipedia ohne Erklärung zitiert . Der Artikel verweist auf einen Artikel, den ich nicht gelesen habe und der eine engere Grenze enthält:
Leiss, Ernst (1981), "Prägnante Darstellung regulärer Sprachen durch boolesche Automaten", Theoretical Computer Science 13 (3): 323–330, doi: 10.1016 / S0304-3975 (81) 80005-9 .
quelle
Betrachten Sie die folgende Sprachfamilie:Ln={x1,x2,…,xk#xk+1:∃i∈{1,…,k} with xi=xk+1}
Das Alphabet von ist . { # , 1 , … , n }Ln {#,1,…,n}
Es gibt eine NFA mit -Zuständen, die die Sprache erkennt . Es hat Kopien. In der ten Kopie erraten wir, dass der letzte Buchstabe , und überprüfen unsere Vermutung. Es ist einfach, eine solche Kopie mit Zuständen zu erstellen. Der einzige Nichtdeterminismus ist im Anfangszustand.L n n i i 3O(n) Ln n i i 3
Es gibt jedoch keinen DFA, der mit weniger als Zuständen erkennt , da sich ein DFA intuitiv Teilmengen von merken muss .2 O ( n ) { 1 , … , n }Ln 2O(n) {1,…,n}
Ich bin mir ziemlich sicher, dass Sipsers Buch dieses Beispiel hat.
quelle
Ein weiteres Beispiel ist die Sprache aller Wörter, bei denen ein Symbol des Alphabets fehlt. Wenn das Alphabet die Größe , kann ein NFA einen Anfangszustand "erraten" und so die Sprache mit Zuständen akzeptieren . Andererseits ist bei Verwendung des Nerode-Theorems leicht zu erkennen, dass die Größe des minimalen DFA für diese Sprache beträgt .n 2 nn n 2n
Dieses Beispiel zeigt auch, dass NFAs unter Komplementation eine exponentielle Explosion erleiden können. In der Tat ist bekannt, dass jede NFA (oder sogar kontextfreie Grammatik) für die Sprache aller Wörter, die alle Symbole des Alphabets enthalten, eine exponentielle Anzahl von Zuständen aufweisen muss.
quelle