19.11.2014 Aufrufe

Inhaltsverzeichnis - Automaten und Formale Sprachen

Inhaltsverzeichnis - Automaten und Formale Sprachen

Inhaltsverzeichnis - Automaten und Formale Sprachen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

(d) M akzeptiert w ∈ Σ ∗ , falls (q 0 , w, #) ⊢ ∗ M (q, ε, ε) für ein q ∈ Q.<br />

(Startend in Zustand q 0 , mit Eingabe w <strong>und</strong> nur dem Zeichen # im Keller, kann<br />

in einer Reihe von legalen Rechenschritten das Eingabewort gelesen <strong>und</strong> der Keller<br />

geleert werden?)<br />

(e) L M := {w ∈ Σ ∗ | M akzeptiert w} ist die von M akzeptierte Sprache.<br />

4.1.3 Beispiel Eine Formalisierung unseres PDA für die Klammersprache sieht wie<br />

folgt aus: Q = {q 0 }, Σ = {’(’,’)’}, Γ = {S, (, ), #}, Z 0 = #;<br />

δ(q 0 , ε, #) = {(q 0 , S#)}<br />

δ(q 0 ,’)’,’)’) = {(q 0 , Sε 0 )}<br />

δ(q 0 ,’(’S) = {(q 0 , S’)’S)}<br />

δ(q 0 , ε, #) = {(q 0 , ε)}.<br />

Dabei haben wir — die aufmerksame Leserin hat es bemerkt — die Aktion ”<br />

expandieren<br />

mit Resultat (S)S“ <strong>und</strong> ”<br />

Lesen eines ’(’“ zusammengefasst.<br />

4.1.4 Beispiel Wir wollen einen PDA für die Sprache {ww R | w ∈ {0, 1} ∗ } angeben.<br />

Die Idee ist, die Buchstaben von w im Keller zu speichern, Nichtdeterminismus zu verwenden,<br />

um irgendwo auf das Lesen von w R umzuschalten <strong>und</strong> während dieser zweiten<br />

Phase die Kellersymbole einzeln mit den Buchstaben des Eingabewortes zu vergleichen.<br />

M = (Q, Σ, Γ, q 0 , Z 0 , δ), wobei Q = {q 0 , q 1 } (q 0 für Lesephase, q 1 für Kontrollphase),<br />

Σ = {0, 1}, Γ = {A 0 , A 1 , #}, Z 0 = #, δ wie folgt:<br />

δ(q 0 , a, X) = {(q 0 , A a X)}, für a ∈ {0, 1}, X ∈ Γ<br />

(1. Phase: Gelesenes Symbol a wird gePUSHt)<br />

δ(q 0 , ε, X) = {(q 1 , X)}, für X ∈ Γ<br />

(Umschalten auf 2. Phase: kein Eingabezeichen lesen, Keller nicht ändern)<br />

δ(q 1 , a, A a ) = {(q 1 , ε)}, für a ∈ {0, 1}<br />

(2. Phase: Falls gelesenes Symbol zu oberstem Kellerzeichen paßt, wird dieses ge-<br />

POPt.)<br />

δ(q 1 , ε, #) = {(q 1 , ε)}<br />

(Leeren des Kellers nach Ende der 2. Phase)<br />

Dabei sind die Knoten Konfigurationen, eine von oben nach unten verlaufende Kante von k<br />

nach k ′ steht für die Relation ⊢ M . Wir skizzieren den Baum aller möglichen Berechnungen<br />

dieses PDA auf der Eingabe 011110.<br />

109

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!