Algorithmentheorie. Vorlesung Martin Dietzfelbinger 6. April 2006 Methode, Material Vorlesung Vorlesungsskript (Netz, Copyshop) Folien (im Netz) Vorlesung nachbereiten! Übung Übungsblätter (im Netz) Übung vor- und nachbereiten! FG KTuEA, TU Ilmenau AT 06.0.2006 FG KTuEA, TU Ilmenau AT 06.0.2006 Methode, Material Frühere Klausuren (im Netz) Fragenkataloge (im Netz) Sprechstunde: nach der Vorlesung (bis 8:00 Uhr auch im Büro) Vorlesungsbewertung AFS: Im Netz. http://www.tu-ilmenau.de/fakia/algorithmentheorie.atss06.0.html Bücher U. Schöning, Theoretische Informatik kurzgefasst Hopcroft, Motwani, Ullman, Introduction... (Einführung... ) Hromkovič, Theoretische Informatik, Teubner Asteroth, Baier, Theoretische Informatik mit Beispielen, Pearson Wegener, Theoretische Informatik, Teubner FG KTuEA, TU Ilmenau AT 06.0.2006 2 FG KTuEA, TU Ilmenau AT 06.0.2006 3
Wichtige Aspekte Mathematische Grundbegriffe für AFS (Wiederholen!) Mathematische Grundbegriffe für AT Definitionen Zentrale Beziehungen zwischen den Gegenständen: Sätze Beispiele, Anwendungen: Übungsaufgaben Konstruktionen, Algorithmen Beweistechniken (z.b. Diagonalisierung) Teil : Berechenbarkeit und Unentscheidbarkeit Ziel: Unentscheidbarkeit semantischer Fragen Maschinenmodelle Simulationen Berechnungsprobleme Formalisierung des Begriffs Algorithmus Unentscheidbarkeit: Nichtexistenz von Algorithmen FG KTuEA, TU Ilmenau AT 06.0.2006 FG KTuEA, TU Ilmenau AT 06.0.2006 5 Übertragung von Unentscheidbarkeit: Reduktionen Teil 2: Theorie der NP-Vollständigkeit Wann heißen Algorithmen effizient? Sortieren von n Objekten in Zeit O(n log n) (Mergesort, Heapsort) Finden eines minimalen Spannbaums in einem Graphen G = (V,E) mit n Knoten und m Kanten in Zeit O(m log n) ( Algorithmen und Datenstrukturen ) Suchen von m Objekten in linearen Listen der Länge n: Zeit O(nm) polynomielle Laufzeit Finden von effizienten Algorithmen: Gegenstand des Gebiets Effiziente Algorithmen. FG KTuEA, TU Ilmenau AT 06.0.2006 6 FG KTuEA, TU Ilmenau AT 06.0.2006 7
Hamiltonkreis Definition Gegeben: Graph G = (V,E), V = {v,...,v n }. Formal:... eine Anordnung v π(),v π(2),...,v π(n) 3 2 der Knoten (π Permutation von {,...,n}) so dass (v π(),v π(2) ),(v π(2),v π(3) ),...,(v π(n ),v π(n) ),(v π(n),v π() ) alle in E sind. 5 6 7 Ein Hamiltonkreis in G ist ein Kreis, der jeden Knoten von G genau einmal berührt. FG KTuEA, TU Ilmenau AT 06.0.2006 8 FG KTuEA, TU Ilmenau AT 06.0.2006 9 Hamiltonkreisproblem HC Analog: gerichtete Hamiltonkreise in Digraphen: DHC Input/Instanz: (Ungerichteter) Graph G = (V, E) mit V = {v,...,v n }. 2 Frage: Besitzt G einen Hamiltonkreis? 3 5 6 7 Input/Instanz: Digraph G = (V,E) mit V = {v,...,v n }. Frage: Frage: Besitzt G einen gerichteten Hamiltonkreis? FG KTuEA, TU Ilmenau AT 06.0.2006 0 FG KTuEA, TU Ilmenau AT 06.0.2006
Naheliegender Algorithmus: Teste jede Permutation π, ob π einen Hamiltonkreis beschreibt. Beispiel Aufwand: n! 2πn(n/e) n Tests. Für n = 50: 50! > 0 6. 2 3 Für n = 00: 00! > 0 57. Aufwand wächst exponentiell in n nicht effizient. 5 Besitzt das Hamiltonkreisproblem einen Polynomialzeit- Algorithmus? 6 7 Graph mit (maximal großer) Clique. FG KTuEA, TU Ilmenau AT 06.0.2006 2 FG KTuEA, TU Ilmenau AT 06.0.2006 3 Definition Ist G = (V,E) ein ungerichteter Graph, so heißt V V eine Clique in G, falls v,w V,v w : (v,w) E. V heißt die Größe der Clique. Ziel: Gegegen G, finde möglichst große Clique. Variante : Optimierungsproblem im eigentlichen Sinn. Suche nach einer optimalen Struktur. Gegeben: Graph G = (V, E). Aufgabe: Finde eine möglichst große Clique in G. FG KTuEA, TU Ilmenau AT 06.0.2006 FG KTuEA, TU Ilmenau AT 06.0.2006 5
Variante 2: Parameteroptimierung Gegeben: Graph G = (V, E). Aufgabe: Bestimme das maximale k N, so dass G eine Clique der Größe k hat. Im Beispiel: Variante 3: Entscheidungsproblem Gegeben: Graph G = (V,E) und k N. Frage: Gibt es in G eine Clique der Größe k? Im Beispiel: (G, 3) liefert Antwort ja, (G, 5) liefert Antwort nein. Primitivalgorithmus: Teste alle 2 V Teilmengen V V, ob V Clique ist. Laufzeit: Exponentiell. Besitzt das Cliquenproblem einen Polynomialzeit- Algorithmus? FG KTuEA, TU Ilmenau AT 06.0.2006 6 FG KTuEA, TU Ilmenau AT 06.0.2006 7 Ziel des 2. Teils Identifiziere Klasse von Entscheidungsproblemen, NPC (NP-vollständig) zu der das Hamiltonkreisproblem und das Cliquenproblem gehören, und die ungefähr gleich schwierig sind. Skript Seiten 3 Bis nächste Woche AFS-Skript Seiten 202 209 (b-äre und b-adische Zahldarstellung) Übungsaufgaben drucken und vorbereiten Sammle Indizien dafür, dass diese Probleme keine Polynomialzeitalgorithmen haben. FG KTuEA, TU Ilmenau AT 06.0.2006 8 FG KTuEA, TU Ilmenau AT 06.0.2006 9