Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.

Ähnliche Präsentationen


Präsentation zum Thema: "Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004."—  Präsentation transkript:

1 Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004

2 2 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Klaus Volbert 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 3 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Klaus Volbert 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 4 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Klaus Volbert 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

5 5 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Klaus Volbert 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) !

6 6 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Klaus Volbert 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

7 7 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Klaus Volbert Das Erfüllbarkeitsproblem (Satisfiability, SAT) Eine Boolesche Variable x kann Werte 0 und 1 (falsch und wahr) annehmen. Eine Boolesche Formel ist eine Verknüpfung von Booleschen Variablen durch Boolesche Operatoren, z.B. AND ( Æ ), OR ( Ç ), NOT ( : ). Beispiel: = (:x Ç y) Æ (x Ç :z ) ist eine Boolesche 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.

8 8 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Klaus Volbert Das Erfüllbarkeitsproblem (Satisfiability, SAT) SAT = { | ist erfüllbare Boolesche Formel} SAT ist NP-vollständig

9 9 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Klaus Volbert Konjunktive Normalform (KNF) Literal: Variable oder negierte Variable Klausel: Disjunktion K von Literalen, K= y 1 Ç … Ç y m, y i Literale Formel in Konjunktiver Normalform (KNF): Konjunktion von Klauseln, = K 1 Æ … Æ K l, K i Klauseln k-SAT Formel: Formel in KNF, in der jede Klausel aus genau k Literalen besteht. k-SAT= { | ist erfüllbare Boolesche k- SAT Formel}

10 10 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Klaus Volbert 2-SAT liegt in P 2-SAT= { | ist erfüllbare Boolesche 2-SAT Formel} = K 1 Æ … Æ K l, K i : Disjunktion zweier Literale Menge der Variablen: x 1,…,x n B sei Belegung der Variablen: B(x i )=1falls B die Variable x i auf wahr setzt B(x i )=0 sonst B( )=1 | 0allgemein für ein Literal Da 2-SAT: K i = i i Beobachtung: B( i )=0, dann muss B( i )=1

11 11 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Klaus Volbert 2-SAT liegt in P Gerichteter Graph G =(V,E ): –V := {x 1,:x 1,…,x n,:x n } –E := { (, ) | enthält : oder : } := { (:, ),(:, ) | enthält } –denn: (: ) (: ) Beispiel: – := (:x 1 x 2 ) (:x 2 x 3 ) (x 1 :x 3 ) (x 3 x 2 ) –Woran ist zu erkennen, ob erfüllbar ist?

12 12 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Klaus Volbert 2-SAT liegt in P Satz: 2KNF Formel ist unerfüllbar Variable x i : 1. es existiert in G ein Weg von x i nach :x i 2. es existiert in G ein Weg von :x i nach x i Beweis: Führe Belegung für x i zum Widerspruch. Ann. es ex. keine solche Variable, dann konstruieren wir eine erfüllende Belegung

13 13 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Klaus Volbert 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 x i, die noch nicht belegt ist Falls Pfad von x i nach :x i existiert, setze a=0 sonst a=1 Setze alle von x i 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).

14 14 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Klaus Volbert 2-SAT liegt in P Satz: 2SAT liegt in P Nach Satz 2.2.2: Path={ | 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 x i, ob es einen Pfad von x i nach :x i gibt und umgekehrt –Verwerfe, falls Variable x i gefunden wurde, für die beide Pfade in G existieren. Ansonsten akzeptiere. Laufzeit: poly(n).

15 15 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Klaus Volbert Max2SAT ist NP-vollständig Max2SAT= { | ist Boolesche 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

16 16 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Klaus Volbert Vorschau Heuristiken –Backtracking –Branch-and-Bound –Lokale Verbesserung Approximationsalgorithmen –Max-Cut Problem –Problem des Handlungsreisenden –Rucksackproblem


Herunterladen ppt "Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004."

Ähnliche Präsentationen


Google-Anzeigen