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
Planares 3 SAT ist NP-vollständig
Marco Barz Seminar über Algorithmen SoSe2007
Grammatiken, Definitionen
Einige entscheidbare bzw. rekursiv aufzählbare Sprachen
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Verifizieren versus Berechnen
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.
Christian Schindelhauer
1 Computergestützte Verifikation SAT-basiertes Model Checking Ansatz: Übersetze das Model Checking Problem in ein aussagenlogisches Erfüllbarkeitsproblem.
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
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/ Vorlesung Dominic Dumrauf.
Christian Schindelhauer
Algorithmen des Internets 2005 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität 1 Materialien zu Übung 9 Bälle in Körbe Ranged.
Minimum Spanning Tree: MST
Aussagenlogik -- Verfahren zum Finden von Modellen
Beweiser für quantifizierte Boolesche Ausdrücke - QUAFFLE
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente 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
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
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
K-SAT: Ein heuristischer Algorithmen- Vergleich Kann man den Brute Force Search Algorithmus schlagen?
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
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
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.
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 Arne Vater Wintersemester 2006/07 26.
Das Traveling Salesman Problem (TSP)
Algorithmen für das Erfüllbarkeitsproblem SAT
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
Komplexitätstheorie Beispiel Matrixmultiplikation  Eingabe: Zwei nn-Matrizen A und B,  Ausgabe: die nn-Matrix C := A · B.  n²-mal "Zeile-mal-Spalte"
 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“)

Weiteres Beispiel: 2SAT liegt in P Spezialfälle Ist wirklich die Lösung des allgemeinen Problems verlangt oder liegt ein (einfacher) Spezialfall vor? Beispiele auf Bäumen: CLIQUE HAMILTONKREIS HAMILTONPFAD UNABHÄNGIGE MENGE Weiteres Beispiel: 2SAT liegt in P

Unabhängige Menge auf Bäumen Eingabe: G=(V,E),r (Baum mit Wurzel r) Ausgabe: Max. unabhängige Menge I  V, so dass keine zwei Knoten in I verbunden sind Dynamische Programmierung: Laufzeit: O(n) !

Weiteres Beispiel: 2SAT liegt in P Spezialfälle Ist wirklich die Lösung des allgemeinen Problems verlangt oder liegt ein (einfacher) Spezialfall vor? Beispiele auf Bäumen: CLIQUE HAMILTONKREIS HAMILTONPFAD UNABHÄNGIGE MENGE Weiteres Beispiel: 2SAT liegt in P

Das Erfüllbarkeitsproblem (Satisfiability, SAT) Eine Boole’sche Variable x kann Werte 0 und 1 (falsch und wahr) annehmen. Eine Boole’sche Formel  ist eine Verknüpfung von Boole’schen Variablen durch Boole’sche Operatoren, z.B. AND ( Æ ) , OR ( Ç ), NOT ( : ). Beispiel:  = (:x Ç y) Æ (x Ç :z ) ist eine Boole’sche Formel mit Variablen x, y, z.  ist erfüllbar, falls es eine Belegung der Variablen mit Werten 0, 1 gibt, die  wahr macht. Beispiel:  ist erfüllbar, z. b. durch x=1, y=1, z=0.

Das Erfüllbarkeitsproblem (Satisfiability, SAT) SAT = { <> |  ist erfüllbare Boole‘sche Formel} SAT ist NP-vollständig

Konjunktive Normalform (KNF) Literal: Variable oder negierte Variable Klausel: Disjunktion K von Literalen, K= y1 Ç … Ç ym, yi Literale Formel  in Konjunktiver Normalform (KNF): Konjunktion von Klauseln,  = K1 Æ … Æ Kl , Ki Klauseln k-SAT Formel: Formel in KNF, in der jede Klausel aus genau k Literalen besteht. k-SAT= { <> |  ist erfüllbare Boole‘sche k- SAT Formel}

2-SAT= { <> |  ist erfüllbare Boole‘sche 2-SAT Formel} 2-SAT liegt in P 2-SAT= { <> |  ist erfüllbare Boole‘sche 2-SAT Formel} = K1 Æ … Æ Kl , Ki: Disjunktion zweier Literale Menge der Variablen: x1,…,xn B sei Belegung der Variablen: B(xi)=1 falls B die Variable xi auf wahr setzt B(xi)=0 sonst B()=1 | 0 allgemein für ein Literal Da 2-SAT: Ki = i  i Beobachtung: B(i)=0, dann muss B(i)=1

Gerichteter Graph G=(V,E): 2-SAT liegt in P Gerichteter Graph G=(V,E): V := {x1,:x1,…,xn,:xn} E := { (,) |  enthält :   oder   : } := { (:, ),(:,) |  enthält    } denn:     (:  )  (:  ) Beispiel:  := (:x1  x2)  (:x2  x3)  (x1  :x3)  (x3  x2) Woran ist zu erkennen, ob  erfüllbar ist?

2KNF Formel  ist unerfüllbar   Variable xi: 2-SAT liegt in P Satz: 2KNF Formel  ist unerfüllbar   Variable xi: 1. es existiert in G ein Weg von xi nach :xi 2. es existiert in G ein Weg von :xi nach xi Beweis: „“ Führe Belegung für xi zum Widerspruch. „“ Ann. es ex. keine solche Variable, dann konstruieren wir eine erfüllende Belegung

„“ Ann. es ex. keine solche Variable, dann 2-SAT liegt in P „“ Ann. es ex. keine solche Variable, dann konstruieren wir eine erfüllende Belegung: Solange noch nicht alle Variablen belegt sind: Wähle bel. Variable xi, die noch nicht belegt ist Falls Pfad von xi nach :xi existiert, setze a=0 sonst a=1 Setze alle von xi aus erreichbaren Literale auf a Setze die entsprechenden Negationen auf :a Beobachtung: Falls der Graph einen Weg von  nach  enthält, so enthält er auch einen von : nach : (Definition).

Satz: 2SAT liegt in P Algorithmus für 2SAT: Laufzeit: poly(n). Nach Satz 2.2.2: Path={ <G,s,t> | G=(V,E) ist ein gerichteter Graph mit s, t  V und einem gerichteten Weg von s nach t}  P Algorithmus für 2SAT: Konstruiere G Prüfe für jede Variable xi, ob es einen Pfad von xi nach :xi gibt und umgekehrt Verwerfe, falls Variable xi gefunden wurde, für die beide Pfade in G existieren. Ansonsten akzeptiere. Laufzeit: poly(n).

Max2SAT ist NP-vollständig Max2SAT= { <,k> |  ist Boole‘sche 2-SAT Formel, für die es eine Belegung gibt, die mindestens k Klauseln erfüllt} Bemerkung: Max2SAT ist NP-vollständig! Beweisidee: 1) Max2SAT liegt in NP 2) 3SAT p Max2SAT

Approximationsalgorithmen Vorschau Heuristiken Backtracking Branch-and-Bound Lokale Verbesserung Approximationsalgorithmen Max-Cut Problem Problem des Handlungsreisenden Rucksackproblem