Grammatiken, Definitionen

Slides:



Advertisements
Ähnliche Präsentationen
Vorlesung Compilertechnik Sommersemester 2008
Advertisements

Christian Schindelhauer
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Kontextfreie Grammatiken
8. Formale Sprachen und Grammatiken
Einführung in Berechenbarkeit und Formale Sprachen
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Notationen A = ist eine endliche, nichtleere menge,
Einige entscheidbare bzw. rekursiv aufzählbare Sprachen
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Grammatiken beschreiben Sprachen L µ *, indem.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Reduktionen Def: L · L (L ist reduzierbar auf.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Universelle Turingmaschinen Eine universelle Turingmaschine.
Programmiertechniken: Zustand fungiert als „endlicher Speicher“
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Verifizieren versus Berechnen
Christian Schindelhauer
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Approximationsalgorithmen …liefern in polynomieller.
Einführung in Algorithmen und Komplexität
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 (04 – Automaten mit ε-Transitionen) Prof. Dr. Th. Ottmann.
M a r c – o l i v e r p a h l Informatik II – Kapitel 18 Übersetzung Zusammenfassung des Kapitel 18 Küchlin, Weber, Vorversion Einführung in die Informatik,
Prof. Dr. rer.nat. Ralph Großmann Fakultät Informatik / Mathematik Sommersemester 2012 Internet-Technologien XML-basierte Techniken Teil Metasprache der.
Grundkurs Theoretische Informatik, Folie 3.1 © 2004 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 3 Gottfried Vossen Kurt-Ulrich Witt.
Prolog Grundkurs WS 98/99 Christof Rumpf
Reguläre Sprachen Karin Haenelt.
© Karin Haenelt 2006, Äquivalenzen Reg.Ausdrücke, Reg.Sprachen, EA ( ) 1 Reguläre Sprachen Karin Haenelt.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
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
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
Grenzen der Regularität
Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
Formale Sprachen Grammatiken und die Chomsky-Hierarchie
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.
Städtisches Gymnasium Beverungen Friedel Berlage
Institut für Softwarewissenschaft – Universität WienP.Brezany 1 Beispiele Beispiel 1 Konstruieren Sie für folgende Sprachen über = { a, b, c.
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
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.
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.
Christian Schindelhauer Wintersemester 2006/07 3. 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.
Arne Vater Wintersemester 2006/ Vorlesung
Christian Schindelhauer Wintersemester 2006/07 6. Vorlesung
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Arne Vater Wintersemester 2006/ Vorlesung
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
Kapitel 4:Die Chomsky Hierarchie
 Präsentation transkript:

Grammatiken, Definitionen Eine Grammatik G (vom Typ Chomsky-0, Rewritingsystem, Semi-Thue-System) ist beschrieben durch ein 4-Tupel (V, , P, S). V ist endliches Alphabet von Variablen  ist endliches Alphabet von Terminalen S 2 V ist das Startsymbol P µ ((V [ )+ - *) X (V [ )* ist eine endliche Menge von Produktionen oder (Ersetzungs-) Regeln Für eine Regel (u,v) 2 P schreiben wir u ! v .

Die Chomsky-Hierarchie Eine Grammatik heißt kontextsensitiv oder vom Typ Chomsky-1, falls für jede Regel u ! v gilt: |u| · |v|. Sie heißt kontextfrei oder vom Typ Chomsky-2, falls alle Regeln vom Typ u ! v mit u 2 V sind. Sie heißt regulär oder vom Typ Chomsky-3, falls alle Regeln vom Typ u ! v mit u 2 V und v 2 {e} [  [ ( X V) sind. ( Eine allgemeine Grammatik ist vom Typ Chomsky-0 .)

Grammatiken und Turingmachinen Satz: L ist genau dann rekursiv aufzählbar, wenn es Chomsky-0-Grammatik G gibt mit L = L (G). Satz: Kontextsensitive Sprachen sind entscheidbar.

Das Pumping Lemma für reguläre Sprachen Sei L regulär. Dann gibt es ein , so dass für alle x 2 L mit |x| ¸ p eine Zerlegung x = uvw existiert mit: |uv| · p, |v| ¸ 1, und (iii) uviw 2 L für alle i ¸ 0

Anwendungen des Pumping Lemmas Wir wenden die Kontraposition des Pumping Lemmas an: Falls für jedes ein x 2 L mit |x| ¸ p existiert, so dass für jede Zerlegung x = uvw mit |uv| · p und |v| ¸ 1 ein i ¸ 0 mit uviw L existiert, so ist L nicht regulär.

Nicht reguläre Sprachen Folgende Sprachen sind nicht regulär L1 = {0n 1n, n ¸ 1} L2 = {ww | w 2 {0,1}*} L3 = {0q | q Primzahl} Korollar: Sei REG die Klasse der regulären, CF die Klasse der kontextfreien Sprachen, dann gilt: REG µ CF und REG CF Bew: „µ“ ist klar. „ „ gilt, da L1  CF, aber L1  REG ist.

DFAs und reguläre Sprachen Wir zeigen: DFAs können genau die Sprachen akzeptieren, Die reguläre Grammatiken erzeugen können. D.h.: Endliche Automaten akzeptieren genau die regulären Sprachen.

… sind Turingmaschinen, die nicht schreiben dürfen Endliche Automaten … sind Turingmaschinen, die nicht schreiben dürfen (und nur nach rechts gehen) Endliche Automaten haben also, neben der Eingabe, nur konstant viel Speicher (Speichern in den Zuständen)

Deterministische endliche Automaten (DFA)

Ein DFA A akzeptiert w 2 * genau dann, wenn  (q0, w) 2 F gilt. Akzeptierte Sprachen Ein DFA A akzeptiert w 2 * genau dann, wenn  (q0, w) 2 F gilt. Die von A akzeptierte Sprache ist L (A) := {w 2 *,  (q0, w) 2 F}

DFAs und reguläre Sprachen Wir zeigen: DFAs können genau die Sprachen akzeptieren, die reguläre Grammatiken erzeugen können. Bew.: „“ Sei A = (Q, , , q0, F) DFA für L  . Wir definieren G = (V:=Q, , P, S:=q0) Für (q,a)=q´ liegt q  aq´ in P Falls q´  F, so liegt q  a in P „“ ?

Nichtdeterministische endliche Automaten (NFA)

Beispiel Der NFA N1: Q = {q0, q1, q2, q3, q4}, = {0,1}, F = {q3}.

Arbeitsweise eines NFA

Beispiele Der NFA N2: Q = {q0, q1, q2, q3},  = {0, 1}, F = {q3}

Endliche Automaten und reguläre Sprachen Satz: Sei L µ *. Folgende Aussagen sind äquivalent: L ist regulär L wird von einer regulären Grammatik erzeugt (iii) L wird von einem DFA akzeptiert (iv) L wird von einem NFA akzeptiert.

Satz 3.3.3 Sei N ein NFA und L die von N akzept. Sprache. NFAs und DFAs Satz 3.3.3 Sei N ein NFA und L die von N akzept. Sprache. Dann gibt es auch einen DFA, der L akzeptiert. Bew.: L werde von NFA N = (Q, , , q0, F) akzeptiert. Folgender DFA A = (Q‘, , ‘, q0‘, F‘) akzeptiert L. Potenzmengenkonstruktion: Q‘ = 2Q, q0‘ = {q0}, F‘ = {R 2 Q‘, R Å F  } ‘ (R, a) = [r 2 R  (r,a) (= {q 2 Q | 9 r 2 R mit q 2  (r,a)})

Beispiel Der NFA N3: Q = {q0, q1, q2},  = {0, 1}, F = {q0}

NFAs und reguläre Sprachen Satz 3.3.2 L werde von regulärer Grammatik G erzeugt. Dann gibt es einen NFA N, der L akzeptiert. Bew.: Sei G=(V,,P,S) reguläre Grammatik für L. Folgender NFA N=(Q,,,q0,F) akzeptiert L. Q = V [ {qf} mit qf  V (neuer Zustand), q0 = S, Falls u  av  P, dann v  (u,a) (u,v  V, a  ) Falls u  a  P, dann qf  (u,a) (u  V, a  ) Falls u  e  P, dann u  F (u  V) qf  F

Reguläre Ausdrücke

Reguläre Ausdrücke Die von R beschriebene Sprache L(R): Satz: L ist genau dann regulär, wenn es regulären Ausdruck R Mit L (R) = L gibt.

Endliche Automaten und reguläre Sprachen Satz: Sei L µ *. Folgende Aussagen sind äquivalent: L ist regulär L wird von einer regulären Grammatik erzeugt (iii) L wird von einem DFA akzeptiert (iv) L wird von einem NFA akzeptiert. L ist durch regulären Ausdruck beschreibbar. L wird von Zweiwegeautomat (NFA, der auch nach links laufen darf) akzeptiert.

Abschlusseigenschaften regulärer Sprachen Reguläre Sprachen sind abgeschlossen unter Sternbildung Komplement Konkatenation Durchschnitt - Vereinigung