Die Potenzmengenkonstruktion (Myhill-Konstruktion oder auch Teilmengenkonstruktion) ist ein Verfahren, das einen nichtdeterministischen endlichen Automaten (NEA) in einen äquivalenten deterministischen endlichen Automaten (DEA) umwandelt. Das Verfahren dient als konstruktiver Beweis für die Äquivalenz der beiden Automatenmodelle.

Grundidee

Bearbeiten

Die Zustände des konstruierten deterministischen Automaten DEA sind Mengen von Zuständen des nichtdeterministischen Automaten NEA. Ein Zustand vom DEA kodiert dabei all diejenigen Zustände, in denen sich der äquivalente nichtdeterministische Automat NEA zu einem bestimmten Zeitpunkt befinden könnte. Ein Zustandsübergang im DEA ist deterministisch, da sein Folgezustand aus der Menge aller möglichen Folgezustände besteht, in die ein NEA unter einer bestimmten Eingabe gelangen kann.

Das Verfahren heißt Potenzmengenkonstruktion, weil die Zustände des konstruierten Automaten Mengen von Zuständen des Ausgangsautomaten sind und daher die konstruierte Zustandsmenge Teil der Potenzmenge der Zustandsmenge des Ausgangsautomaten ist.

Die Potenzmengenkonstruktion ergibt nicht notwendigerweise einen minimalen deterministischen endlichen Automaten.

Theoretischer Rahmen

Bearbeiten

Die Wissenschaftler Michael O. Rabin und Dana Scott wurden 1976 für ihre Arbeiten im Bereich der Automatentheorie mit dem Turing Award ausgezeichnet. Um den nach ihnen benannten Satz

Jede von einem NEA akzeptierte Sprache ist auch durch einen DEA akzeptierbar.

beweisen zu können, wird ein Algorithmus konstruiert, der jedem NEA einen äquivalenten DEA zuweist.

Konstruktion

Bearbeiten

Zu einem nichtdeterministischen Automaten   konstruiere einen äquivalenten deterministischen Automaten   folgendermaßen:

  1. Starte mit leeren Zustandsmengen   und  .
  2. Wähle den Startzustand   von   als einelementige Menge   des Startzustandes   von  . Füge   zur Menge der Zustände   hinzu.
  3. Für alle Zustände  , die bereits in   enthalten sind:
    • Für jedes Eingabezeichen  :
      • Konstruiere einen Folgezustand   als Menge aller Zustände, die   ausgehend von einem Zustand aus   unter Eingabe von   erreichen kann. Also  .
      • Füge den Zustand   zu   hinzu, falls er noch nicht in der Menge der Zustände von   enthalten ist.
      • Ergänze die Übergangsfunktion   um den Übergang  .
  4. Wiederhole Schritt 3. so lange, bis sich   und   nicht mehr ändern.
  5. Wähle die Menge der Finalzustände   von   als diejenige Teilmenge von  , deren Zustände einen Finalzustand aus   enthalten.

Bemerkung:   kann am Ende bis zu   Zustände haben. Dies ist aber unvermeidlich, weil Sprachen existieren (z. B.  ), die von einem NEA mit   Zuständen akzeptiert werden, die aber   Myhill-Nerode-Äquivalenzklassen haben, womit ein äquivalenter DEA mindestens   Zustände haben muss.

Formales

Bearbeiten

Sei   ein nichtdeterministischer endlicher Automat mit der Zustandsmenge  , dem Eingabealphabet  , der Übergangsfunktion  , dem Startzustand   und der Menge der Finalzustände  . Seien weiterhin

 , so dass   und  , der  -Abschluss eines Zustands unter  
 , der  -Abschluss von   unter  
 , mit  
 , so dass   die kleinste Menge ist mit   und  
 
 

Daraus ergibt sich der zu   äquivalente deterministische endliche Automat   als:

 

Beispiele

Bearbeiten

Automat zum regulären Ausdruck (a|b)*aba

Bearbeiten

Gegeben sei der nichtdeterministische Automat   über dem Alphabet   mit der tabellarisch gegebenen Übertragungsrelation  :

δ a b
     
     
     
     

Eine graphische Darstellung des Ausgangsautomaten sieht folgendermaßen aus:

 

Nach obiger Konstruktion ergeben sich die Zustandsmenge   und die Übertragungsfunktion   des äquivalenten deterministischen Automaten wie folgt:

δ' a b
     
     
     
     

Daraus leitet sich die Menge der Finalzustände   ab, da nur   den Finalzustand   des Ausgangsautomaten enthält. Insgesamt ergibt sich der deterministische Automat  , der folgende graphische Darstellung besitzt:

 

Automat zum regulären Ausdruck a(a|b)*b

Bearbeiten
 
NEA für den regulären Ausdruck  
δ' a b
     
     
     
     
 
DEA für den regulären Ausdruck  

Siehe auch

Bearbeiten