16.09.2017 Aufrufe

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-

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!