Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Algorithmen und Komplexität

Ähnliche Präsentationen


Präsentation zum Thema: "Algorithmen und Komplexität"—  Präsentation transkript:

1 Algorithmen und Komplexität
Sommersemester 2004

2 NP-vollständige Probleme
SAT und 3-SAT (Masterreduktionen) CLIQUE KNOTENÜBERDECKUNG SUBSETSUM RUCKSACK (einfach: rationaler Rucksack!) HAMILTONKREIS TSP Übungen: PARTITION, BIN PROGRAMMING, COLOR, INDEPENDENT SET, 1in3SAT, …

3 NP-vollständig – Was nun?
Spezialfälle Ist wirklich die Lösung des allgemeinen Problems verlangt? Heuristiken Im worst-case: exponentielle Laufzeit Für „manche“ Eingaben: polynomielle Laufzeit Approximationsalgorithmen Ziel: für jede Eingabe polynomielle Laufzeit Lösung ist nicht optimal, aber wir können etwas über die Qualität sagen (z.B. „Wert der Ausgabe ist höchstens doppelt so schlecht wie der Wert einer opt. Lösung“)

4 …. sind Algorithmen, die exakte Lösungen für
Heuristiken …. sind Algorithmen, die exakte Lösungen für Probleme berechnen, „in der Praxis“ „häufig“ sehr schnell sind, aber typischerweise sehr schlechte worst case Laufzeit haben. Beispiele: Backtracking Branch & Bound - Lokale Verbesserung (Genetische Algorithmen, Simulated Annealing, …….)

5 Backtracking ….findet Anwendung bei Problemen, deren Lösungen aus vielen Komponenten zusammengesetzt sind. Bsp : 3 SAT : Lösung: (b1, …, bn) 2 {0,1}n HK : Lösung: Knotenfolge (v1=vi1, vi2, …, vin=vn) Erste Idee: „erschöpfende Suche“ (exhaustive search) Durchsuche systematisch alle Lösungen durch Tiefen- oder Breitensuche im Suchbaum. 3 SAT: Binärer Baum der Tiefe n ! 2n Blätter HK : n-ärer Baum der Tiefe n ! nn Blätter oder (etwas schlauer) Baum mit Graden n-1, n-2, n-3, … ! (n-1)! Blätter. Worst Case und Best Case: O(2n) bzw. O(nn) bzw. O (n!)

6 Idee des Backtracking Führe Tiefensuche aus, versuche frühzeitig an einem Knoten zu erkennen, ob unter ihm noch eine zulässige Lösung liegt, d.h.: ob die durch den Knoten beschriebene Teillösung zur Gesamtlösung vervollständigt werden kann. Falls nicht, gehe gar nicht erst in den Subbaum hinein, sondern gehe eine Kante rückwärts im Baum (backtrack).

7 Backtrack-Regeln für 3-SAT
Frage: Wann ist Teillösung (b1, …, bi, x, x, …, x) für eine 3SAT-Formel  garantiert nicht zur Gesamtlösung erweiterbar? Antwort: Wenn die belegten Variablen bereits mindestens eine Klausel falsch macht. Bsp :  enthält Klausel (x1 Ç :x2 Ç x5) und Teillösung ist (0,1,1,00, x x … x) Frage: Wann ist Teillösung garantiert zur Gesamtlösung erweiterbar? Antwort: Wenn die belegten Variablen bereits in jeder Klausel je mindestens ein Literal wahr macht. [Einfache Variante des Davis-Putnam Algorithmus] Beispiel: :=(x1  x2  x3 )  (:x1  x2)  (:x2  x3)  (:x3  x1)  (:x1  :x2  :x3 )

8 Backtrackregeln für HK
Teillösung: Weg (v1=vi1, …, vij, * … *) Frage: Wann ist (vi1, …, vij) garantiert nicht zu HK erweiterbar? Antwort: Falls G \ {vi1 …, vij} nicht zusammenhängend ist oder einen Knoten vom Grad 1 enthält Beispiel:

9 Branch & Bound ….. ist „Backtracking für Optimierungsprobleme“. Beispiel TSP: Gegeben: vollständiger Graph G mit Kantengewichten d(i,j) Gesucht : Rundreise v1=vi1 … vin=vn mit minimaler Länge. Beobachtung: Da G vollständig ist, ist jede der (n-1)! möglichen Rundreisen zulässig. Idee: Durchlaufe G wieder mit Tiefensuche, berechne an jedem Knoten untere Schranken LB für die Länge der kürzesten Rundreise, die mit dieser Teillösung T erreichbar ist. d.h.: Berechne Zahl LB, so dass jede Rundreise, die Erweiterung von T ist, Länge mindestens LB hat. Führe Backtrack durch, falls LB < beste bisher gefundene Lösung

10 Untere Schranke bei TSP
Teillösung: Weg (v1=vi1, …, vij, * … *), Länge D Betrachte G‘ = G \ {vi1, … vij} Sei d‘ = Länge der kürzesten Kante {vi1,vk} , vk  {vi1, …, vij} d‘‘ = Länge der kürzesten Kante {vij, vk}, vk  {vi1, …, vij} für l  {i1, …, ij}: dl = Summe der beiden kürzesten Kanten von dem Knoten vl zu vk  {vi1, …, vij} (falls vorhanden). Beh: Jede Rundreise die vi1, …, vij enthält, hat Länge LB =

11 Approximationsalgorithmen
Vorschau Approximationsalgorithmen Max-Cut Problem Problem des Handlungsreisenden Rucksackproblem


Herunterladen ppt "Algorithmen und Komplexität"

Ähnliche Präsentationen


Google-Anzeigen