Algorithmen und Komplexität

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen für das Erfüllbarkeitsproblem SAT
Advertisements

Christian Scheideler SS 2009
Christian Scheideler SS 2009
Schwierigkeit von Aufgabenstellungen
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Algorithmische Anwendung
Die 1-Baum-Relaxation des TSP mit der Subgradientenmethode
Wie lösen wir ILPs exakt?
Planares 3 SAT ist NP-vollständig
Einführung in Berechenbarkeit und Formale Sprachen
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Verifizieren versus Berechnen
Algorithmen und Komplexität
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.
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
Christian Schindelhauer
Anwendung und Visual Basic
Informierte Suche.
Algorithmentheorie 6 – Greedy-Verfahren
Prof.Dr.S. Albers Prof. Dr. Th. Ottmann
Prinzipien des Algorithmenentwurfs Backtracking Prof. Dr. Th. Ottmann
Seminar parallele Programmierung SS 2003
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Branch and Bound Das Verfahren zur Lösung von IP-Problemen
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Christian Schindelhauer
Christian Schindelhauer
Algorithmen des Internets 2005 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität 1 Klausuraufgaben.
The Rectilinear Steiner Tree Problem is NP-complete
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Christian Scheideler Institut für Informatik Universität Paderborn
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.
Das Traveling Salesman Problem (TSP)
Algorithmen für das Erfüllbarkeitsproblem SAT
Analyse der Laufzeit von Algorithmen
HEINZ NIXDORF INSTITUT Universität Paderborn Fakultät für Elektrotechnik, Informatik und Mathematik Algorithmische Probleme in Funknetzwerken XIII Klaus.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VI Christian Schindelhauer
Optimierungs- Algorithmen
Der A*-Algorithmus.
Gliederung der Vorlesung
Institut für Informationssysteme Technische Universität Braunschweig Institut für Informationssysteme Technische Universität Braunschweig Verdrängung von.
Binärbäume.
Das Problem des Handlungsreisenden
 Präsentation transkript:

Algorithmen und Komplexität Sommersemester 2004

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, …

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“)

…. 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, …….)

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!)

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).

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 )

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:

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

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 =

Approximationsalgorithmen Vorschau Approximationsalgorithmen Max-Cut Problem Problem des Handlungsreisenden Rucksackproblem