Theoretische Informatik 2

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen für das Erfüllbarkeitsproblem SAT
Advertisements

Algorithmen und Datenstrukturen (EI)
Christian Schindelhauer
Grammatiken, Definitionen
Christian Schindelhauer
Christian Schindelhauer
Parser für CH3-Sprachen
Automatentheorie „Berechnungsmodell für logische Sprachen“
Stoyan Mutafchiev Betreuer: Ilhan, Tim
Das Halteproblem. Gibt es einen Algorithmus, mit dem man für jedes beliebig vorgegebene Programm R und für jede beliebig vorgegebene Eingabe E entscheiden.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (02 – Endliche Automaten) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (05 – Reguläre Ausdrücke) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (06 – Reduktion endlicher Automaten) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (12 – Kellerautomaten, PDA) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (04 – Automaten mit ε-Transitionen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (03 – Nichtdeterminierte endliche Automaten) Prof. Dr. Th. Ottmann.
Basisinformationstechnologie I Dozent T.Schaßan Ableitungsbaum Referentin: Munkhnast Dembereldalai.
Grundkurs Theoretische Informatik, Folie 3.1 © 2004 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 3 Gottfried Vossen Kurt-Ulrich Witt.
Reguläre Sprachen Karin Haenelt.
Reguläre Ausdrücke Karin Haenelt
© Karin Haenelt 2006, Äquivalenzen Reg.Ausdrücke, Reg.Sprachen, EA ( ) 1 Reguläre Sprachen Karin Haenelt.
Parsing regulärer Ausdrücke
© Karin Haenelt 2006, Operationen auf Akzeptoren und Transduktoren, ( ) 1 Operationen auf endlichen Akzeptoren und Transduktoren.
© Karin Haenelt 2005, Endliche Automaten: Alphabet, Zeichenreihe, Sprache, Endliche Automaten Grundlagen: Alphabet, Zeichenreihe, Sprache.
Interpretation und Isomorphie Bedeutung und Form in der Mathematik.
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/ Vorlesung Dominic Dumrauf.
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Theoretische Informatik 2
Christian Scheideler Institut für Informatik Universität Paderborn
Grenzen der Regularität
Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung
Basisinformationstechnologie HK-Medien
Institut für Theoretische Informatik
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER.
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02.
Spracherkennung mit Automaten
Beispiele: KFG 2.Teil Beispiel 1: Sei G eine Grammatik mit den folgenden Regeln: S  Ac | Bd A  aAb | ab B  aBbb | abb Definieren Sie.
Noam CHOMSKY, Sheila GREIBACH
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 3: Potenzreihen und kontextfreie Sprachen (Vgl. Buch von A. Salomaa)
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Christian Schindelhauer Wintersemester 2006/07 1. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Arne Vater Wintersemester 2006/07 28.
Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Arne Vater Wintersemester 2006/ Vorlesung
Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07
Arne Vater Wintersemester 2006/ Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Algorithmen für das Erfüllbarkeitsproblem SAT
Wintersemester 2005 / Vorlesung
Institut für Softwarewissenschaft – Universität WienP.Brezany 1 Beispiele (Frist: ) Beispiel 1: Sei  = {a, b} ein Alphabet und Q = {q 0, q 1 } eine.
7. Formale Sprachen und Grammatiken
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
Vor an auf über PRÄPOSITIONEN unter neben zwischen hinter in.
Gliederung 0. Motivation und Einordnung 1. Endliche Automaten
Spracherkennung mit Automaten
 Präsentation transkript:

Theoretische Informatik 2 Tutorium #4 9.5.2002 (Fabian Wleklinski)

Literatur Erk und Priese: „Theoretische Informatik“ Springer Hopcroft und Ullman: „Einführung in die Automatentheorie, formale Sprachen und Komplexitätstheorie“ Addison-Wesley freier Parser-Generator: http://www.devincook.com/GOLDParser/

Aufgabe 4.1 a), b) a) Beweis ist falsch! b) Der Satz ist richtig! Nehme einen NFA A, so dass für ein w: (q0,w) = {p,q,} mit p  F, q  F  w  T(A) Konstruiere NFA A‘ gemäß Skript S. 44: F‘ := Q \ F  p  F, q  F  w  T(A‘) (!) T(A‘)  T(A) !!! Korrektur: A ist DFA statt NFA! b) Der Satz ist richtig! Konstruiere DFA A für L: A := (Q, , , q0, F) T(A)=L Konstruiere NFA B: B := (Q‘, , ‘, q-1, q0) Q‘ := Q  {q-1} ‘ : Q    P(Q) neuer Anfangszustand q-1!

Aufgabe 4.1 b) Kehre Richtungen aller Kanten um!  p, q  Q, a  : (p,a)=q  ‘(q,a)p -Übergänge von q-1 zu allen in A akzeptierenden Zuständen: ‘(q-1,) := { f | fF } NFA B akzeptiert LR! Beweis für LR  L(B): „es fehlen keine Wörter“ w  T(A): es gibt in B einen Pfad für wR von q-1 nach q0 Beweis für LR  L(B): „nicht zuviele Wörter“ w  T(B): es gibt in A einen Pfad für wR von q0 zu einem fF   reg. Sprachen sind abgeschlossen gegen Spiegelung! („LR“)

Aufgabe 4.1 c) Der Satz ist richtig! konstruiere DFA für L T(A) = L entferne unerreichbare Zustände füge neuen Startzustand s hinzu  reg. Sprachen sind abgeschlossen gegen Suffix-Bildung!

Pumping-Lemma (REG) Grenze von DFAs? d.h. Grenze von regulären Sprachen/ Ausdrücken! Wann ist eine Sprache nicht regulär? Beweis? Nerode-Index oder: Pumping-Lemma Pumping-Lemma: L reguläre Sprache:  n  zL: |z|  n: z=uvw, 1  |v| (< n) und uviw  L (i  0) Anschaulichkeit: endliche Automaten reguläre Ausdrücke Sprache unendlich => Wiederholungen!

Pumping-Lemma (Beispiel 1) L1:={ aibai | iN } Vermutung: L1 ist nicht regulär Beweis d. Widerspruch Widerspruchsannahme: „L1 ist regulär“ Pumping-Lemma sagt aus, dass es ein n geben muss, so daß ... (S. 36)! Es gibt beliebig lange Wörter in L1! Betrachte das Wort z=anban aus L1 n ist nach wie vor die Konstante des Pumping-Lemma! Wie sieht die Zerlegung anban=uvw konkret aus? 3 Möglichkeiten: je nachdem, wo sich das b befindet!

Pumping-Lemma (Beispiel 1) #1: „b ganz hinten“ Zerlegung in u, v, w: u=ak k  0 v=aj j > 0 w=aiban i  0 k+j+i = n Pumpe das Wort z einmal auf setze j auf „2“ erhalte das neue Wort z‘ = uv2w = aka2jaiban = ak+2j+iban = an+jban da j>0: z‘ nicht in L1! Nach Pumping-Lemma müsste z‘ in L1 sein! Konsequenz aus dem WIDERSPRUCH: Findet man mit Möglichkeiten #2 und #3 keine „bessere“ Zerlegung, dann war die Widerspruchs-annahme falsch, und L1 kann nicht regulär sein!

Pumping-Lemma (Beispiel 1) #2: „b ganz vorne“ Zerlegung in u, v, w: u=anbai i  0 v=aj j > 0 w=ak k  0 k+j+i = n Analog zu #1 ! #3: „b in der Mitte“ u=ak k  0 v=ajbai i,j  0 w=al l  0 k+j=i+l=n Pumpe abermals das Wort z einmal auf setze j auf „2“ erhalte das neue Wort z‘ = uv2w = akajbaiajbaial da #b‘s > 1: z‘ nicht in L1! Also: Sprache lässt sich nicht „pumpen“ => kann nicht regulär sein! 

Pumping-Lemma (Beispiel 2) L2:={ ap | p Primzahl } Vermutung: L2 ist nicht regulär Beweis d. Widerspruch mit Pumping-Lemma Es gibt beliebig lange Wörter in L2! Nehme die kleinste Primzahl p  n betrachte z=ap aus L1 zerlege ap in uvw u=ai (i 0) v=aj (0<j<n) w=ak (k0) i+j+k=p jedes uviw muss in L2 liegen! (für jedes i0) Fall 1: i+k > 1 pumpe (i+k) mal z‘=uvi+kw = aiaj(i+k)ak= =ai+j(i+k)+k = a(1+j)(i+k) z‘ muss in L2 liegen, aber: (1+j)(i+k) kann keine Primzahl sein!

Pumping-Lemma (Beispiel 2) Fall 2: i+k = 1 es muss j=p-1 sein! o.B.d.A. sei i=0 und k=1 pumpe (j+2) mal z‘=uvj+2w = aj(j+2)a = = aj(j+2)+1 = a(j+1)(j+1) z‘ muss in L2 liegen, aber: (j+1)(j+1) kann keine Primzahl sein! L2 ist nicht regulär! Weitere Beispiele siehe S. 37f

Reguläre Sprachen Reguläre Sprachen Entscheidbare Probleme für reguläre Sprachen: L leer? L endlich? L1  L2 leer? L1 = L2? Alle endlichen Sprachen sind regulär! typisches Praxisbeispiel: „Getränkeautomat“ Reguläre Sprachen „rationale Sprachen“ „Typ-3-Sprache“ Sprachen der regulären Ausdrücke Sprachen der DFAs und NFAs (etc.) Sprachen der rechts- oder linkslinearen Grammatiken

Reguläre Sprachen Kriterien: Abschlußeigenschaften: Automat (DFA, NFA, ...) Nerode-Index Pumping-Lemma reg. Ausdruck reg. Grammatik Abschlußeigenschaften: , , , ,  R (Spiegelung) / (Quotient) hom(), -frei hom(), inverser hom()

Pumping-Lemma (CFL) Odgen‘s Lemma Pumping-Lemma: L kontextfreie Sprache also darf L auch eine reguläre Sprache sein!  n  zL: |z|  n: z=uvwxy, |vwx| < n, |vx|   und uviwxiy  L (i  0) Nachteil: Jede CFL erfüllt das PL – aber nicht jede Nicht-CFL erfüllt es nicht! Odgen‘s Lemma „Verschärfung“ des Pumping-Lemma Alle nicht-CFLs erfüllen das OL! Siehe Skript S. 67 Es werden nur noch Teilfolgen der Wörter betrachtet Pumping-Lemma ist der „Sonderfall“, dass man alle Buchstaben betrachtet!

Pumping-Lemma (Beispiel) Labc:={ aibici | iN } Vermutung: Labc ist nicht kontextfrei Beweis d. Widerspruch Widerspruchsannahme: „Labc ist kontextfrei“ Pumping-Lemma sagt aus, dass es ein n geben muss, so daß ... (S. 65)! Es gibt beliebig lange Wörter in Labc! Betrachte das Wort z=anbncn aus Labc n ist nach wie vor die Konstante des Pumping-Lemma! Wie sieht die Zerlegung anbncn=uvwxy konkret aus? vor Allem v und x sind wichtig, da sie „gepumpt“ werden!

Pumping-Lemma (Beispiel) 2 Möglichkeiten #1: v und x bestehen jeweils nur aus einer Art von Symbolen uv2wx2y hat ungleich viele a, b oder c! WIDERSPRUCH!!! #2: v und/oder x bestehen aus mehr als einer Symbolart uv2wx2y hat nicht mehr die Form a...b...c ! Labc ist nicht regulär!

Kontextfreie Sprachen Kriterien: Automat (PDA, ...) Pumping-Lemma kontextfreie Grammatik (Nerode-Index) Abschlußeigenschaften: , ,  R (Spiegelung) REG (Schnitt mit REG) /REG (Quotient mit REG) hom(), -frei hom(), inverser hom()