Automatentheorie und Formale Sprachen - Mitschrift - Katoen/17.04.2007
Aus Infostudium Wiki
Inhaltsverzeichnis |
Endliche Automaten
Der Automat
Es gibt 3 Typen endlicher Automaten
* deterministische endliche Automaten (DEA)
* nichtdet. endl. Automaten (NEA)
* nichtdet. endl. Automaten mit spontanen Übergängen (ε-NEA)
Beispiel eines Automaten (hier ein NEA):
Erläuterung:
Ist der Startzustand, gekennzeichnet durch einen losen Pfeil
Ist der Endzustand, gekennzeichnet durch den doppelten Kreis
Ist eine Transition, ein Übergang von einem in den anderen Zustand.
Funktionsweise
Sei

ein Eingabeband.
- Initial steht der Eingabewert auf dem Eingabeband
- Schritt:
* 1. lese nächstes Eingabesymbol (am Lesekopf) * 2. wechsle Zustand entspr. der endl. Kontrolle * 3. verschiebe den Lesekopf eine Position weiter
- halte die Berechnung an, sobald das letzte Zeichen der Eingabe gelesen ist. Akzeptiere das Eingabewort, falls der letzte Zustand ein Endzustand ist.
Definition: Deterministischer Endlicher Automat (DEA)
Ein DEA ist ein Quintupel
, wobei
-
eine endliche Menge von Zuständen ist
- Σ ein endliches Alphabet ist
-
eine partielle Funktion (Übergangsfunktion) ist
-
ein Startzustand ist
-
Endzustände
In der englischen Fachliteratur werden diese auch als deterministic finite automaton (DFA) bezeichnet.
Beispiel


Σ = {a,b}
- δ(q0,a) = q0
- δ(q0,b) = q1
- δ(q1,a) = q1
- δ(q1,b) = q0
Übergangsfunktion
-
(
=nicht definiert)
-
Transformation des Automaten um die undefinierten Übergänge zu eliminieren:
füge einen neuen Fangzustand qF hinzu und ersetze alle Transitionen
durch Transitionen in den Zustand qF. Dann entsteht eine totale Übergangsfunktion.
Hierunter folgt als Beispiel die Transformation des obigen Automaten. p ist der Fangzustand.
Für gewisse Operationen (z. B. Komplement) ist es Voraussetzung, dass δ eine totale Funktion ist.
Definition: Erweiterte Übergangsfunktion
Sei
ein DEA. Die erweiterte Übergangsfunktion
und
:
- δ(q,ε) = q
-
Definition: Akzeptierte Sprache
Die von M akzeptierte Sprache ist wie folgt definiert:
Beispiel
w = baabbabb
?
Nun überprüfen wir ob dieses Wort in der Sprache des oben genannten Automaten liegt:
δ(q0,baabbabb) = δ(δ(q0,b),aabbabb)
δ(δ(q0,a),abbaabb) = δ(δ(q0,a),bbabb)
δ(δ(q0,b),baabb) = δ(δ(q0,b),abb) = δ(δ(q0,a),bb)
![]()
Die Sprache ist wie folgt definiert:
Für DEA gilt
Zu jedem Eingabewort gehört genau ein Lauf
Satz
Zu jedem DEA M gibt es eine reguläre Grammatik G, sodass L(M)=L(G)
Beweisvorbereitung
Sei
ein DEA, wobei δ total ist.
Idee: Zustände werden aufgefasst als Nichtterminalsymbole und die Übergangsfunktion definiert Produktionsregel.
Sei G = (V,Σ,P,S) wobei V = Q S = q0
P ist wie folgt definiert:
- Ist
dann
- Ist δ(q,a) = p dann
- Ist
dann
Beweis
Klar: G ist regulär
Jetzt bleibt zu beweisen dass L(G) = L(M)
"
"
Sei
und
der zu x gehörende Lauf in M.
Sei
. Somit ist
ein akzeptierender Lauf, d.h.
.
Aber dann
damit
"
" Analog
G = ({q0q1},{a,b},P,q0) wobei P
*![]()
![]()
*![]()
![]()
?