Algorithmen und Datenstrukturen (EI)

Slides:



Advertisements
Ähnliche Präsentationen
Veranstaltungsreihe die „Jungen Alten“
Advertisements

Christian Schindelhauer
Wiederholung TexPoint fonts used in EMF.
Suche in Texten (Stringsuche )
Institut für Informatik Abt. Intelligente Systeme
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Grammatiken, Definitionen
Christian Schindelhauer
Ein Realisierungsversuch. Inhalt 1. Motivation 2. Theorie 3. Konfiguration 4. Praxis 5. Fazit & Ausblick 6. Quellen 7. Fragen Radius - Thomas.
Zentralübung 22. Oktober 2008.
Das Halteproblem. Gibt es einen Algorithmus, mit dem man für jedes beliebig vorgegebene Programm R und für jede beliebig vorgegebene Eingabe E entscheiden.
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 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. 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.
Reguläre Sprachen Karin Haenelt.
© Karin Haenelt 2006, Äquivalenzen Reg.Ausdrücke, Reg.Sprachen, EA ( ) 1 Reguläre Sprachen Karin Haenelt.
Ergonomischer Arbeitsplatz „Richtiges Sitzen“
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
Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/ Vorlesung Dominic Dumrauf.
Christian Schindelhauer
Akademie für Ältere Ziel dieser Präsentation:
Kompetenz 2.0: E-Portfolios im Einsatz
Theoretische Informatik 2
MAV-Treffen der diakonischen Krankenhäuser und der stationären Einrichtungen der Suchtkrankenhilfe am 14. Oktober 2008 in der Ev. Diakonissenanstalt Karlsruhe-Rüppurr.
Geometrie Marius Brunk Matthias Deege
Veranstaltungsdaten der Akademie: Informationsfluss zeigen Datenbank vorstellen Die Gestaltung einer Web-Seite betrachten Wer ist Ihr Web-Redakteur.
Effiziente Algorithmen
Grenzen der Regularität
feedback WWW2008 einstimmung (140s) keynote: 3 screens keynote: cloud computing by Google HTML V5 CSS V3 WebScience reto ambühler
Effiziente Algorithmen
Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
© Boardworks Ltd of 23 Mittwoch, den 29 Februar 2012 LO: to be able to discuss about Gesundheitprobleme:Debatte. Starter: Alkoholproblem Wortschatz.
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.
Meteorologie Flugmeteorologie Unterricht 2007/2008.
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.
© Boardworks Ltd of 20 This icon indicates that the slide contains activities created in Flash. These activities are not editable. For more detailed.
Noam CHOMSKY, Sheila GREIBACH
:21 Erinnern & Gedenken 1938 – Antworten Log.
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 3: Potenzreihen und kontextfreie Sprachen (Vgl. Buch von A. Salomaa)
:19 Erinnern & Gedenken 1938 – Antworten Log.
:50 Umfrage 1: Erinnern & Gedenken 1938 – Antworten Log.
:11 Erinnern & Gedenken 1938 – Antworten Log.
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
Arne Vater Wintersemester 2006/ Vorlesung
Proseminar Routing Information Protocol Open Shortest Path First Martin Bauer Universität Freiburg.
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.
Tagesordnung Genehmigung der Tagesordnung 19:30
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.
Gliederung 0. Motivation und Einordnung 1. Endliche Automaten
 Präsentation transkript:

Algorithmen und Datenstrukturen (EI) Zentralübung 10. Dezember 2008

Stefan Schmid @ TU München, 2008 Appetizer... Frage: Gegeben eine reguläre Sprache L1. Gegeben eine andere Sprache L2 welche eine Teilmenge aller Strings von L1 enthält, das heisst: L2 ½ L1 Ist dann L2 auch regulär? Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Appetizer... Nein! Gegenbeispiel: L1 ist die Sprache {0,1}*, und L2 ist die Sprache {0k 1k | k ¸ 0}... Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Appetizer... Sprache {0k 1k | k ¸ 0} ist nicht regulär. Veranschaulichung über endlicher Automat: bei n Uebergängen muss man mindestens einmal einen Zustand mehr als einmal besucht haben. Diesen Teil kann man beliebig oft wieder holen (oder auch weglassen!), und das neue Wort muss auch in der Sprache sein. Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Appetizer... Sprache {0k 1k | k ¸ 0} ist nicht regulär. „Kreativer Teil“: betrachte das Wort 0n1n 2 L (für ein n das gemäss Pumping Lemma existiert) Es muss eine Unterteilung uvw geben für 0n1n Wegen Bedingung 2 besteht uv ausschliesslich aus a‘s, und v ist nicht leer (Bedingung 3) Gemäss Lemma muss uv2w = an-|v|a2¢ |v|bn auch in L sein => Widerspruch, da dieses Wort mehr a‘s als b‘s hat. Also Sprache nicht regulär! Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Appetizer... Achtung: Pumping Kriterien können auch für nicht-reguläre Sprachen gelten. D.h. Pumping Lemma kann gebraucht werden um zu zeigen, dass eine Sprache nicht regulär ist, aber nicht um zu zeigen dass eine Sprache regulär ist (= regulärer Ausdruck angeben o.ä.)! Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Appetizer... Sprache {0k 1k | k ¸ 0} ist nicht regulär. Ist sie kontext frei? Ja, Beweis durch Grammatik: S => T |  T => 0T1 | 01 Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Appetizer... Beispiel aus Vorlesung reloaded... r = Zykluslänge Idee: hänge einen Zyklus mehr an... Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Appetizer... Gilt das Umgekehrte? Sei wieder L2 ½ L1, aber nun sei L2 regulär. Ist dann L1 auch regulär? Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Appetizer... Nein! Gegenbeispiel: L2 ist die Sprache über dem deutschen Alphabet {a,b,c,...,x,y,z} bestehend aus dem String sugus, und L1 ist die Sprache aller Palindrome über diesem Alphabet. Stefan Schmid @ TU München, 2008

Bemerkung zu Kombination von Automaten Machine für L1 Å L2? Entweder auch über de Morgan! Oder über Kreuzproduktmaschine! Stefan Schmid @ TU München, 2008

Bemerkung zu Kombination von Automaten Oder über Kreuzproduktmaschine! Mache Kreuzprodukt der Zustände. Idee: lasse beide Maschinen laufen; beide Transitionen! Akzeptiere nur wenn beide Maschinen akzeptieren. Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Appetizer... Erinnerung: NEA (inkl. -Übergänge) und DEA sind äquivalent! Verfahren um aus NEA einen äquivalenten DEA zu bauen: Potenzmengenkonstruktion Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Appetizer... Verfahren: 1. Beginne im Startzustand, bestimme Menge aller Zustände die man in einem Schritt erreicht für ein gegebenes Inputzeichen => neuer Zustand. 2. Von einem Mengenzustand gehe zu neuem Zustand definiert durch alle möglichen (über alle Zustände in Menge) Uebergänge eines Inputzeichens. 3. Akzeptierender Zustand: alle Mengenzustände die mind. einen akzeptierenden Zustand enthalten 4. Startzustand: urspr. Zustand plus Epsilonhülle Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Appetizer... Es ist nicht nötig, alle Zustände der Potenzmenge anzugeben! Es genügen die erreichbaren! Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Kann noch vereinfacht werden, z.B. Zustand {0} und {0,1} kann nicht erreicht werden. Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Welche Strings sind in (L)?? 1 (weil 10 2 L) 10 (weil 1000 2 L) 01 (weil 0101 2 L) 11 (weil 1101 2 L) 00 (weil 0010 2 L) Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Welche Strings sind in (L): Allgemeiner?? Beobachtung: es gibt von jedem Zustand aus einen Weg, der in zwei Schritten zu einem akzeptierenden Zustand führt! z.B. von q0 durch „10“, von q1 durch „00“, von q2 durch „01“ Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Beobachtung: es gibt von jedem Zustand aus einen Weg, der in zwei Schritten zu einem akzeptierenden Zustand führt! z.B. von q0 durch „10“, von q1 durch „00“, von q2 durch „01“ Folge: alle Strings der Länge ¸ 2 sind in (L)! Plus String „1“ wie bereits gesehen. Also nur „0“ nicht! (Im obigen Automat kommt man mit 0x nicht zu einem akzeptierenden.) Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Folge: alle Strings der Länge ¸ 2 sind in (L)! Plus String „1“ wie bereits gesehen. Also nur „0“ nicht! (Im obigen Automat kommt man mit 0x nicht zu einem akzeptierenden.) Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Beispiele für L? 10101010 2 L? Ja! 0000111 2 L? Ja! 0011011001 2 L? Nein! Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Allgemein: zuerst beliebiger String ohne benachbarte Einsen, dann beliebiger String ohne benachbarte Nullen. Beliebiger String ohne benachbarte Einsen? (10|0)*(|1) Beliebiger String ohne benachbarte Nullen? (01|1)*(|0) Kombination / Resultat? (10|0)*(|1)(01|1)*(|0) = (10|0)* (01|1)*(|0) Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Methode: per Induktion über die erlaubten Zustände! Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Achtung: aufwendig! Für n Zustände: n Induktionsschritte, mal n mal n Wege! (in unserem Fall 3^3 = 27) Induktionsanfang / erster Schritt: Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Bessere Methode (zumindest zum Prüfen?): Verallgemeinerte endliche Automaten! 1. Füge Hilfszustände ein für Start und Ende 2. Entferne einen Zustand nach dem anderen, und ersetze Inputzeichen an den Kanten durch entsprechende reguläre Ausdrücke! 3. Am Schluss lässt sich der reguläre Ausdruck an verbleibender Kante ablesen! Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008  a Füge neuen Anfangszustand und Endzustand ein!  s Entferne Zustand q2! Uebergänge zw. verbleibenden Zuständen: q0 q1 Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Entferne Zustand q2! Uebergänge zw. verbleibenden Zuständen: q0 q1 Entferne Zustand q0! Uebergänge zw. verbleibenden Zuständen: q0 q1 Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Was bei mehreren akzeptierenden Zuständen? Analog. Alle Pfade lassen... Methode: Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Methode: Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Methode: Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Zusatzaufgabe: Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Zusatzaufgabe: Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Zusatzaufgabe: Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Zusatzaufgabe: Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Notes Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Notes Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Notes Stefan Schmid @ TU München, 2008

Stefan Schmid @ TU München, 2008 Notes Stefan Schmid @ TU München, 2008