Christian Schindelhauer

Slides:



Advertisements
Ähnliche Präsentationen
Christian Schindelhauer
Advertisements

Christian Schindelhauer
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Bildverarbeitung Technische Universität Darmstadt
Telefonnummer.
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.
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
Stoyan Mutafchiev Betreuer: Ilhan, Tim
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.
Reguläre Sprachen Karin Haenelt.
Reguläre Ausdrücke Karin Haenelt
© Karin Haenelt 2006, Äquivalenzen Reg.Ausdrücke, Reg.Sprachen, EA ( ) 1 Reguläre Sprachen Karin Haenelt.
Parsing regulärer Ausdrücke
© Karin Haenelt 2006, Operationen auf Akzeptoren und Transduktoren, ( ) 1 Operationen auf endlichen Akzeptoren und Transduktoren.
© Karin Haenelt 2005, Endliche Automaten: Alphabet, Zeichenreihe, Sprache, Endliche Automaten Grundlagen: Alphabet, Zeichenreihe, Sprache.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
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
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung.
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Bildverarbeitung Technische Universität Darmstadt
Bildverarbeitung Technische Universität Darmstadt
Theoretische Informatik 2
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
Vorstellung Dr. Roland Düsing Prof. Dr. Marion Steven Sekretariat:
20:00.
Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken III Christian Schindelhauer
Peer-to-Peer-Netzwerke
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Christian Schindelhauer Wintersemester 2006/07 1. Vorlesung
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
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.
Technische Frage Technische Frage Bitte löse die folgende Gleichung:
Wintersemester 2005 / Vorlesung
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Christian Scheideler WS 2008
 Präsentation transkript:

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

Kapitel I Motivation Motivation

Automaten und Formale Sprachen Was kann man mit einem endlichen Speicher berechnen? Wie kann man diese Probleme charakterisieren? Was sind Automaten? Wie kann man die Grammatik einer Sprache formal fassen? Wie charakterisiert man die Komplexität einer Grammatik?

Berechenbarkeitstheorie: Richtig/Falsch? Computer können alles berechnen (wenn sie genügend schnell und groß sind). Supercomputer im Kernfoschungszentrum Jülich

Berechenbarkeitstheorie Richtig/Falsch? Manche Probleme kann man nur mit speziellen Programmiersprachen lösen. © Luis Guillermo

Berechenbarkeitstheorie Richtig/Falsch? Durch genügend scharfes Hinsehen kann man jedes Programm verstehen.

Komplexitätstheorie Was ist schwieriger? Kopfrechnen Kreuzworträtsel Schach Sokoban Puzzle © Netzhaut

Komplexitätstheorie Kann ein Computer die Faktorisierung einer 500-stelligen Zahl berechnen? 6 = 2  3 100 = 2  2  5  5 132948716395817361487361987436198357612351301305982613409860193856109835764019386593856109357861039456203954871049238761095348613209861304986134208967130298610398644314897109861092385610938461605938612019034865701593610923586170349810561392487103948163598163205916530193824710923561039561543761023985613095661230413561359816301897356109235876103458976203574610239678501394561832650193856710923576103957163509135861034576190325861039586130958610234987123409861539086132509816350918356103529861035986153 = ?  ?  ?  ? … ? Wenn das schwierig ist, wie schwierig ist es zu entscheiden, ob das eine Primzahl ist? Wie schwierig ist es, Koffer in einen Kofferraum zu packen?

Kapitel II Organisation

Wie erreicht man uns? Wie erreicht man mich? nach der Vorlesung per E-Mail: schindel@upb.de per Telefon: 05251-606692 siehe Webseite: www.upb.de/cs/schindel.html in der Sprechstunde: Donnerstags 15-16 Uhr oder nach Vereinbarung Wie erreicht man irgendeinen? Tutoren: E-Mail-Adressen stehen auf der Web-Seite Auf der Webseite gibt es auch ein Forum, um mit Leidensgenossen Kontakt aufzunehmen

oder über Google: Schindelhauer Formale Sprachen Inhalt: Webseite URL: http://www.upb.de/cs/ag-madh/WWW/Teaching/2005WS/EinfKomplex/ (link) oder über Google: Schindelhauer Formale Sprachen Inhalt: Vorlesungsfolien als PPT/PDF vor der Vorlesung Übungsaufgaben Literatur Klausur Termine Forum

Übungsbetrieb Gruppeneinteilung über StudInfo Anmeldung erst im Laufe der Woche möglich Siehe Web-Seite Übungsblätter: werden zu Hause gelöst werden in der Übungsgruppe besprochen Studenten stellen ihre Lösungen vor kommen mittwochs heraus können bis Montag vor der Vorlesung in die Kästen im D-Gebäude abgegeben werden werden nicht bewertet, nur korrigiert Die Miniklausuren bestehen aus Aufgaben aus vorangegangenen Übungen!

Miniklausuren Ziel: Vorbereitung auf die Klausur Schnelles Feedback Kontinuierliches Lernen Ort und Zeit Mittwochs, 13-14 Uhr im Audimax Viermal: 09.11.2005 30.11.2005 21.12.2005 01.02.2006 Keine Voranmeldung Inhalt: Aufgaben aus der Übung Motivation: Jeder Punkt aus den Miniklausuren verbessert das Ergebnis der Endklausur, wenn die Klausur ohne diese Punkte bestanden wäre Maximale Verbesserungsmöglichkeit: Eine Notenstufe Einsicht in der jeweiligen Übung Besprechung der Lösung in der Zentralübung

Klausur Nach Voranmeldung durch StudInfo Anmeldeschluss: 03.02.2006 Ort und Zeit der Klausur werden noch bekanntgegeben Durchführung: Schriftliche Klausur Inhalt vergleichbar mit Miniklausuren Dauer: 3 Stunden Hilfsmittel: keine außer ein eigenhändig handbeschriebenes A4-Blatt Lehramtsstudenten erhalten eine mündliche Prüfung Mit ähnlicher Berücksichtigung der Miniklausur

Literatur Introduction to the Theory of Computation, von: Michael Sipser, PWS, 1997 Introduction to Automata Theory, Languages, and Computation, von: John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Addsion Wesley, 2001 (auch übersetzt: Einführung in die Automatentheorie, Formale Sprachen und Komplexität, ... , Pearson Studium, 2002) Computers and Intractability - A Guide to the Theory of NP-Completeness, von: Michael R. Garey, David S. Johnson, W.H. Freeman & Company, 1997 Theoretische Informatik, von: Christel Baier, Alexander Asteroth, Pearson Studium, 2002 Theoretische Informatik - Eine algorithmenorientierte Einführung, von: Ingo Wegener, Teubner, 1993 The Theory of Computation, von Bernard M. Moret, Pearson Education, 1998 Computational Complexity, von: Christos H. Papadimitriou, Addison-Wesley, 1994 Theoretische Informatk - kurzgefaßt, von: Uwe Schöning, Spektrum, akad. Verlag, Heidelberg, 1997 Elements of the Theory of Computation, von: Harry R. Lewis, Christos H. Papadimitriou, Prentice Hall, 1998 Theory of Computing - A Gentle Introduction, von: Efim Kinber, Carl Smith, Prentice Hall, 2001

Literatur Algorithmen Algorithmen, von: Robert Sedgewick, Pearson Studium, 2002 (übersetzt aus dem Englischen, gibt es in verschiedenen Ausgaben mit Schwerpunkten in Java, C, C++) Algorithmen, von: Ellis Horowitz, Sartaj Sahni, Springer, 1981 The Design and Analysis of Computer Algorithms, von: Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman Addison Wesley, 1974 Data Structures and Algorithms, von: Alfred V. Aho, J. D. Ullman, J. E. Hopcroft, Addison Wesley, 1983 Algorithmik - Theorie und Praxis, von: Gilles Brassard, Paul Bratley, Prentice Hall, 1993 Approximation Algorithms for NP-Hard Problems, von: Dorit S. Hochbaum, Wadsworth Publishing Company, 1997 Randomized Algorithms, von: Rajeev Motwani, Prabhakar Raghavan, Cambridge University Press, 1995 The Art of Computer Programming (Vol.1-3), Donald Knuth, Addison Wesley 1997/1998 1: Fundamental Algorithms 2: Seminumerical Algorithms 3: Sorting and Searching

Literatur Mathematik für Informatiker Concrete Mathematics, von: Ronald L. Graham, Donald E. Knuth, Oren Patashnik, Addison-Wesley, 1994 Diskrete Mathematik für Informatiker, von: Rod Haggarty, Pearson Studium, 2004

Noch ein Buch

StudInfo Datenbanksystem aus der FG Kastens Notwendig für Übungseinteilung Miniklausur (Bekanntgabe der Note) Rundschreiben per E-Mail Klausuranmeldung Anmeldung Adresse wird auf der Web-Seite bekanntgegeben bis Sonntag, 23.10.2005 wünschenswert

Was muss ich tun? Einmalig: Bei StudInfo anmelden Montags: Vorlesung besuchen Übungslösung in Kasten einwerfen Dienstags: Vorlesung besuchen Mittwochs: Zentralübung besuchen Übungsblatt herunterladen Jede Woche: Aktiv in der Übungsgruppe mitarbeiten Viermal mittwochs: An der Miniklausur teilnehmen nämlich am 09.11.05, 30.11.05, 21.12.2005, 01.02.2006 ohne Voranmeldung Gegen Vorlesungsende: Über StudInfo für Klausur anmelden Vorlesungsfreie Zeit: Klausur schreiben

Vorlesung Orientiert sich stark an Sipsers Buch Introduction to the Theory of Computation, von: Michael Sipser, PWS, 1997 Buch für die Vorlesung nicht notwendig Gliederung Endliche Automaten Formale Sprachen Reguläre Sprachen Kontextfreie Sprachen Berechenbarkeitstheorie Komplexitätstheorie Ergänzungen Chomsky Hierarchie Approximationsalgorithmen Randomisierte Algorithmenn Skript: Es wird kein Skript zur Verfügung gestellt Folien: Können von der Web-Seite heruntergeladen werden Kurz vor (!) der Veranstaltung verfügbar

Kapitel III Reguläre Sprachen Endliche Automaten

Ein einfacher Automat Lift mit zwei Stockwerken Eingaben: Im Lift will jemand nach oben Im Lift will jemand nach unten Unten Bedarf Oben Bedarf Zwei Zustände: Lift oben Lift unten

Ein Beispiel

Startzustand q1

Lesen des ersten Zeichens: 0

Zustandsübergang zu q1

Lesen des 2. Zeichens: 1

Neuer Zustand: q2

3. Zeichen: 0

Neuer Zustand: q3

Lesen von “1”

Zustandsübergang zu q2

Letztes Zeichen: “1”

Wort “01011” wird akzeptiert

Automaten akzeptieren Sprachen Ein Alphabet  besteht aus einer endlichen Menge von Zeichen, z.B. 1 = {a,b,c} 2 = {0,1}  = {0,1,x,y,z} Eine Zeichenkette (String/Wort) ist eine endliche Folge (Tupel) von Zeichen, z.B. w = abba Notation: w1=a, w2=b, w3=b, w4=a Die Länge eines Worts wird mit |w| beschrieben: |w| = 4 * bezeichnet die Menge aller Zeichenketten über Alphabet  z.B.: “abba“  {a,b}* Die leere Zeichenkette wird mit  bezeichnet. Es gilt: || = 0 Eine Menge von Zeichenketten wird als Sprache bezeichnet

Worte und Sprachen Worte: “010010”, “otto”, “abba” Sprachen: {abba, bab, aa} = {, 0, 1, 00, 11, 000, 111, 0000, 1111, 00000, 11111, ...}

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.

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

Komponenten eines endlichen Automats (DFA - Deterministic Finite Automaton) Definition Ein endlicher Automat wird durch die fünf Komponenten (Q, , , q0, F) beschrieben Q: Eine endliche Menge von Zuständen : Eine endliche Menge; das Alphabet : Q    Q ist die Übergangsfunktion q0  Q: ist der Startzustand F  Q: ist die Menge der akzeptierenden Zustände Später wird statt von fünf Komponenten auch von einem 5-Tupel gesprochen

Formale Definition der Berechnung eines endlichen Automaten (DFA) Sei M= (Q, , , q0, F) ein endlicher Automat und w = w1 w2 ... wn eine Zeichenkette über dem Alphabet . Dann akzeptiert M das Wort w genau dann, falls es ein Folge r0 r1 ... rn von Zuständen aus Q gibt mit r0 = q0 (ri,wi+1) = ri+1, für alle i =0, ..., n-1 rn  F Wir sagen M akzeptiert die Sprache A falls A = {w | M akzeptiert w }

Reguläre Sprachen Definition Eine Sprache heißt regulär, falls ein endlicher Automat sie akzeptiert. Wir schreiben auch REG für die Klasse (Menge) aller regulären Sprachen

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

Beispiel Sei ={a,b,c,d,..., z} A = {wadda, hadda} B = {du, da} Vereinigung Konkatenation Stern

Vielen Dank Ende der 1. Vorlesung Nächste Vorlesung:. Di. 18. 10 Vielen Dank Ende der 1. Vorlesung Nächste Vorlesung: Di. 18.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/60 64 82 E-Mail: schindel@upb.de http://www.upb.de/cs/schindel.html