Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität...
-
Upload
rike-layher -
Category
Documents
-
view
131 -
download
0
Transcript of Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität...
![Page 1: Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.](https://reader035.fdocument.pub/reader035/viewer/2022081420/55204d6449795902118b9671/html5/thumbnails/1.jpg)
Klaus Volbert 1
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und Komplexität
Algorithmen und Komplexität
Sommersemester 2004
![Page 2: Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.](https://reader035.fdocument.pub/reader035/viewer/2022081420/55204d6449795902118b9671/html5/thumbnails/2.jpg)
2
HEINZ NIXDORF INSTITUTUniversitä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, …
![Page 3: Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.](https://reader035.fdocument.pub/reader035/viewer/2022081420/55204d6449795902118b9671/html5/thumbnails/3.jpg)
3
HEINZ NIXDORF INSTITUTUniversitä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“)
![Page 4: Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.](https://reader035.fdocument.pub/reader035/viewer/2022081420/55204d6449795902118b9671/html5/thumbnails/4.jpg)
4
HEINZ NIXDORF INSTITUTUniversitä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
![Page 5: Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.](https://reader035.fdocument.pub/reader035/viewer/2022081420/55204d6449795902118b9671/html5/thumbnails/5.jpg)
5
HEINZ NIXDORF INSTITUTUniversitä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) !
![Page 6: Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.](https://reader035.fdocument.pub/reader035/viewer/2022081420/55204d6449795902118b9671/html5/thumbnails/6.jpg)
6
HEINZ NIXDORF INSTITUTUniversitä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
![Page 7: Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.](https://reader035.fdocument.pub/reader035/viewer/2022081420/55204d6449795902118b9671/html5/thumbnails/7.jpg)
7
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und Komplexität
Klaus Volbert
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.
![Page 8: Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.](https://reader035.fdocument.pub/reader035/viewer/2022081420/55204d6449795902118b9671/html5/thumbnails/8.jpg)
8
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und Komplexität
Klaus Volbert
Das Erfüllbarkeitsproblem (Satisfiability, SAT)
SAT = { <> | ist erfüllbare Boole‘sche Formel}
SAT ist NP-vollständig
![Page 9: Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.](https://reader035.fdocument.pub/reader035/viewer/2022081420/55204d6449795902118b9671/html5/thumbnails/9.jpg)
9
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und Komplexität
Klaus Volbert
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}
![Page 10: Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.](https://reader035.fdocument.pub/reader035/viewer/2022081420/55204d6449795902118b9671/html5/thumbnails/10.jpg)
10
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und Komplexität
Klaus Volbert
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
![Page 11: Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.](https://reader035.fdocument.pub/reader035/viewer/2022081420/55204d6449795902118b9671/html5/thumbnails/11.jpg)
11
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und Komplexität
Klaus Volbert
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?
![Page 12: Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.](https://reader035.fdocument.pub/reader035/viewer/2022081420/55204d6449795902118b9671/html5/thumbnails/12.jpg)
12
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und Komplexität
Klaus Volbert
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
![Page 13: Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.](https://reader035.fdocument.pub/reader035/viewer/2022081420/55204d6449795902118b9671/html5/thumbnails/13.jpg)
13
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und Komplexität
Klaus Volbert
2-SAT liegt in P
„“ Ann. es ex. keine solche Variable, dannkonstruieren 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, soenthält er auch einen von : nach : (Definition).
![Page 14: Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.](https://reader035.fdocument.pub/reader035/viewer/2022081420/55204d6449795902118b9671/html5/thumbnails/14.jpg)
14
HEINZ NIXDORF INSTITUTUniversitä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,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).
![Page 15: Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.](https://reader035.fdocument.pub/reader035/viewer/2022081420/55204d6449795902118b9671/html5/thumbnails/15.jpg)
15
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und Komplexität
Klaus Volbert
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
![Page 16: Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.](https://reader035.fdocument.pub/reader035/viewer/2022081420/55204d6449795902118b9671/html5/thumbnails/16.jpg)
16
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und Komplexität
Klaus Volbert
Vorschau
• Heuristiken– Backtracking– Branch-and-Bound– Lokale Verbesserung
• Approximationsalgorithmen– Max-Cut Problem– Problem des Handlungsreisenden– Rucksackproblem