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
Programmiertechniken: Zustand fungiert als „endlicher Speicher“
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 (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.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Grundkurs Theoretische Informatik, Folie 3.1 © 2004 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 3 Gottfried Vossen Kurt-Ulrich Witt.
© 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
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
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.
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.
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 6. Vorlesung
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.
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.
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 18.10.2005 2. Vorlesung Christian Schindelhauer

Kapitel III Reguläre Sprachen Endliche Automaten

Abschluss unter Vereinigung Theorem Die Klasse der regulären Sprachen ist abgeschlossen unter der Vereinigung. D.h. Falls A regulär ist und B regulär ist, dann ist auch A  B regulär D.h. Gegeben ein endlicher Automat für A und gegeben ein endlicher Automat für B, dann gibt es auch einen für A  B

Beweisidee Gegeben 2 Automaten und die Eingabe 0 1 1 0 Simuliere mit zwei Fingern die Automaten gleichzeitig Falls einer der Finger akzeptiert, akzeptiere

Beweisidee Gegeben 2 Automaten und die Eingabe 0 1 1 0 Simuliere mit zwei Fingern die Automaten gleichzeitig Falls einer der Finger akzeptiert, akzeptiere Idee: Ersetze zwei Finger durch mehr Zustände

Die Konstruktion des kartesischen Produkts

Ein Zustandsübergang

Der Automat für die vereinigte Sprache

Die formale Konstruktion Theorem Gegeben sei ein endlicher Automat M1 = (Q1, , 1, q1, F1) für A1 und gegeben sei ein endlicher Automat M2 = (Q2, , 2, q2, F2) für A2 dann gibt es auch einen endlichen Automaten für A1  A2 Beweis Wir konstruieren einen Automaten M = (Q, , , q0, F) der A1  A2 erkennt Zustandsmenge Q = { (r1,r2) | r1  Q1 und r2  Q2}, Q ist das kartesische Produkt aus Q1 und Q2 Alphabet bleibt gleich Wir erlauben uns diese Vereinfachung, dass die Ausgangsalphabete gleich sind. Eine kleine Modifikation würde den anderen Fall auch beweisen Übergangsfunktion Für alle r1  Q1 und r2  Q2 und a   gelte Anfangszustand: q0 = (q1,q2) Akzeptierende Zustände:

Der formale Beweis Theorem Gegeben sei ein endlicher Automat M1 = (Q1, , 1, q1, F1) für A1 und gegeben sei ein endlicher Automat M2 = (Q2, , 2, q2, F2) für A2 dann gibt es auch einen endlichen Automaten für A1  A2 Beweis Wir konstruierten einen Automaten M = (Q, , , q0, F) der A1  A2 erkennt Der Rest des Beweises erfolgt durch eine Induktion über die Länge der Worte Induktionsanker: Maschine ist in q0 für  Induktionsannahme: Maschine ist in Zustand (1(q1,w), 2(q2,w)) nach Abarbeiten von w Erweiterung der Def. der Übergangs funktion: 1(q,wa) = 1(1(q,w),a) Induktionsbehauptung: Maschine ist in Zustand (1(q1,wa), 2(q2,wa)) für w a, wobei a   und w  n Induktionsschritt: Führe eine Transition aus Der Beweis folgt dann aus:

Die Konkatenation Sind endliche Automaten auch unter Konkatenation abgeschlossen? 1. Idee: Automat M1 akzeptiert Sprache A1 Automat M2 akzeptiert Sprache A2 Konstruiere Automat M, der aus den Zuständen von M1 und M2 besteht Die Übergänge müssen dann noch hingebastelt werden... ... ? .... Nach längeren Probieren: Idee funktioniert nicht mit DFAs!!!! Lösung: Betrachte nicht-deterministische endliche Automaten (NFA) (Non-deterministic Finite Automaton)

Ein nichtdeterministischer Automat Was ist anders: Von q1 gehen zwei Übergänge mit 1 aus Von q2 geht ein -Übergang nach q3 Von q2 fehlt der Übergang bei Zeichen 1 Von q3 fehlt der Übergang bei Zeichen 0 Wann akzeptiert so ein Automat?

ACHTUNG, ACHTUNG !!! Verwechslungsgefahr: Die Sprache, die aus keinem Wort besteht, ist die leere Menge:   ist kein Wort! Das leere Wort  ist keine Sprache, sondern eine Folge der Länge 0.  ist keine Sprache.  ist kein Zeichen!!! Es gibt Sprachen, die  beinhalten. Es gibt Sprachen, die  nicht beinhalten.

Nichtakzeptierende Berechnung eines NFA

Akzeptierende Berechnung eines NFA

Nicht akzeptierende Berechnung

Wann akzeptiert ein NFA? (nondeterministic finite automaton) Ein nicht-deterministischer endlicher Automat akzeptiert ein Wort, falls es (unter allen möglichen) mindestens eine akzeptierende Berechnung gibt.

Komponenten des Beispielautomaten Zustände Q = {q1, q2, q3, q4} Alphabet  = {0,1} Übergangsfunktion: (q1,0) = {q1} (q1,1) = {q1,q2} (q1,) =  (q2,0) = {q3} (q2,1) =  (q2,) = {q3} (q3,0) =  (q3,1) = {q4} (q3,) =  (q4,0) = {q4} (q4,1) = {q4} (q4,) =  Startzustand q0 = q1 Akzeptierender Zustand F = {q4}

Komponenten eines NFA Notation: Sei  =   {} P(M) die Potenzmenge von M z.B. P({a,b})={,{a},{b},{a,b}} Definition Ein nichtdeterministischer endlicher Automat wird durch das 5-Tupel (Q, , , q0, F) beschrieben Q: Eine endliche Menge von Zuständen : ist das Alphabet : Q    P(Q) ist die Übergangsfunktion q0  Q: ist der Startzustand F  Q: ist die Menge der akzeptierenden Zustände

Berechnung eines nichtdeterministischen endlichen Automatens (NFA) Definition Sei M= (Q, , , q0, F) ein nichtdeterministischer endlicher Automat. Falls es eine Darstellung der Eingabe w = q1 q2 ... qm über dem Alphabet  und eine Folge r0 r1 ... rn von Zuständen aus Q gibt, wobei r0 = q0 ri+1  (ri,wi+1), für alle i =0, ..., m-1 rn  F dann akzeptiert M das Wort.

L(DFA)  L(NFA) Theorem Jeder deterministischer endliche Automat hat einen äquivalenten nichtdeterminstischen Automat. Beweis: Jeder deterministische endliche Automat ist (praktisch) ein nichtdeterministischer endlicher Automat.

L(NFA)  L(DFA) Theorem Jeder nichtdeterministischer endliche Automat hat einen äquivalenten determinstischen Automat. Beweis: Gegeben sei ein nichtdeterministischer endlicher Automat N = (Q, , , q0, F) dann konstruieren wir den DFA M = (Q’, , ’, q0’, F’ ) wie folgt: 1. Fall: kein -Übergang in  Zustandsmenge: Q’ = P(Q), Q’ ist die Potenzmenge von Q Alphabet bleibt gleich Übergangsfunktion Für alle r  Q1 und a   gelte andere Notation: Anfangszustand: q0 = {q0} Akzeptierende Zustände: Zustand R akzeptiert, falls ein akzeptierender Zustand von F in R ist

Potenzmenge Zustandsmenge: Q’ = P(Q), Q’ ist die Potenzmenge von Q

Ohne -Übergang .. Übergangsfunktion Für alle r  Q1 und a   gelte andere Notation: Anfangszustand: q0 = {q0} Akzeptierende Zustände: Zustand R akzeptiert, falls ein akzeptierender Zustand von F in R ist

L(NFA)  L(DFA) Gegeben sei ein nichtdeterministischer endlicher Automat N = (Q, , , q0, F) dann konstruieren wir den DFA M = (Q’, , ’, q0’, F’ ) wie folgt: 2. Fall: Mit -Übergang in  Notation: Zustandsmenge: Q’ = P(Q), Q’ ist die Potenzmenge von Q Alphabet bleibt gleich Übergangsfunktion Für alle r  Q1 und a   gelte andere Notation: Anfangszustand: q0 = E({q0}) Akzeptierende Zustände: Zustand R akzeptiert, falls ein akzeptierender Zustand von F in R ist

Beispiel NFADFA .. Übergangsfunktion Für alle r  Q1 und a   gelte andere Notation: Anfangszustand: q0 = E({q0}) Akzeptierende Zustände: Zustand R akzeptiert, falls ein akzeptierender Zustand von F in R ist

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

Die regulären Sprachen sind über der Konkatenation abgeschlossen Beweisskizze: Betrachte DFA N1 und N2 Konstruiere NFA N mit -Übergangen von allen akzeptierenden Zuständen von DFA N1 zu dem Startzustand von DFA 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 )

Die regulären Sprachen sind über dem Stern-Operator abgeschlossen Beweisskizze: Betrachte DFA 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)*

Vielen Dank Ende der 2. Vorlesung Nächste Vorlesung:. Mo. 24. 10 Vielen Dank Ende der 2. Vorlesung Nächste Vorlesung: Mo. 24.10.2005 Bitte über StudInfo anmelden! 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