Deterministischer Endlicher Automat: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 22: | Zeile 22: | ||
[[File:007automat.png|thumb|Übergangsgraph des 007-Automat |557px]] | [[File:007automat.png|thumb|Übergangsgraph des 007-Automat |557px]] | ||
* '''Eingabealphabet''': A = {0, 1, ..., 9} | * '''Eingabealphabet''': A = {0, 1, ..., 9} | ||
* '''Zustände''': Z = {q<sub>0</sub>, q<sub>1</sub>, q<sub>2</sub>, q<sub>3 | * '''Zustände''': Z = {q<sub>0</sub>, q<sub>1</sub>, q<sub>2</sub>, q<sub>3</sub>} | ||
* '''Zustandsübergangsfunktion''' wird durch den Übergangsgraph rechts dargestellt. | * '''Zustandsübergangsfunktion''' wird durch den Übergangsgraph rechts dargestellt. | ||
* '''Anfangszustand''': q<sub>0</sub> | * '''Anfangszustand''': q<sub>0</sub> | ||
* '''Endzustände''': {q<sub> | * '''Endzustände''': {q<sub>3</sub>} | ||
Die Zustandsübergangsfunktion kann auch als Tabelle dargestellt werden: | Die Zustandsübergangsfunktion kann auch als Tabelle dargestellt werden: | ||
Zeile 31: | Zeile 31: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
!| || <b>q<sub>0</sub></b> || <b>q<sub>1</sub></b> || <b>q<sub>2</sub></b> || <b>q<sub>3 | !| || <b>q<sub>0</sub></b> || <b>q<sub>1</sub></b> || <b>q<sub>2</sub></b> || <b>q<sub>3</sub></b> | ||
|- | |- | ||
||<b>q<sub>0</sub></b> || | ||<b>q<sub>0</sub></b> || 1..9 || 0 || || | ||
|- | |- | ||
||<b>q<sub>1</sub></b> || | ||<b>q<sub>1</sub></b> || 1..9 || || 0 || | ||
|- | |- | ||
||<b>q<sub>2</sub></b> || | ||<b>q<sub>2</sub></b> || 1..6,8,9 || || 0 || 7 | ||
|- | |- | ||
||<b>q<sub>3</sub></b> || || || || | ||<b>q<sub>3</sub></b> || || || || 0..9 | ||
|} | |} |
Version vom 22. Februar 2015, 22:04 Uhr
Ein deterministischer endlicher Automat erhält ein Wort als Eingabe und akzeptiert dieses Wort oder nicht.
Die Menge der akzeptierten Wörter bildet die durch den deterministischen endlichen Automaten dargestellte Sprache.
Sprachen, die von deterministischen endlichen Automaten akzeptiert werden, heißen reguläre Sprache.
Definition
Ein deterministischer, endlicher Automat wird durch ein 5-Tupel (A, Z, d, q0, E) spezifiziert:
- Das Eingabealphabet A ist eine endliche, nicht leere Menge von Symbolen. Buchstaben des Eingabealphabetes werden in der Regel klein geschrieben.
- Z ist eine endliche, nicht leere Menge von Zuständen Z
- d: Z x A → Z ist die Zustandsübergangsfunktion
- q0 ∈ Z ist der Anfangszustand
- E ⊆ Z ist die Menge der Endzustände
Die Zustandsübergangsfunktion kann durch einen Übergangsgraphen oder durch eine Tabelle dargestellt werden.
Beispiel
Der 007-Automat:
Zur Sprache gehören all diejenigen Ziffernfolgen, die an beliebiger Stelle die Ziffernfolge "007" enthalten.
- Eingabealphabet: A = {0, 1, ..., 9}
- Zustände: Z = {q0, q1, q2, q3}
- Zustandsübergangsfunktion wird durch den Übergangsgraph rechts dargestellt.
- Anfangszustand: q0
- Endzustände: {q3}
Die Zustandsübergangsfunktion kann auch als Tabelle dargestellt werden:
q0 | q1 | q2 | q3 | |
---|---|---|---|---|
q0 | 1..9 | 0 | ||
q1 | 1..9 | 0 | ||
q2 | 1..6,8,9 | 0 | 7 | |
q3 | 0..9 |