Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.

Ähnliche Präsentationen


Präsentation zum Thema: "1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester."—  Präsentation transkript:

1 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/ Vorlesung Christian Schindelhauer

2 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 03-2 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Kapitel III Reguläre Sprachen Reguläre Sprachen und Ausdrücke

3 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 03-3 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Ein alternativer Beweis für den Abschluß über der Vereinigung Beweisskizze: –Betrachte NFAs N 1 und N 2 –Konstruiere N mit neuem Startzustand und -Übergangen zu den Startzuständen von N 1 und N 2 –NFA N akzeptiert L(N 1 ) L(N 2 )

4 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 03-4 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Abschluss unter Vereinigung Alternativer Beweis –Gegeben seien nichtdeterministische endliche Automaten N 1 = (Q 1,, 1, q 1, F 1 ) und N 2 = (Q 2,, 2, q 2, F 2 ) Konstruktion von N = (Q,,, q 0, F) mit L(N)= L(N 1 ) L(N 2 ) 1.Zustandsmenge: Q = {q 0 } Q 1 Q 2 2.Anfangszustand: q 0 3.Akzeptierende Zustände: F = F 1 F 2 4.Übergangsfunktion

5 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 03-5 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Die regulären Sprachen sind über der Konkatenation abgeschlossen Beweisskizze: –Betrachte NFA N 1 und N 2 –Konstruiere NFA N mit -Übergangen von allen akzeptierenden Zuständen von NFA N 1 zu dem Startzustand von NFA N 2 –Neuer Startzustand von N ist Startzustand von N 1 –Die neuen akzeptierenden Zustände sind die von N 2 –NFA N akzeptiert L(N 1 )L(N 2 )

6 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 03-6 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Abschluss unter Konkatenation Theorem –Die Menge der regulären Sprachen ist abgeschlossen unter Konkatenation Beweis: –Gegeben seien nichtdeterministische endliche Automaten N 1 = (Q 1,, 1, q 1, F 1 ) und N 2 = (Q 2,, 2, q 2, F 2 ) Konstruktion von N mit L(N)= L(N 1 ) L(N 2 ) 1.Zustandsmenge: Q = Q 1 Q 2 2.Anfangszustand: q 0 = q 1 3.Akzeptierende Zustände: F = F 2 4.Übergangsfunktion

7 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 03-7 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Die regulären Sprachen sind unter dem Stern- Operator abgeschlossen Beweisskizze: –Betrachte NFA N 1 –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(N 1 )*

8 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 03-8 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 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 N 1 = (Q 1,, 1, q 1, F 1 ) und Konstruktion von N mit L(N)= L(N 1 )* 1.Zustandsmenge: Q = {q 0 } Q 1 2.Anfangszustand: q 0 3.Akzeptierende Zustände: F = {q 0 } F 1 4.Übergangsfunktion

9 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 03-9 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Reguläre Ausdrücke Definition –R ist ein regulärer Ausdruck, wenn R eines der Darstellungen besitzt 1.a, für ein Zeichen a 2. 3.Ø 4.(R 1 R 2 ), wenn R 1 und R 2 schon reguläre Ausdrücke sind 5.(R 1 R 2 ), wenn R 1 und R 2 reguläre Ausdrücke sind 6.(R 1 )*, wenn R 1 ein regulärer Ausdruck ist Notation –statt R 1 R 2 schreiben wir R 1 R 2 –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

10 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Beispiele Zum Warmwerden: Was ist das? –flick flack = fl (i a) ck –fidera(la)*la –0*10* –( )*(0 5) Kniffliger: – otto Ø – otto – o t t o Ø Praktisch unlösbar (oder?) – Ø – * –Ø* Der Knüller –Ø (Ø (Ø Ø ))*

11 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Reguläre Operationen Definition –Die regulären Operationen Vereinigung, Konkatenation und Stern werden wie folgt definiert 1.Vereinigung: 2.Konkatenation 3.Stern

12 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 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: –Formal: 4. Fall: R = (R 1 R 2 ), 5. Fall: (R 1 R 2 ), 6. Fall: (R 1 )* siehe Folien 03-3 bis 03-08

13 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 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

14 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 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)*

15 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer GNFA mit k Zuständen GNFA mit k-1 Zuständen Wie kann man einen Zustand im GNFA einsparen? Zustand q raus soll raus Betrachte alle anderen Paare q i,q j Jeder Weg von q i nach q j kann entweder –nach q raus führen (R 1 ) –dort beliebig häufig q raus die Schleife über q raus nehmen (R 2 )* –dann nach q j gehen (R 3 ) oder –überhaupt nicht über q raus gehen (R 4 )

16 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer GNFA mit k Zuständen GNFA mit k-1 Zuständen

17 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer GNFA mit k Zuständen GNFA mit k-1 Zuständen

18 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 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

19 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Definition eines GNFA Definition –Ein verallgemeinerter nichtdeterministischer endlicher Automat (GNFA) wird durch das 5- Tupel (Q,,, q start, q akz ) beschrieben 1. Q: Eine endliche Menge von Zuständen 2. : ist das Alphabet 3. : (Q\{q akz }) (Q\{q start }) R ist die Übergangsfunktion R ist die Menge der regulären Ausdrücke 4. q start Q: ist der Startzustand 5. q akz Q: ist der akzeptierende Endzustand

20 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Berechnung eines GNFA Definition –Ein GNFA N = (Q,,, q start, q akz ) akzeptiert ein Wort w * falls es eine Darstellung der Eingabe w = w 1 w 2... w m mit w * gibt und es eine Folge q 0 q 1... q m von Zuständen aus Q gibt, wobei 1.q 0 = q start 2.q m = q akz 3.für alle i: w i L(R i ) gilt R i = (q i-1,q i ) dann akzeptiert N das Wort. w = abbbaaaaabb = abbb aaaa ab b

21 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Der KONVERTIERER Konvertiere(G=(Q,,, q start, q akz ) :GNFA): 1.Sei k die Anzahl der Zustände von G 2.Falls k=2 dann Gib regulären Ausdruck zwischen Startzustand und akzept. Zustand aus 3.Falls k>2 dann Wähle beliebig q raus Q\{q akz,q start } aus Betrachte GNFA G = (Q,,, q start, q akz ) mit –Q = Q \ {q raus } –Für alle q i Q\{q akz } und q j Q\{q start }) sei (q i,q j ) = (R 1 ) (R 2 )* (R 3 ) (R 4 ) –wobei R 1 = (q i,q raus ), R 2 = (q raus,q raus ), R 3 = (q raus,q j ), R 4 = (q i,q j ) Berechne rekursiv Konvertiere(G) und gib das Ergebnis aus

22 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 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 1.Basis (Anker): k=2 Der GNFA G hat nur einen Übergang Nach Definition ist er äquivalent mit dem regulären Ausdruck auf dem Übergang 2.Induktionsschritt: Angenommen die Behaupting ist wahr für k-1 Zustände Angenommen G akzeptiert w und sei q start, q 1, q 2,... q akz die Folge der Zustände –1. Fall: q raus ist nicht in der Folge: dann bleibt alles unverändert –2. Fall: q raus ist in der Folge: Dann stehen vor oder nach einer Folge von q raus andere Zustände Seien dies q i und q j dann ist das Teilwort von q i nach q j im Ausdruck (R 1 ) (R 2 )* (R 3 ) enthalten Angenommen G akzeptiert w und sei q start, q 1, q 2,... q akz die Folge der Zustände Dann kann jeder Übergang mit Teilwort w zwischen zwei Zuständen q i und q j dargestellt werden durch einen direkten Übergang in G falls w L(R 4 ) oder durch einen Weg über q raus falls w L((R 1 ) (R 2 )* (R 3 )) In jedem Fall würde auch G das Wort w akzeptieren G akzeptiert also gdw. G akzeptiert

23 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Noch ein Beispiel

24 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Noch ein Beispiel

25 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Daraus folgt... Theorem –Die regulären Ausdrücken beschreiben genau die regulären Sprachen.

26 26 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Heinz Nixdorf Institut & Institut für Informatik Universität Paderborn Fürstenallee Paderborn Tel.: / Fax: / Vielen Dank Ende der 3. Vorlesung Nächste Vorlesung: Di


Herunterladen ppt "1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester."

Ähnliche Präsentationen


Google-Anzeigen