Informatik III Christian Schindelhauer Wintersemester 200607 7 Vorlesung

  • Slides: 42
Download presentation
Informatik III Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung 16. 11. 2006 Albert-Ludwigs-Universität Freiburg Rechnernetze

Informatik III Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung 16. 11. 2006 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer 1

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 2

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 3

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 4

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 5

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 6

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 7

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 8

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 9

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 10

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 11

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 12

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 13

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 14

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 15

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 16

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 17

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 18

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 19

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 20

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 21

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex Informatik III 7. Vorlesung - 22

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Cocke-Younger-Kasami-Algorithmus Beispiel Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer l = Länge i = Startindex j = Schlussindex baaba ist in der Sprache Informatik III 7. Vorlesung - 23

Kapitel IV Kontextfreie Sprachen Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr.

Kapitel IV Kontextfreie Sprachen Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Kellerautomaten Informatik III 7. Vorlesung - 24

Prinzip des Kellerautomats Push-Down-Automaton (PDA) Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof.

Prinzip des Kellerautomats Push-Down-Automaton (PDA) Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Ø Ein Kellerautomat vereinigt einen – NFA mit einem – Keller (Stack) Ø Der Keller kann potenziell beliebig viel Zeichen speichern Ø Zugriff ist eingeschränkt: – Pop: Auslesen des obersten Zeichens (inklusive Entfernen) – Push: Hineinlegen eines Zeichens Ø Auf den Übergängen des NFA wird der Zugriff auf den Keller festgelegt – zusätzlich zum aktuellen Zeichen der Eingabe, – die weiterhin von links nach rechts gelesen wird. Informatik III 7. Vorlesung - 25

Keller-Automat: Formale Definition Ø Definition – Ein Kellerautomat (pushdown automaton - PDA) wird durch

Keller-Automat: Formale Definition Ø Definition – Ein Kellerautomat (pushdown automaton - PDA) wird durch ein Sechser-Tupel (Q, , , , q 0, F), wobei Q, , , F endliche Mengen sind und 1. Q ist die Menge der Zustände 2. ist das Eingabealphabet 3. ist das Kelleralphabet 4. : Q P(Q ) ist die Übergangsfunktion 5. q 0 ist der Startzustand 6. F Q ist die Menge der akzeptierenden Zustände Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Ø Ein PDA akzeptiert die Eingabe w, – wenn es eine Darstellung w= w 1 w 2. . . wm mit wi gibt – wenn es eine Zustandsfolge q = r 0 r 2. . . rm mit si Q gibt – wenn es Zeichenketten s 0, s 1 , . . . , sm * gibt, so dass Ø r 0 = q 0 und s 0 = Startzustand mit leeren Keller Ø Für i = 0, . . . , m-1 gilt: (ri+1, b) (ri, wi+1, a), wobei si = at und si+1 = bt für passende a, b , t * Übergang mit Kellerverhalten: Lies a, Schreibe b • rm F • Ein akzeptierender Zustand erscheint als Endzustand 7. Vorlesung - 26

Keller-Automat: Beispielberechnung Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer

Keller-Automat: Beispielberechnung Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Ø Der PDA M = (Q, , , , q 1, F) akzeptiert die Sprache {0 n 1 n | n≥ 0} Ø Ø Ø Q = {q 1, q 2, q 3, q 4} = {0, 1} = {0, $} F = {q 1, q 4} : – (q 1 , , ) = {(q 2, $)} • q 1: Push $, Gehe zu q 2 – (q 2 , 0, ) = {(q 2, 0)} • q 2: Falls Lese = 0: Push 0; Gehe zu q 2 – (q 2 , 1, 0) = {(q 3, )} • q 2: Falls Lese=1 und Pop=0 gehe zu q 3 – (q 3 , 1, 0) = {(q 3, )} • q 3: Falls Lese=1 gehe zu q 3 – (q 3 , , $) = {(q 4, )} • q 3: Falls Pop=$ gehe zu q 4 – (q , a) = {}, für alle anderen Kombinationen q Q, a Informatik III 7. Vorlesung - 27

Keller-Automat: Beispielberechnung Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr.

Keller-Automat: Beispielberechnung Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer 7. Vorlesung - 28

Keller-Automat: Beispielberechnung Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr.

Keller-Automat: Beispielberechnung Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer 7. Vorlesung - 29

Keller-Automat: Beispielberechnung Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr.

Keller-Automat: Beispielberechnung Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer 7. Vorlesung - 30

Keller-Automat: Beispielberechnung Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr.

Keller-Automat: Beispielberechnung Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer 7. Vorlesung - 31

Keller-Automat: Beispielberechnung Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr.

Keller-Automat: Beispielberechnung Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer 7. Vorlesung - 32

Keller-Automat: Beispielberechnung Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr.

Keller-Automat: Beispielberechnung Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer 7. Vorlesung - 33

Keller-Automat: Beispielberechnung Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr.

Keller-Automat: Beispielberechnung Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer 7. Vorlesung - 34

Keller-Automat: Beispielberechnung Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr.

Keller-Automat: Beispielberechnung Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer 7. Vorlesung - 35

Keller-Automat: Beispielberechnung Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr.

Keller-Automat: Beispielberechnung Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer 7. Vorlesung - 36

Keller-Automat: Beispielberechnung Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr.

Keller-Automat: Beispielberechnung Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer 7. Vorlesung - 37

Keller-Automat: Beispielberechnung Automat akzeptiert! Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik

Keller-Automat: Beispielberechnung Automat akzeptiert! Informatik III Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer 7. Vorlesung - 38

Keller-Automaten beschreiben genau die kontextfreien Sprachen Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik

Keller-Automaten beschreiben genau die kontextfreien Sprachen Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer ØTheorem 6. 1 – Eine Sprache ist genau dann kontextfrei, wenn ein Kellerautomat sie erkennt ØLemma 6. 1 – Ist eine Sprache kontextfrei, dann erkennt Sie ein Kellerautomat. ØBeweisidee – Die Mehrdeutigkeit der kontextfreien Sprache wird durch den Nichtdeterminismus des PDA gelöst – Die Ableitung der Worte steht im Keller – Im Keller werden die möglichen Übergänge der Ableitung geraten – Oben im Keller = Links, Unten im Keller = Rechts. – Sobald oben im Keller ein Terminal steht, wird es mit der Eingabe verglichen und jeweils gestrichen – Sobald oben im Keller eine Variable steht, wird eine mögliche Ersetzung im Keller durchgeführt. Informatik III 7. Vorlesung - 39

Jede kontextfreie Sprache kann von einem PDA erkannt werden Albert-Ludwigs-Universität Freiburg Institut für Informatik

Jede kontextfreie Sprache kann von einem PDA erkannt werden Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Ø Lemma 6. 1 – Ist eine Sprache kontextfrei, dann gibt es einen Kellerautomat für sie. Ø Konstruktion des Kellerautomaten – Wir können davon ausgehen, dass die Sprache als kontextfreie Grammatik G=(V, , R, S) in Chomsky-Normalform vorliegt. – Ist S in der Grammatik so gibt es einen ist der Startzustand des PDA akzeptierend – Zuerst wird der Stack mit den Symbolen $S initialisiert – Sei q der Zustand nach der Initialisierung – Für jede Regel der Form • A BC • wird ein Übergang von q zu Zustand q[BC] hergestellt, der A vom Keller geholt, von der Eingabe liest und C auf den Keller legt • Der Übergang von q[BC] nach q liest von der Eingabe und legt B auf den Keller ablegt. – Für jede Regel der Form • A a • wird ein Übergang von q zu q anglegt, der von der Eingabe a liest und A vom Keller holt – Eine weitere Regel liest $ vom Keller und geht in den einzigen akzeptierenden Zustand q[akz] Informatik III 7. Vorlesung - 40

Beispielkonstruktion Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer ØGrammatik:

Beispielkonstruktion Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer ØGrammatik: G=(V, , R, S) mit –V={S, , A, B} – ={a, b, c} ØR = { S AB, A BB, A a, A c, B b} ØBeispiel: – S AB cb Informatik III Keller: $S Eingabe: cb Keller: $BA Eingabe: cb Keller: $B Eingabe: b Keller: $ Eingabe: - 7. Vorlesung - 41

Ende der 7. Vorlesung Informatik III Christian Schindelhauer Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof.

Ende der 7. Vorlesung Informatik III Christian Schindelhauer Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer 42