1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.

Slides:



Advertisements
Ähnliche Präsentationen
Definition [1]: Sei S eine endliche Menge und sei p eine Abbildung von S in die positiven reellen Zahlen Für einen Teilmenge ES von S sei p definiert.
Advertisements

Christian Schindelhauer
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Christian Schindelhauer
Prof. Dr. W. Conen 15. November 2004
Grammatiken, Definitionen
Einige entscheidbare bzw. rekursiv aufzählbare Sprachen
Christian Schindelhauer
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
Algorithmentheorie 04 –Hashing
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.
Kapitel 5 Stetigkeit.
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.
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
Theoretische Informatik 2
Formale Sprachen Grundbegriffe für formale Sprachen
Grenzen der Regularität
Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung
Effiziente Algorithmen
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
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.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II - Probeklausur - Arne Vater Sommersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
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
Peer-to-Peer-Netzwerke
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
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 Arne Vater Wintersemester 2006/07 26.
Arne Vater Wintersemester 2006/ 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
Gliederung 0. Motivation und Einordnung 1. Endliche Automaten
 Präsentation transkript:

1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester 2006/07 4. Vorlesung

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 2 Reguläre Operationen  Definition –Die regulären Operationen Vereinigung, Konkatenation und Stern werden wie folgt definiert 1.Vereinigung: 2.Konkatenation 3.Stern

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 3 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

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 4 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

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 5 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)*

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 6 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 )

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 7 GNFA mit k Zuständen  GNFA mit k-1 Zuständen

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 8 GNFA mit k Zuständen  GNFA mit k-1 Zuständen

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 9 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

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 10 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

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 11 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

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 12 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

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 13 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

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 14 Noch ein Beispiel

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 15 Noch ein Beispiel

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 16 Daraus folgt...  Theorem –Die regulären Ausdrücken beschreiben genau die regulären Sprachen.

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 17 Kapitel III Reguläre Sprachen Pumping-Lemma und Minimale Automaten

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 18 Das Pumping-Lemma  Motivation –Reguläre Sprachen sind die Stottottottottererer der Sprachen –Was ist nicht regulär? Palindrome, Kopie = { w w | w   *} Klammersprachen, z.B. Syntaktische Überprüfung von  ((a+b)-b = (a))/(b))+b-a Zählsprachen, z.B.  { w  {0,1}* | die Anzahl der 0er = Anzahl der 1er} Menge der Primzahlen, Quadratzahlen  Wie kann man aber zeigen, dass etwas nicht regulär ist? –Durch das Pumping-Lemma

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 19 Das Pumping-Lemma  Pumping-Lemma –Sei A eine reguläre Sprache. Dann gibt es eine Zahl p>0 so dass für jedes Wort s mit |s|≥p s in drei Teile geteilt werden kann: s = xyz, wobei gilt  für alle i≥0: xy i z  A  |y| > 0  |xy| ≤ p.  Was heißt das: –Betrachte Sprache: A = L( Stott ( ott )*( er )*) p = 8 s = Stottottererererer  x= Stott  y= ott  z= ererererer y ≠  |xy| ≤ 8 All diese Worte sind in A:  Stottererererer  Stottottererererer  Stottottottererererer  Stottottottottererererer  Stottottottottottererererer  Stottottottottottottererererer  Stottottottottottottottererererer  Stottottottottottottottottererererer 

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 20 Pumping-Lemma Beweisidee  Pumping-Lemma –Sei A eine reguläre Sprache. Dann gibt es eine Zahl p>0 so dass für jedes Wort s mit |s|≥p s in drei Teile geteilt werden kann: s = xyz, wobei gilt  für alle i≥0: xy i z  A  |y| > 0  |xy| ≤ p.  Beweisidee –Es gibt nur endlich viele Zustände im DFA von A –Auf langen Worten wiederholen sich manche Zustände –Das Wort dazwischen (nämlich y) kann also beliebig oft eingesetzt werden!

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 21 Der Beweis des Pumping- Lemmas  Pumping-Lemma –Sei A eine reguläre Sprache. Dann gibt es eine Zahl p>0 so dass für jedes Wort s mit |s|≥p s in drei Teile geteilt werden kann: s = xyz, wobei gilt  für alle i≥0: xy i z  A  |y| > 0  |xy| ≤ p.  Beweis: –Sei M= (Q, , , q 0, F) ein DFA der A akzeptiert mit p=|Q| Zuständen –Sei s = s 1 s 2...s n ein Wort in A der Länge n≥p –Sei q = r 1 r 2... r n+1 die Folge der Zustände in M bei der Berechnung von s. –Diese Folge hat Länge n+1 ≥ p+1 –Dann muss ein Zustand mehr als einmal vorkommen in den ersten p+1 Zuständen –Sei r j das erste Vorkommen solch eines Zustandes und sei r k das zweite Vorkommen damit ist k ≤ p+1 –Sei x = s 1 s 2...s j-1, y = s j s j+1...s k-1, z = s k s k+1...s n –Dann muss M xy i z akzeptieren, da x Startzustand r 1 in Zustand r j, y Zustand r j in r j und z Zustand r j in den akz. Zustand r n –überführt.  Damit folgt das Pumping-Lemma

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 22 Das Pumping-Lemma ist ein Killerargument  Beispiel: –Sei B = {0 n 1 n | n ≥ 0}  zu zeigen: B ist nicht regulär  Angenommen doch  (Pumping-Lemma) Dann gibt es eine Zahl p>0 so dass für jedes Wort s mit |s|≥p s in drei Teile geteilt werden kann: s = xyz, wobei gilt  für alle i≥0: xy i z  B  |y| > 0  |xy| ≤ p.  Daraus folgt für s = 0 p 1 p  B –dann ist xy  L(0*) –und |y| > 0 –Sei m = |y|  Dann müssten nach dem Pumping- Lemma folgende Worte in B sein: –i=0: Das Wort xz = 0 p-m 1 p –i=1: Das Wort xyz = 0 p 1 p –i=2: Das Wort xyyz = 0 p+m 1 p –i=3: Das Wort xy 3 z = 0 p+2m 1 p –...  Bis auf i=1 gilt xy i z  B –Das Pumping-Lemma liefert Worte, die nicht in B sind  Daher kann B nicht regulär sein

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 23 Das Pumping-Lemma noch einmal  Betrachte die Sprache –F = {ww | w  {0,1}*}  zu zeigen: F ist nicht regulär  Angenommen doch  (Pumping-Lemma) Dann gibt es eine Zahl p>0 so dass für jedes Wort s mit |s|≥p s in drei Teile geteilt werden kann: s = xyz, wobei gilt  für alle i≥0: xy i z  F  |y| > 0  |xy| ≤ p.  Daraus folgt für s = 0 p 10 p 1  F –dann ist xy  L(0*) –und |y| > 0 –Sei m = |y|  Dann müssten nach dem Pumping- Lemma folgende Worte in C sein: –i=0: Das Wort xz = 0 p-m 10 p 1 –i=1: Das Wort xyz = 0 p 10 p 1 –i=2: Das Wort xyyz = 0 p+m 10 p 1 –i=3: Das Wort xy 3 z = 0 p+2m 10 p 1 –...  Bis auf i=1 gilt xy i z  F –Das Pumping-Lemma liefert Worte, die nicht in F sind  Daher kann F nicht regulär sein

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III4. Vorlesung - 24 Das Pumping-Lemma, das 3. Mal  Betrachte die Sprache –D = {1 m | für m=n 2, n≥0}  zu zeigen: D ist nicht regulär  Angenommen doch  (Pumping-Lemma) Dann gibt es eine Zahl p>0 so dass für jedes Wort s mit |s|≥p s in drei Teile geteilt werden kann: s = xyz, wobei gilt  für alle i≥0: xy i z  D  |y| > 0  |xy| ≤ p.  Betrachte 1 m –mit m≥p für ein p>1  Dann ist –|xz| = m-p eine Quadratzahl –|xyz| = m eine Quadratzahl –|xy 2 z| = m+p eine Quadratzahl –|xy 3 z| = m+2p eine Quadratzahl –...  Aber: der Abstand zwischen Quadratzahlen wächst: –(n+1) 2 -n 2 = 2n+1 –Also ist irgendwann 2n+1 > p –und dann kann für n>(p-1)/2 –nicht zugleich |xy k z| = n und |xy k+1 z| = n +p Quadratzahlen sein.  Also ist D nicht regulär

25 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Ende der 4. Vorlesung Informatik III Christian Schindelhauer