Vorkurs Informatik
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
18.6 Endlicher Automat 299<br />
L = {ab,abab,ababab,...}<br />
G = {N,T,P,S} mit T = {a,b}, N = {X,B,S}, P = {S → aB,S → aX,X → bS,B → b}<br />
S ⇒ aX ⇒ abS ⇒ abaB ⇒ abab<br />
Abbildung 18.11: Eine Grammatik für die Sprache, die von dem endlichen Automaten in Abbildung 18.10<br />
akzeptiert wird und eine Ableitung des Wortes abab.<br />
übergeht. Dieser Zustandsübergang geschieht nach vorgegebenen Regeln, die den Automaten<br />
festlegen. Dabei ist es zulässig, dass eine Regel angibt, dass der Zustand nicht geändert werden<br />
soll.<br />
Zur Beschreibung der Regeln eines endlichen Automaten hat sich das Zustandsübergangsdiagramm<br />
eingebürgert. Abbildung 18.10 zeigt ein solches Diagramm. Das Diagramm ist ein<br />
Graph, der für jeden möglichen Zustand einen Knoten enthält. In dem Beispiel aus Abbildung<br />
18.10 gibt es vier Zustände, z 0 ,z 1 ,z 2 und z 3 , die jeweils durch einen kreisförmigen Knoten repräsentiert<br />
werden. Die gerichteten Kanten, die als Pfeile eingezeichnet sind, geben die möglichen<br />
Zustandswechsel an. An jeder Kante ist ein Buchstabe angebracht. Dieser Buchstabe entspricht<br />
einem Eingabezeichen. Befindet sich beispielsweise der Automat im Zustand z 0 und kommt als<br />
nächstes Eingabezeichen a an, geht er entsprechend des a-markierten Pfeils, der von z 0 ausgeht,<br />
in den Zustand z 1 über. Sieht er im Zustand z 0 ein b als nächstes Eingabezeichen, folgt er der<br />
Kante, die mit b markiert ist, die dann zum Zustand z 3 führt. Tritt im Zustand z 3 ein b als Eingabezeichen<br />
auf, zeigt die von z 3 ausgehende Kante mit Markierung b wiederum auf z 3 , sodass der<br />
Automat im Zustand z 3 bleibt.<br />
Der Pfeil links oben, der auf z 0 zeigt, aber keinen Startknoten hat, markiert den Startzustand des<br />
Automaten. Die Abarbeitung eines neuen Eingabewortes beginnt stets in diesem Startzustand,<br />
hier z 0 . Die Endzustände eines Automaten sind durch doppelte Kreise markiert. In dem Beispiel-<br />
Automaten gibt es nur einen Endzustand, nämlich den Zustand z 2 . Falls sich der Automat nach<br />
Abarbeitung des letzten Zeichens in einem Endzustand befindet, wird das Eingabewort akzeptiert,<br />
sonst nicht.<br />
Betrachten wir beispielsweise das Eingabewort abab. Vom Zustand z 0 führt das erste Zeichen a<br />
auf den Zustand z 1 . Das zweite Zeichen b führt von z 1 auf z 2 . Das darauf folgende a führt zu z 1<br />
und das letzte Zeichen b schließlich zu z 2 .Daz 2 ein Endzustand ist, wird das Wort abab akzeptiert.<br />
Wie in Abbildung 18.10 gezeigt, wird eine Ableitung durch die Folge von Zuständen dargestellt,<br />
wobei der Zustandsübergang durch Doppelpfeile markiert ist, die mit dem entsprechenden<br />
Eingabebuchstaben versehen sind. Die von einem Automaten akzeptierte Sprache besteht aus allen<br />
Eingabeworten, deren Ableitung auf einen Endzustand führt. Die Sprache des Automaten in<br />
Abbildung 18.10 besteht aus allen Worten, die Folgen aus ab enthalten, also ab,abab,ababab,....<br />
In formaler Definition wird ein endlicher Automat durch ein 5-Tupel M =(Z,T,δ,z 0 ,E) beschrieben.<br />
Dabei bezeichnet Z eine endliche Menge von Zuständen und T ein endliches Eingabealphabet.<br />
δ ist eine Überführungsfunktion, die einem Paar aus Zustand z und Eingabezeichen<br />
a einen neuen Zustand z ′ = δ(z,a) zuordnet. Die Überführungsfunktion ist in unserem<br />
Beispiel durch das Zustandsübergangsdiagramm gegeben. Abbildung 18.10 zeigt die ent-