Christian Schindelhauer

Slides:



Advertisements
Ähnliche Präsentationen
Christian Schindelhauer
Advertisements

Christian Schindelhauer
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
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,
Grammatiken, Definitionen
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 Universelle Turingmaschinen Eine universelle Turingmaschine.
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Verifizieren versus Berechnen
Christian Schindelhauer
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
Christian Schindelhauer
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
Christian Schindelhauer
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.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
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.
© Karin Haenelt 2006, Äquivalenzen Reg.Ausdrücke, Reg.Sprachen, EA ( ) 1 Reguläre Sprachen Karin Haenelt.
© Karin Haenelt 2006, Operationen auf Akzeptoren und Transduktoren, ( ) 1 Operationen auf endlichen Akzeptoren und Transduktoren.
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
Christian Schindelhauer
Theoretische Informatik 2
Formale Sprachen Grundbegriffe für formale Sprachen
Grenzen der Regularität
Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER.
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.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken III Christian Schindelhauer
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 Arne Vater Wintersemester 2006/07 28.
Informatik III Christian Schindelhauer Wintersemester 2006/07
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.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Informatik III Christian Schindelhauer Wintersemester 2006/07
Arne Vater Wintersemester 2006/ Vorlesung
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
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.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Arne Vater Wintersemester 2006/07 26.
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.
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
Gliederung 0. Motivation und Einordnung 1. Endliche Automaten
 Präsentation transkript:

Christian Schindelhauer Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/2006 24.10.2005 3. Vorlesung Christian Schindelhauer

Kapitel III Reguläre Sprachen Reguläre Sprachen und Ausdrücke

Ein alternativer Beweis für den Abschluß über der Vereinigung Beweisskizze: Betrachte NFAs N1 und N2 Konstruiere N mit neuem Startzustand und -Übergangen zu den Startzuständen von N1 und N2 NFA N akzeptiert L(N1)  L(N2 )

Abschluss unter Vereinigung Alternativer Beweis Gegeben seien nichtdeterministische endliche Automaten N1 = (Q1, , 1, q1, F1) und N2 = (Q2, , 2, q2, F2) Konstruktion von N = (Q, , , q0, F) mit L(N)= L(N1)  L(N2 ) Zustandsmenge: Q = {q0}  Q1  Q2 Anfangszustand: q0 Akzeptierende Zustände: F = F1  F2 Übergangsfunktion

Die regulären Sprachen sind über der Konkatenation abgeschlossen Beweisskizze: Betrachte NFA N1 und N2 Konstruiere NFA N mit -Übergangen von allen akzeptierenden Zuständen von NFA N1 zu dem Startzustand von NFA N2 Neuer Startzustand von N ist Startzustand von N1 Die neuen akzeptierenden Zustände sind die von N2 NFA N akzeptiert L(N1)L(N2 )

Abschluss unter Konkatenation Theorem Die Menge der regulären Sprachen ist abgeschlossen unter Konkatenation Beweis: Gegeben seien nichtdeterministische endliche Automaten N1 = (Q1, , 1, q1, F1) und N2 = (Q2, , 2, q2, F2) Konstruktion von N mit L(N)= L(N1) L(N2 ) Zustandsmenge: Q’ = Q1  Q2 Anfangszustand: q0 = q1 Akzeptierende Zustände: F = F2 Übergangsfunktion

Die regulären Sprachen sind unter dem Stern-Operator abgeschlossen Beweisskizze: Betrachte NFA N1 Konstruiere NFA N mit neuem Startzustand -Übergang vom neuem Startzustand zum alten -Übergangen von allen akzeptierenden Zuständen zum Exstartzustand Rest bleibt gleich in N L(N) = L(N1)*

Abschluss unter der Stern-Operation Theorem Die Menge der regulären Sprachen ist abgeschlossen unter der Stern-Operation Beweis: Gegeben sei der nichtdeterministische endliche Automat N1 = (Q1, , 1, q1, F1) und Konstruktion von N mit L(N)= L(N1)* Zustandsmenge: Q’ = {q0}  Q1 Anfangszustand: q0 Akzeptierende Zustände: F = {q0}  F1 Übergangsfunktion

Reguläre Ausdrücke Definition R ist ein regulärer Ausdruck, wenn R eines der Darstellungen besitzt a, für ein Zeichen a    Ø (R1  R2), wenn R1 und R2 schon reguläre Ausdrücke sind (R1  R2), wenn R1 und R2 reguläre Ausdrücke sind (R1)*, wenn R1 ein regulärer Ausdruck ist Notation statt R1  R2 schreiben wir R1 R2 Bindung: zuerst Stern, dann Konkatenation, dann Vereinigung Also: abi*a*c*k = (ab)((i*)a*)c*k) Schöner: = ab  i*a*  c*k

Beispiele Zum Warmwerden: Was ist das? flick  flack = fl (i  a) ck fidera(la)*la 0*10* (0123456789)*(05) Kniffliger: otto  Ø otto   otto  Ø Praktisch unlösbar (oder?)   Ø   Ø * Ø* Der Knüller Ø  (Ø  (Ø  Ø ))*

Reguläre Operationen Definition Die regulären Operationen Vereinigung, Konkatenation und Stern werden wie folgt definiert Vereinigung: Konkatenation Stern

Die regulären Ausdrücke beschreiben genau die reguläre Sprachen (1 Die regulären Ausdrücke beschreiben genau die reguläre Sprachen (1. Teil: ) Lemma Jeder reguläre Ausdruck R beschreibt eine reguläre Sprache Beweis Wir konvertieren R in einen NFA 1. Fall R = a, für a   Automat: Formal: 2. Fall R =  Automat: Formal: 3. Fall R = Ø Automat: 4. Fall: R = (R1  R2), 5. Fall: (R1  R2), 6. Fall: (R1)* siehe Folien 03-3 bis 03-08

Die regulären Ausdrücke beschreiben genau die reguläre Sprachen (2 Die regulären Ausdrücke beschreiben genau die reguläre Sprachen (2. Teil: ) Strategie: Einführung der verallgemeinerten nichtdeterministischen endlichen Automaten (Generalized Non-deterministic Finite Automata - GNFA) NFA  GNFA GNFA  Regulärer Ausdruck Eigenschaften GNFA: GNFA = NFA + reguläre Ausdrücke Reguläre Ausdrücke auf den Übergängen Ein akzeptierender Zustand Alle Übergänge existieren Ausnahmen: Kein Übergang hin zum Startzustand Kein Übergang ausgehend vom akzeptierenden Zustand

Die regulären Ausdrücke beschreiben genau die reguläre Sprachen (2 Die regulären Ausdrücke beschreiben genau die reguläre Sprachen (2. Teil: ) Strategie: NFA mit k Zuständen  GNFA mit k+2 Zuständen GNFA mit k+2 Zuständen  GNFA mit k+1 Zuständen GNFA mit k+1 Zuständen  GNFA mit k Zuständen ... GNFA mit 3 Zuständen  GNFA mit 2 Zuständen GNFA mit 2 Zuständen  Regulärer Ausdruck a*b(a  b)*

GNFA mit k Zuständen  GNFA mit k-1 Zuständen Wie kann man einen Zustand im GNFA einsparen? Zustand qraus soll raus Betrachte alle anderen Paare qi,qj Jeder Weg von qi nach qj kann entweder nach qraus führen (R1) dort beliebig häufig qraus die Schleife über qraus nehmen (R2)* dann nach qj gehen (R3) oder überhaupt nicht über qraus gehen (R4)

GNFA mit k Zuständen  GNFA mit k-1 Zuständen

GNFA mit k Zuständen  GNFA mit k-1 Zuständen

Und jetzt ausführlich: Lemma Jeder GNFA mit k>2 Zuständen läßt sich in einem äquivalenten mit k-1 Zuständen umformen. Beweisschritte Formale Definition des GNFA Formale Definition der Berechung eines GNFAs Definition der Operation Konvertiere(G) der ein GNFA um einen Zustand reduziert Beweis der Korrektheit der Operation

Definition eines GNFA Definition Ein verallgemeinerter nichtdeterministischer endlicher Automat (GNFA) wird durch das 5-Tupel (Q, , , qstart, qakz) beschrieben Q: Eine endliche Menge von Zuständen : ist das Alphabet : (Q\{qakz})  (Q\{qstart})  R ist die Übergangsfunktion R ist die Menge der regulären Ausdrücke qstart  Q: ist der Startzustand qakz  Q: ist der akzeptierende Endzustand

Berechnung eines GNFA Definition Ein GNFA N = (Q, , , qstart, qakz) akzeptiert ein Wort w  * falls es eine Darstellung der Eingabe w = w1 w2 ... wm mit w  * gibt und es eine Folge q0 q1 ... qm von Zuständen aus Q gibt, wobei q0 = qstart qm = qakz für alle i: wi  L(Ri) gilt Ri = (qi-1,qi) dann akzeptiert N das Wort. w = abbbaaaaabb = abbb aaaa ab b

Der KONVERTIERER Konvertiere(G=(Q, , , qstart, qakz) :GNFA): Sei k die Anzahl der Zustände von G Falls k=2 dann Gib regulären Ausdruck zwischen Startzustand und akzept. Zustand aus Falls k>2 dann Wähle beliebig qraus  Q\{qakz,qstart} aus Betrachte GNFA G’ = (Q’, , ’, qstart, qakz) mit Q’ = Q \ {qraus} Für alle qi  Q\{qakz} und qj  Q\{qstart}) sei ’(qi,qj) = (R1) (R2)* (R3)  (R4) wobei R1= (qi,qraus), R2= (qraus,qraus), R3= (qraus,qj), R4= (qi,qj) Berechne rekursiv Konvertiere(G’) und gib das Ergebnis aus

Beweis der Korrektheit Behauptung Für jeden GNFA G ist Konvertiere(G) äquivalent zu G. Beweis durch Induktion über die Anzahl der Zustände von G k Basis (Anker): k=2 Der GNFA G hat nur einen Übergang Nach Definition ist er äquivalent mit dem regulären Ausdruck auf dem Übergang Induktionsschritt: Angenommen die Behaupting ist wahr für k-1 Zustände Angenommen G akzeptiert w und sei qstart, q1, q2, ... qakz die Folge der Zustände 1. Fall: qraus ist nicht in der Folge: dann bleibt alles unverändert 2. Fall: qraus ist in der Folge: Dann stehen vor oder nach einer Folge von qraus andere Zustände Seien dies qi und qj dann ist das Teilwort von qi nach qj im Ausdruck (R1) (R2)* (R3) enthalten Angenommen G’ akzeptiert w und sei qstart, q1, q2, ... qakz die Folge der Zustände Dann kann jeder Übergang mit Teilwort w’ zwischen zwei Zuständen qi und qj dargestellt werden durch einen direkten Übergang in G falls w’  L(R4) oder durch einen Weg über qraus falls w’  L((R1) (R2)* (R3)) In jedem Fall würde auch G das Wort w akzeptieren G akzeptiert also gdw. G’ akzeptiert

Noch ein Beispiel

Noch ein Beispiel

Daraus folgt... Theorem Die regulären Ausdrücken beschreiben genau die regulären Sprachen.

Vielen Dank Ende der 3. Vorlesung Nächste Vorlesung: Di. 25.10.2005 Heinz Nixdorf Institut & Institut für Informatik Universität Paderborn Fürstenallee 11 33102 Paderborn Tel.: 0 52 51/60 66 92 Fax: 0 52 51/62 64 82 E-Mail: schindel@upb.de http://www.upb.de/cs/schindel.html