Nächste Seite: Endliche Automaten und reguläre Aufwärts: Reguläre Sprachen Vorherige Seite: Reguläre Sprachen Inhalt
Unterabschnitte
- Definition: Deterministischer endlicher Automat (DFA)
- Fangzustand
- Lauf
- Definition: Nichtdeterministischer endlicher Automat (NFA)
Endliche Automaten
Definition: Deterministischer endlicher Automat (DFA)
Ein DFA ist ein 5er-Tupel| Q: | Endlicher Zustandsmenge |
| endliches Alphabet, welches für das Eingabewort | |
| und bei den Übergängen benutzt wird | |
| Übergangsfunktion
|
|
| Startzustand aus |
|
| F: | Endzustandsmenge |
- Gibt es keine passende Übergangsfunktion mehr und das Eingabewort ist noch nicht ganz gelesen, so verwirft der Automat.
- Ist der Automat, wenn das Eingabewort komplett gelesen ist in einem Endzustand, so akzeptiert er50.
- Ist er nicht in einem Endzustand bei Ende des Wortes, so verwirft er.
Fangzustand
Manchmal benötigt man einen DFA, der solange läuft, bis das Eingabewort abgearbeitet ist. Mann kann hierfür einen Fangzustand generieren, in den alle nicht definierten Übergangsfunktionen gehen, wenn also an dieser Stelle eigentlich der Automat schon verwerfen müßte. Dieser Fangzustand ist nicht in der Endzustandsmenge, weshalb dann verworfen wird, wenn das Wort zuende ist.Lauf
Man kann die Zustände, durch die ein DFA beim akzeptieren oder verwerfen eines Wortes läuft hintereinander auflisten. Eine solche Liste nennt man Lauf. Man kann einen akzeptierenden oder verwerfenden Lauf haben. Haben wir einen verwerfenden Lauf so schreiben wir an das Ende des Laufes einDefinition: Nichtdeterministischer endlicher Automat (NFA)
- Ein NFA ist ein Automat, der in mehr als einen Zustand mit dem gleichen Zeichen im Eingabewort wechseln kann. Grafisch gesprochen gibt es also mehrere Pfeile vom selben Zustand mit der selben Inschrift zu unterschiedlichen Folgezuständen.
- Des weiteren kann ein NFA mehr als einen Startzustand haben.
- Aus den zur Auswahl stehenden Zustandswechseln und Startzuständen wird nichtdeterministisch einer gewählt, so daß - wenn möglich - der NFA einen akzeptierenden Lauf hat.
|
|
Übergangsfunktion |
|
|
Menge der Startzustände |
Fußnoten
- ... er50
- Dies ist anders als bei Turingmaschinen. Turingmaschinen akzeptieren sofort, wenn sie in einen Endzustand kommen. Automaten akzeptieren nur, wenn das Wort zuende ist und sie in einem Endzustand sind. Sie laufen über den Endzustand hinweg, wenn das Wort noch nicht zuende ist.
Nächste Seite: Endliche Automaten und reguläre Aufwärts: Reguläre Sprachen Vorherige Seite: Reguläre Sprachen Inhalt