Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Vorlesung Informatik 3 Einführung in die Theoretische Informatik (12 – Kellerautomaten, PDA) Prof. Dr. Th. Ottmann.

Ähnliche Präsentationen


Präsentation zum Thema: "Vorlesung Informatik 3 Einführung in die Theoretische Informatik (12 – Kellerautomaten, PDA) Prof. Dr. Th. Ottmann."—  Präsentation transkript:

1 Vorlesung Informatik 3 Einführung in die Theoretische Informatik (12 – Kellerautomaten, PDA) Prof. Dr. Th. Ottmann

2 2 Analyseproblem für cf. Sprachen Beispiel: L = { a n b n ; n 0} ist cf, denn L = L(G) für die cf Grammatik G mit den Regeln S aSb, S ε, aber es gibt keinen endlichen Automaten, der genau die Worte aus L akzeptiert. Ziel: Erweiterung des Automatenmodells zum Model des Kellerautomaten (PDA) so, dass PDAs genau die cf Sprachen erkennen können. Idee: Ergänze endliche Automaten um einen Kellerspeicher (Stack), in dem Informationen unbegrenzter Größe zwischengespeichert werden können.

3 3 Kellerautomat

4 4 Beispiel einer Konfigurationenfolge Beispiel: PDA, der L = { a n b n ; n 0} erkennt. Sei K ein PDA mit 3 Zuständen s 0, s 1, s f. K speichert jedes gelesene a im Keller und streicht beim Lesen von b jeweils ein a aus dem Kellerspeicher. Zugleich prüft der Automat K, ob zuerst eine Folge von a und dann eine Folge von b auf dem Eingabeband steht. Ist der Keller am Ende leer, wird das Eingabewort akzeptiert, sonst nicht! (s 0, a 3 b 3, )

5 5 Nichtderministischer Kellerautomat Ein (nichtdeterministischer) Kellerautomat (PDA) K = (, S, Γ, δ, s 0,, F) besteht aus 1.einer endlichen Menge von Eingabesymbolen, 2.einer endlichem Menge S von Zuständen, 3.einer endlichen Menge Γ von Kellersymbolen, 4.der Zustandsübergangsrelation δ ( S x ( {ε} ) x Γ x S x Γ* ), 5.dem Startzustand s 0 S, 6.dem Keller-Bottom Symbol 7.der Endzustandsmenge F S

6 6 PDA für L = { a n b n ; n 1} K = (, S, Γ, δ, s 0,, F) ist wie folgt definiert: = {a, b}, S = {s 0, s 1, s f }, Γ = {A, }, F = { s f } δ = { (s 0, ε,, s f, ε ), (s 0, a,, s 0, A ), (s 0, a, A, s 0, AA) (s 0, b, A, s 1,ε ), (s 1, b, A, s 1,ε ), (s 1, ε,, s f,ε )}

7 7 Konfigurationsübergänge eines PDA Eine Konfiguration k = (s, w, a) S x * x Γ* enthält den aktuellen Zustand s, das noch zu verarbeitende Suffix w des Eingabewortes, den aktuellen Kellerinhalt α. Konfigurationsübergänge sind gegeben durch die Relation, für die gilt: (s, av, Aα) (s, v, βα) gdw. (s, a, A, s, β) δ ist für alle s, s S, a {ε}, α, β, Γ*, A Γ. Die vom Kellerautomaten K = (, S, Γ, δ, s 0,, F) mit Endzustand erkannte Sprache über ist L F (K) = { w * ; (s 0, w, ) * (s f, ε, γ ), s f F, γ Γ* }

8 8 Beispiel für einen deterministischen PDA Ein Kellerautomat soll L 2 = {wcsp(w) ; w {a, b}* } erkennen, wobei sp(w) das Spiegelbild des Wortes w bezeichnet. K 2 = ({a, b, c}, {s 0, s c }, {A, B, }, δ 2, s 0,, {s c }) mit δ 2 = {((s 0, c,, s c, ε ), (wenn Eingabe nur c) (s 0, a,, s 0, A ), (erstes Zeichen a merken) (s 0, b,, s 0, B ), (erstes Zeichen b merken) (s 0, a, A, s 0, AA), (weitere a merken) (s 0, a, B, s 0, AB), (weitere a merken) (s 0, b, A, s 0, BA), (weitere b merken) (s 0, b, B, s 0, BB), (weitere b merken) (s 0, c, A, s c, A), (c lesen, Keller bleibt) (s 0, c, B, s c, B),(c lesen, Keller bleibt) (s c, a, A, s c, ε),(Spiegel-a lesen) (s c, b, B, s c, ε ),(Spiegel-b lesen) (s c, ε,, s c, ε)}(Keller leer)

9 9 Konfigurationenfolge (1) (s 0, c,, s c, ε ), (s 0, a,, s 0, A ), (s 0, b,, s 0, B ), (s 0, a, A, s 0, AA), (s 0, a, B, s 0, AB), (s 0, b, A, s 0, BA), (s 0, b, B, s 0, BB), (s 0, c, A, s c, A), (s 0, c, B, s c, B), (s c, a, A, s c, ε), (s c, b, B, s c, ε ), (s c, ε,, s c, ε)

10 10 Beispiel für einen echt nichtdeterministischen PDA Ein Kellerautomat soll L 3 = {wsp(w) ; w {a, b}* } erkennen, wobei sp(w) das Spiegelbild des Wortes w bezeichnet. K 3 = ({a, b}, {s 0, s c, s f }, {A, B, }, δ 3, s 0,, {s f }) mit δ 2 = {((s 0, ε,, s f, ε ), (w = ε wird akzeptiert) (s 0, a,, s 0, A ), (erstes Zeichen a merken) (s 0, b,, s 0, B ), (erstes Zeichen b merken) (s 0, a, B, s 0, AB), (a merken, wenn vorher b) (s 0, b, A, s 0, BA), (b merken, wenn vorher a) (s 0, a, A, s 0, AA)(a nach a merken, oder: (s 0, a, A, s c, ε)Spiegel-a lesen) (s 0, b, B, s c, BB), (b nach b merken, oder (s 0, b, B, s c, ε),Spiegel-b lesen) (s c, a, A, s c, ε),(Spiegel-a lesen) (s c, b, B, s c, ε ),(Spiegel-b lesen) (s c, ε,, s c, ε)}(Keller leer)

11 11 Konfigurationenfolge (2) (s 0, ε,, s f, ε ), (s 0, a,, s 0, A ), (s 0, b,, s 0, B ), (s 0, a, B, s 0, AB), (s 0, b, A, s 0, BA), (s 0, a, A, s 0, AA) (s 0, a, A, s c, ε) (s 0, b, B, s c, BB), (s 0, b, B, s c, ε), (s c, a, A, s c, ε), (s c, b, B, s c, ε ), (s c, ε,, s c, ε),

12 12 Akzeptieren mit leerem Keller Sei K = (, S, Γ, δ, s 0,, F) ein Kellerautomat. Die von K mit leerem Keller akzeptierte Sprache über ist: L ε (K) = { w * ; (s 0, w, ) * (s, ε, ε ), s S } Satz: Die Klasse der von Kellerautomaten mit Endzustand akzeptierbaren Sprachen stimmt überein mit der Klasse der von Kellerautomaten mit leerem Keller akzeptierbaren Sprachen. Bew. (1), Idee: Zu einem PDA A konstruiert man einen PDA A mit L F (A) = L ε (A) so, dass A seinen Keller leert, wenn A in einen Endzustand übergeht. Bew. (2), Idee: Zu einem PDA A konstruiert man einen PDA A mit L ε (A) = L F (A) so, dass A in einen Endzustand übergeht, wenn A seinen Keller geleert hat.

13 13 Äquivalenz von cf Grammatiken und PDA(1) Satz: Zu jeder cf Grammatik G = (V,, R, S) kann man einen PDA K angeben, so dass L(G) = L ε (K). Bew.: K wird so konstruiert, dass Linksableitungen von G simuliert werden: Ist das aktuelle Eingabesymbol = Keller-Topsymol, so wird es gelesen bzw. gelöscht. Ist Keller-Topsymbol = A V, so wird kein Eingabesymbol gelesen, und A wird durch α ersetzt, falls A α R. Keller Bottomsymbol ist S. Bem.: Ein Zustand q reicht aus! Der PDA K wird auch Parser von G genannt.

14 14 Beispiel: PDA für eine cf Grammatik Betrachte G = ({a, b}, {S}, { S aSb | ε }, S) mit L(G) = {a n b n ; n 0}. Der Parser für G ist der PDA K = ({a, b}, {q}, {a, b, S}, δ, q, S, ) mit δ = {(q, a, a, q, ε), (q, b, b, q, ε), (q, ε, S, q, aSb), (q, ε, S, q, ε)}. Beispiel einer akzeptierenden Konfigurationenfolge für w = aaabbb:

15 15 Äquivalenz von cf Grammatiken und PDA(2) Satz 2: Zu jedem PDA K kann man eine cf Grammatik G angeben mit L ε (K) = L(G)


Herunterladen ppt "Vorlesung Informatik 3 Einführung in die Theoretische Informatik (12 – Kellerautomaten, PDA) Prof. Dr. Th. Ottmann."

Ähnliche Präsentationen


Google-Anzeigen