Nichtdeterministische Automaten und die Potenzmengenkonstruktion
Einen DEA für „endet auf " zu entwerfen war noch einfach. Schwieriger wird es bei Sprachen wie „der drittletzte Buchstabe ist eine ". Du weißt beim Lesen nie, ob das gerade der drittletzte Buchstabe ist, und musst dir deshalb viele Möglichkeiten gleichzeitig merken. Der entsprechende DEA hat acht Zustände, obwohl die Sprache so einfach zu beschreiben ist.
Ein Gedankenexperiment hilft: Was, wenn der Automat an einer Stelle raten dürfte? Bei „der drittletzte Buchstabe ist " würde er bei jeder einfach auf Verdacht annehmen, dass sie die drittletzte ist, und prüfen, ob danach genau noch zwei Zeichen folgen. Ein solcher Automat darf bei einem Zeichen mehrere Möglichkeiten haben. Das nennt man Nichtdeterminismus. Er macht Automaten oft viel kleiner und leichter zu entwerfen. Im Werkzeug Automaten-Simulator kannst du beides ausprobieren und siehst, wie sich mehrere aktive Zustände gleichzeitig verhalten.
Nichtdeterministischer endlicher Automat (NEA)
Ein NEA ist wie ein DEA ein Tupel , nur dass die Übergangsfunktion jedem Paar aus Zustand und Zeichen eine Menge von Folgezuständen zuordnet, auch die leere Menge:
Es kann also pro Zeichen mehrere oder gar keine Übergänge geben. Der NEA akzeptiert ein Wort, wenn es mindestens einen Lauf gibt, der nach dem letzten Zeichen in einem Endzustand endet. Läufe, die in einer Sackgasse enden, sind ohne Bedeutung. Man kann sich vorstellen, dass der Automat sich bei jeder Wahl in mehrere Kopien aufspaltet, die alle parallel weiterlaufen.
NEA für „endet auf "
NEA für „endet auf "
Der Automat hat drei Zustände. In bleibt er bei jedem Zeichen ( und ) und kann bei einer zusätzlich nach raten, dass dies der Beginn des Suffixes ist. Von geht es bei einer nach , dem einzigen Endzustand. Sonst gibt es keine Übergänge.
Das Wort : Nach ist die Menge der aktiven Zustände . Nach ist sie . Nach der letzten führt nach und nach , also . Da ein Endzustand ist, wird das Wort akzeptiert. Beim Wort endet die Menge in ohne Endzustand, es wird nicht akzeptiert.
Satz von Rabin und Scott
Zu jedem NEA gibt es einen DEA, der dieselbe Sprache erkennt. Nichtdeterminismus macht endliche Automaten also nicht mächtiger, nur möglicherweise kleiner: Der DEA kann bis zu Zustände haben, wenn der NEA Zustände hat.
Potenzmengenkonstruktion für „endet auf "
Potenzmengenkonstruktion für „endet auf "
Wir starten bei und berechnen nur die erreichbaren Mengen:
- mit und mit
- mit (denn hat bei keinen Nachfolger) und mit
- mit und mit
Endzustand ist . Wir erhalten einen DEA mit drei Zuständen, der genau dem bekannten Automaten für „endet auf " entspricht. Von den möglichen Teilmengen waren nur erreichbar. Das ist typisch, die theoretische Obergrenze wird selten erreicht.
Zusammenfassung
Ein NEA darf pro Zustand und Zeichen mehrere oder keine Folgezustände haben: .
Er akzeptiert ein Wort, wenn mindestens ein Lauf in einem Endzustand endet.
Die Potenzmengenkonstruktion macht aus jedem NEA einen DEA mit denselben Wörtern, dessen Zustände Mengen von NEA-Zuständen sind.
Der DEA kann bis zu Zustände haben, meist sind deutlich weniger erreichbar.
NEAs sind nicht mächtiger als DEAs, aber oft viel kleiner und leichter zu entwerfen.
Übungen
Ein NEA hat Zustände. Wie viele Zustände kann der DEA aus der Potenzmengenkonstruktion höchstens haben?
Der NEA für „endet auf " liest das Wort . Welche Menge von Zuständen ist nach dem letzten Zeichen aktiv?
Der drittletzte Buchstabe eines Wortes über soll eine sein. Wie viele Zustände hat der kleinste DEA für diese Sprache?
Erkläre, warum Nichtdeterminismus bei endlichen Automaten die Menge der erkennbaren Sprachen nicht vergrößert.