Einführung in Berechenbarkeit und Formale Sprachen

Slides:



Advertisements
Ähnliche Präsentationen
Christian Schindelhauer
Advertisements

Christian Schindelhauer
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Kontextfreie Grammatiken
3. Berechenbarkeit Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar? Intuitiv: Wenn es einen Algorithmus gibt, der sie berechnet! Was heißt,
© Prof. Dr.-Ing. habil. W. Dangelmaier, Heinz Nixdorf Institut, Universität Paderborn, Bild: © iStock, Ricardo Azoury 1 Veranstaltung / Datum Titel: Arial,
Titel: Arial, 40pt, fett, kursiv, mit Schatten, blau
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.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Reduktionen Def: L · L (L ist reduzierbar auf.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Universelle Turingmaschinen Eine universelle Turingmaschine.
Programmiertechniken: Zustand fungiert als „endlicher Speicher“
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Verifizieren versus Berechnen
Algorithmen und Komplexität
Christian Schindelhauer
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Approximationsalgorithmen …liefern in polynomieller.
Einführung in Algorithmen und Komplexität
Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.
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
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
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.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 2 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
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
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Algorithmen und Komplexität
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
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Formale Sprachen Grammatiken und die Chomsky-Hierarchie
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
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.
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.
Analyse der Laufzeit von Algorithmen
Wintersemester 2005 / Vorlesung
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VIII Christian Schindelhauer
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VI Christian Schindelhauer
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
 Präsentation transkript:

Einführung in Berechenbarkeit und Formale Sprachen Achtung: Vorlesung in der nächsten Woche, am 28.10. um 12.15 in P72.01 !!! Am kommenden Freitag findet die Zentralübung statt.

Automaten und Formale Sprachen Themen der Vorlesung Berechenbarkeit Automaten und Formale Sprachen Komplexitätstheorie

Was ist ein Algorithmus? Welche Funktionen sind berechenbar? Berechenbarkeit Was ist ein Algorithmus? Welche Funktionen sind berechenbar? Welche nicht?

Komplexitätstheorie Wieviel Speicherplatz / Rechenzeit benötigt man zur Berechnung einer (berechenbaren) Funktion? höchstens? Effizienten Algorithmus angeben, vgl. DuA mindestens? Untere Schranke beweisen, Funktionen klassifizieren nach ihrer Komplexität

Automatentheorie und Formale Sprachen Wie beschreibt man Sprachen Grammatiken Wie entscheidet man dann: (Wortproblem, Kern der Syntaxanalyse) Automaten

Theorie der Programmierung Wie beschreibt man Semantik? Wie verifiziert man Korrektheit von Programmen? etwas in Modellierung, Hauptstudium.

Drei grundlegende Techniken Simulation Reduktion Diagonalisierung

FOR-Schleifen erlaubt sind, durch eins, in dem Simulation ein Verfahren, wie ein in einem Formalismus beschriebenes Programm durch ein in einem anderen Formalismus beschriebenes Programm ersetzt werden kann, so dass das Ein/Ausgabe- verhalten unverändert bleibt. Bsp: Simulation eines Programms, in dem FOR-Schleifen erlaubt sind, durch eins, in dem nur WHILE-Schleifen erlaubt sind.

LOOP- und WHILE-Programme LOOP-Programme: nur For-Schleifen erlaubt, keine bedingten Sprünge, keine Prozeduren etc. WHILE-Programme: auch WHILE-Schleifen erlaubt (und auch Prozeduren,….) WHILE-Programme beschreiben ein universelles Rechenmodell. Jedes LOOP-Programm kann durch ein WHILE-Programm simuliert werden. Umgekehrt??

LOOP- und WHILE-Programme Die folgende Funktion ack: N x N kann durch WHILE- aber nicht durch LOOP-Programme berechnet werden. ack (0, m) = m + 1 ack (n, 0) = ack (n-1, 1), falls n 1, ack (n, m) = ack (n-1, ack (n, m–1)), falls n, m 1 ack wächst sehr schnell !!

Diagonalisierung geht zurück auf Cantor‘sche Diagonalisierungsverfahren, eng verwandt mit den Paradoxien z. B. von Russel. Es gibt kein Programm HALTEN, das bei Eingabe eines Programms P und einer Eingabe x für P entscheidet, ob P gestartet mit x anhält. Das Halteproblem ist nicht entscheidbar.

Diagonalisierung Beweis durch Widerspruch: Annahme: Es gibt Programm „Halten(P,x)“, das bei Eingabe P,x entscheidet, ob P gestartet mit x hält. Dann gibt es auch folgendes Programm: Widerspruch(P) Falls Halten(P,P) „ja“ liefert, gehe in Endlosschleife, sonst halte an.

Eine Möglichkeit, formal zu beschreiben, was es Reduktion Eine Möglichkeit, formal zu beschreiben, was es bedeutet „Problem A ist nicht schwerer als Problem B“: A ist ein schwieriges Problem, aber einfach zu lösen, falls wir einen Algorithmus für B haben.

Reduktion, Beispiel A: Cliquenproblem (CLIQUE) Eingabe: Graph G, Zahl k, Gibt es einen vollständigen Subgraph der Größe k in G? B: Independent Set Problem (IS) Eingabe: Graph G, Zahl k; Gibt es einen leeren induzierten Subgraph der Größe k in G? CLIQUE kann auf IS reduziert werden!

Formalisierungen des Begriffs „Algorithmus“ Programmiersprache mit vollständiger, formaler Syntax- und Semantik-Beschreibung, z.B. Java, C, Pascal, Algol - zu kompliziert, um formal zu argumentieren – einfache Rechenmodelle oder Kalküle, die „das gleiche können wie z. B. Java-Programme“ Turingmaschinen, Registermaschinen, m -Rekusivität, uniforme Schaltkreisfamilien, …

Vorlage für eine Folie im Querformat Überschrift 2

Vorlage für eine Folie im Hochformat Überschrift 2

Wir danken für Ihre Aufmerksamkeit! Heinz Nixdorf Institut & Institut für Informatik Universität Paderborn Fürstenallee 11 33102 Paderborn Tel.: 0 52 51/60 64 66 Fax: 0 52 51/62 64 82 E-Mail: mail@upb.de http://www.upb.de/cs/ag-madh