Berechenbarkeit und Komplexität: Motivation, Übersicht und Organisatorisches Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 13. Oktober 2009 Berthold Vöcking, Informatik 1 Vorlesung Berechenbarkeit und Komplexität Berechenbarkeit – die absoluten Grenzen des Computers Kann das folgende Problem durch einen Computer gelöst werden? Halteproblem Eingabe: Programm Π in einer wohldefinierten, universellen Programmiersprache (z.B. Java, C, Pascal, Haskell) Frage: Terminiert Π? Wir werden beweisen, dass es keinen Algorithmus gibt, der diese Frage entscheiden kann. Berthold Vöcking, Informatik 1 Vorlesung Berechenbarkeit und Komplexität Komplexität: Welche Probleme können effizient gelöst werden? Für das folgende Problem hingegen gibt es einen Algorithmus. Traveling Salesperson Problem (TSP) Eingabe: Graph G mit Kantengewichten Ausgabe: ein Hamiltonkreis mit minimalem Gewicht (= günstigste Rundreise) Aber wir werden zeigen, dass es unter der Hypothese P 6= NP keinen effizienten Algorithmus für dieses Problem gibt. Berthold Vöcking, Informatik 1 Vorlesung Berechenbarkeit und Komplexität Übersicht Teil 1: Einführung 16. Okt Modellierung von Problemen / Einführung der Turingmaschine (TM) 20. Okt Erläuterung des TM-Modells 23. Okt Einführung der Registermaschine (RAM) / Vergleich TM RAM / Church-Turing-These Berthold Vöcking, Informatik 1 Vorlesung Berechenbarkeit und Komplexität Übersicht Teil 2: Berechenbarkeit 27. Okt Existenz unentscheidbarer Probleme / Unentscheidbarkeit der Diagonalsprache 30. Okt Unentscheidbarkeit des Halteproblems / Unterprogrammtechnik 6. Nov Der Satz von Rice 10. Nov Semi-Entscheidbarkeit, rekursive Aufzählbarkeit, Eigenschaften rekursiver und rekursiv aufzählbarer Sprachen 13. Nov. Die Technik der Reduktion / Hilberts zehntes Problem 17. Nov. Das Postsche Korrespondenzproblem 20. Nov. LOOP- und WHILE-Programme Berthold Vöcking, Informatik 1 Vorlesung Berechenbarkeit und Komplexität Übersicht Teil 3: Komplexität Die Komplexitätsklasse P Die Komplexitätsklasse NP P versus NP NP-Vollständigkeit Der Satz von Cook und Levin NP-Vollständigkeit einiger Graphprobleme NP-Vollständigkeit einiger Zahlprobleme Übersicht über die Komplexitätslandschaft Approximationsalgorithmen für NP-harte Probleme Berthold Vöcking, Informatik 1 Vorlesung Berechenbarkeit und Komplexität Vorlesungstermine Di 08:15h - 09:45h / Eph (nur bis zum 24.11.) Fr 11:45h - 13:15h / Eph keine Vorlesung am 3. Nov. (Fachschaftsvollversammlung) Berthold Vöcking, Informatik 1 Vorlesung Berechenbarkeit und Komplexität Klausurtermine 1. Zulassungsklausur amd 24.11.2009 (Schwerpunkt Berechenbarkeit) 2. Zulassungsklausur am 2.2.2010 (Schwerpunkt Komplexität) Klausur am 26.2.2010 Wiederholungsklausur am 25.3.2010 Berthold Vöcking, Informatik 1 Vorlesung Berechenbarkeit und Komplexität Übungsbetrieb Es gibt 11 Übungsgruppen. Die Anmeldung zu den Übungen erfolgt am Semesteranfang über campusOffice. Die Anmeldung ist bis zum 16.10.2009, 15:00 Uhr freigeschaltet. Alle Teilnehmerinnen und Teilnehmer der Vorlesung sollten sich anmelden, auch wenn keine Übungsteilnahme gewünscht ist (z.B. für E-Mail-Benachrichtigung, Klausurteilnahme). Ausgabe der Übungsblätter jeweils bis donnerstags im Web. Abgabe der Lösungen bis Freitag 12:00 Uhr im Sammelkasten vor dem Lehrstuhl i1 oder zum Ende der Vorlesung am Freitag. Berthold Vöcking, Informatik 1 Vorlesung Berechenbarkeit und Komplexität Übungsgruppen 1 2 3 4 5 6 7 8 9 10 11 Mo 10:15 - 11:45, 2356—054 (5054) Mo 12:15 - 13:45, 2356—056 (5056) Mo 12:15 - 13:45, 4017 Mo 14:00 - 15:30, 2356—056 (5056) Di 10:10 - 11:40, 4017 Di 12:15 - 13:45, 4017 Mi 12:00 - 13:30, 4017 Mi 12:00 - 13:30, 2356—054 (5054) Mi 13:30 - 15:00, 2356—019 (6019) Mi 13:30 - 15:00, 4017 Do 12:00 - 13:30, 4017 Andreas Tönnis Wied Pakusa Oliver Göbel Viktor Engelmann Nadine Bergner Alexander Heinsius Faried Abu Zaid Robert Schulte Benjamin Kaminski Lisa Wagner Johannes Dams Übung 5 ist für die Studiengänge Lehramt und Technik-Kommunikation vorgesehen. Berthold Vöcking, Informatik 1 Vorlesung Berechenbarkeit und Komplexität Zulassungskriterien für Bachelor / Leistungsnachweis Es sind mindestens 60 Punkte zu sammeln. Hierzu gibt es folgende Möglichkeiten: Je 60 Punkte in den Zulassungsklausuren (max. 2 x 60 Punkte) Je 2 Punkte pro Übungsblatt für die speziell ausgezeichnete Aufgabe Je 2 Punkte für das Vortragen der Lösung einer Aufgabe in den Übungsgruppen. Insgesamt jedoch höchstens 22 Punkte. Berthold Vöcking, Informatik 1 Vorlesung Berechenbarkeit und Komplexität