1 / 16

Algorithmen und Komplexität

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

heath
Download Presentation

Algorithmen und Komplexität

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  9. 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}

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

  11. 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?

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

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

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

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

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

More Related