NFA mit exponentieller Anzahl von Zuständen bei Deteminisierung


10

Wie kann ich ein Beispiel für einen DFA mit Zuständen erstellen , wobei der äquivalente NFA Zustände hatNatürlich sollte der Statussatz des EDA alle Teilmengen des Statussatzes des NFA enthalten, aber ich weiß nicht, wie ich anfangen soll. Irgendwelche Vorschläge, um mich auf den richtigen Weg zu bringen? n2nn


Diese Frage ist etwas unklar. Im Allgemeinen gibt es unendlich viele äquivalente DFAs für eine bestimmte reguläre Sprache und unendlich viele äquivalente NFAs für eine bestimmte reguläre Sprache. Wenn Sie minimale DFAs mit Zuständen wünschen , ist dies nicht immer möglich, da verschiedene NFAs dieselbe Sprache erkennen und unterschiedliche Anzahlen von Zuständen haben können, aber demselben minimalen DFA entsprechen. Wenn Sie zusätzlich nur "minimale" NFAs berücksichtigen möchten, wird dies etwas interessanter ...2n
Patrick87

1
Patrick, ich denke, das OP bedeutet ein Beispiel, bei dem der minimale DFA exponentiell größer ist als der minimale NFA.
Yuval Filmus

@ Patrick87 Ich suche keinen Algorithmus. Ich möchte nur ein Beispiel für ein Maschinenpaar: DFA mit Zuständen und NFA mit Zuständen, die dieselbe Sprache akzeptieren. n2nn
Saadtaame

@saadtaame: Das ist trivial: Nimm einen beliebigen DFA und füge genügend Zustände hinzu, um zu erreichen . Interessantes Beispiel sind solche, bei denen das minimale äquivalente DFA ebenso viele Zustände aufweist. 2n
Raphael

1
Beachten Sie, dass der Wikipedia-Artikel zur DFA-Minimierung auf geeignete Beispiele verweist (obwohl Sie die kleine NFA selbst herausfinden müssen).
Raphael

Antworten:


17

Das Standardbeispiel ist die Sprache aller Wörter über einem Alphabet der Größe , die nicht alle verschiedenen Buchstaben enthalten. Es gibt eine NFA, die mit Zuständen akzeptiert (oder Zustände, wenn Sie mehrere Startzustände zulassen): Erraten Sie zuerst einen fehlenden Buchstaben und gehen Sie dann (mit einer Bewegung) in einen akzeptierenden Zustand mit Selbstschleifen für alle Buchstaben außer .A n L n + 1 n a ϵ A.LAnLn+1naϵA

Jeder DFA für erfordert mindestens Zustände. Dies kann mit dem Myhill-Nerode-Theorem gesehen werden. Sei zwei verschiedene Teilmengen von und Wörtern, die alle und nur die Buchstaben in enthalten. Nehmen Sie ohne Verlust der Allgemeinheit an und lassen Sie . Dann ist während .2 n S 1 , S 2 A w ( S 1 ) , w ( S 2 ) S 1 , S 2 a S 1S 2 w = wL2nS1,S2Aw(S1),w(S2)S1,S2aS1S2w ( S 1 ) W L w ( S 2 ) w L.w=w(Aa)w(S1)wLw(S2)wL


10

Dies ist eine Übung in dem Buch "Finite Automata" von Mark V. Lawson, Heriot-Watt University, Edinburgh, Seite 68:

Sei . Zeigen Sie, dass die Sprache von einem nicht deterministischen Automaten mit Zuständen erkannt werden kann . Zeigen Sie, dass jeder deterministische Automat, der diese Sprache erkennt, mindestens Zustände haben muss. Dieses Beispiel zeigt, dass eine exponentielle Zunahme der Anzahl von Zuständen beim Übergang von einem nicht deterministischen Automaten zu einem entsprechenden deterministischen Automaten manchmal unvermeidbar ist.( 0 + 1 ) 1 ( 0 + 1 ) n - 1 n +n1(0+1)1(0+1)n1n+12n


10

Ich gehe davon aus, dass Sie meinen, dass der optimale DFA Zustände hat. Vielleicht bringt dir das nicht Zustände, aber es ist .2n2nΩ(2n)

Aus "Communication Complexity" von Kushilevitz und Nisan in Übung 12.6:

" Betrachten Sie für eine konstante [nicht negative ganze Zahl] die (endliche) Sprache ."cLc={www{0,1}c}

und das Buch fordert Sie weiterhin auf zu beweisen, dass Sie eine Co-NFA finden können, die erkennt , die -Zustände verwendet, und dass Sie für einen DFA keine besseren als -Zustände erzielen können. O ( c ) Ω ( 2 c )LcO(c)Ω(2c)


Der Nachweis des zweiten Teils "erfordert" auch Kommunikationskomplexität, sodass dies möglicherweise nicht für Ihre Zwecke geeignet ist.
Timothy Sun

Danke für die Antwort! Was meinst du mit Co-NFA?
Saadtaame

Wechseln Sie in der Definition eines NFA grundsätzlich zwischen "Akzeptieren" und "Ablehnen". Das heißt, wenn keiner der möglichen Pfade zu einem Ablehnungsstatus führt, akzeptieren Sie, andernfalls lehnen Sie ab.
Timothy Sun

Tatsächlich folgt die Untergrenze ziemlich leicht von Myhill-Nerode. (Tatsächlich können Sie so etwas wie .) Aber meine Co-NFA verwendet -Zustände. 2c(c+1)2cΘ(c2)
Yuval Filmus

Endliche Sprachen sind in dieser Hinsicht etwas langweilig. Siehe auch hier .
Raphael

8

Dies ist eine späte Antwort, aber anscheinend hat niemand die optimale Lösung gegeben. Nehmen Sie , und , mit Diese NFA ist Ein aus zwei Buchstaben bestehendes Alphabet hat Zustände, nur einen Anfangs- und einen Endzustand, und sein äquivalenter minimaler DFA hat Zustände.A={a,b}Qn={0,1,,n1}An=(Qn,A,En,{0},{0})

En={(i,a,i+1)0in1}{(n1,a,0)}{(i,b,i)1in1}{(i,b,0)1in1}}
n2n

3
Sehr schlau! Die von diesem Automaten akzeptierte Sprache ist , wobei aus allen Wörtern besteht, die den Buchstaben höchstens Mal enthalten. W n - 1 a n - 1(an+aWn1b)Wn1an1
Yuval Filmus

2
@ yuval-filmus Dieses Beispiel gehört nicht mir. Ich wollte eine Referenz geben, aber im Moment erinnere ich mich nicht, wo ich sie gesehen habe.
J.-E.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.