1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.

Slides:



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

Freie Universität Berlin Institut für Informatik
Christian Scheideler SS 2009
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Planares 3 SAT ist NP-vollständig
Marco Barz Seminar über Algorithmen SoSe2007
Verifizieren versus Berechnen
Algorithmen und Komplexität
Christian Schindelhauer
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
Algorithmentheorie 04 –Hashing
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Christian Schindelhauer
Christian Schindelhauer
AC Analyse.
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
20:00.
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung
Effiziente Algorithmen
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
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Symmetrische Blockchiffren DES – der Data Encryption Standard
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
1 Mathematical Programming Nichtlineare Programmierung.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester.
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.
Informatik III Christian Schindelhauer Wintersemester 2006/07
Peer-to-Peer-Netzwerke
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.
Informatik III Christian Schindelhauer Wintersemester 2006/07
Arne Vater Wintersemester 2006/ Vorlesung
Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07
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.
Arne Vater Wintersemester 2006/ Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Christian Schindelhauer Wintersemester 2006/07 6. Vorlesung
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
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 Arne Vater Wintersemester 2006/07 26.
Algorithmen für das Erfüllbarkeitsproblem SAT
Analyse der Laufzeit von Algorithmen
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
 Präsentation transkript:

1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester 2006/ Vorlesung

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 2 NP-Vollständigkeit  Definition: –Eine Sprache S ist NP-vollständig, wenn: –S  NP –S ist NP-schwierig, d.h. für alle L  NP: L ≤ m,p S  Lemma: –Sei S eine NP-vollständige Sprache. –Dann ist eine Sprache T ist NP-vollständig, wenn: –T  NP –S ≤ m,p T

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 3 NP-Vollständigkeit  Gegeben ein unbekanntes NP-Problem X, sollte man –nicht nur nach einem Algorithmus mit polynomieller Laufzeit forschen X  P –sondern auch nach einem NP-Vollständigskeitsbeweis  Beweisideen nicht unbedingt naheliegend …  Beispiele für NP-Vollständigkeitsbeweise –VERTEX-COVER ist NP-vollständig –(U)HAMPATH ist NP-vollständig –SUBSET-SUM ist NP-vollständig

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 4 Garey & Johnson Computers and Intractability

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 5 Wiederholung: 3-SAT  Definition: –3-SAT = { ψ | ψ ist eine erfüllbare Formel in 3-CNF} –z.B.:  3-SAT ist NP-vollständig

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 6  Definition: –Eine Knotenüberdeckung eines ungerichteten Graphs G –ist eine Teilmenge seiner Knoten, so dass jede Kante von –einem dieser Knoten berührt wird. –VERTEX-COVER = { (G, k) | G ist ein ungerichteter Graph mit einer k-Knotenüberdeckung } VERTEX-COVER k = 3

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 7 VERTEX-COVER Theorem: –VERTEX-COVER ist NP-vollständig Beweis: –VERTEX-COVER  NP: k-Knotenüberdeckung dient als Zertifikat c  Größe offensichtlich polynomiell in Eingabelänge Verifizierer A(G=(V, E), k, c)  Prüfe, ob c Kodierung von U  V, wobei |U| ≤ k  Für alle Knoten u  U markiere alle Kanten {a, b}  E mit u  {a, b}  Sind alle Kanten markiert, akzeptiere. Sonst verwerfe. Laufzeit von A polynomiell in der Eingabelänge –z.z.: VERTEX-COVER ist NP-schwierig

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 8 x1x1 x1x1 x2x2 x2x2 VERTEX-COVER  VERTEX-COVER ist NP-schwierig  Beweis durch 3-SAT ≤m,p VERTEX-COVER –Idee: –Jede Variable aus ψ abbilden auf Knotenpaar, das für positive bzw. negative Belegung steht:

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 9 VERTEX-COVER –Jede Klausel aus ψ abbilden auf Knotentripel, das den Literalen entspricht: x1x1 x1x1 x2x2 x2x2 x1x1 x2x2 x2x2 x2x2 x1x1

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 10 VERTEX-COVER –ψ habe m Variablen und n Klauseln. Wähle k = m + 2n –k-Knotenüberdeckung z.B. x1x1 x1x1 x2x2 x2x2 x1x1 x1x1 x2x2 x2x2 x1x1 x2x2 x2x2 x2x2 x1x1 k = 8

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 11 VERTEX-COVER –Verbinde ‚Literale‘ der Knotentripel mit den entsprechenden Knoten der Variablen-Knotenpaare x1x1 x1x1 x2x2 x2x2 x1x1 x1x1 x2x2 x2x2 x1x1 x2x2 x2x2 x2x2 x1x1

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 12 VERTEX-COVER –Verbinde ‚Literale‘ der Knotentripel mit den entsprechenden Knoten der Variablen-Knotenpaare x1x1 x1x1 x2x2 x2x2 x1x1 x1x1 x2x2 x2x2 x1x1 x2x2 x2x2 x2x2 x1x1

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 13 VERTEX-COVER –Verbinde ‚Literale‘ der Knotentripel mit den entsprechenden Knoten der Variablen-Knotenpaare x1x1 x1x1 x2x2 x2x2 x1x1 x1x1 x2x2 x2x2 x1x1 x2x2 x2x2 x2x2 x1x1

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 14 VERTEX-COVER –z.z.: ψ ist erfüllbar genau dann, wenn G eine k-Knotenüberdeckung hat x1x1 x1x1 x2x2 x2x2 x1x1 x1x1 x2x2 x2x2 x1x1 x2x2 x2x2 x2x2 x1x1

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 15 VERTEX-COVER  ψ ist erfüllbar → G hat eine k-Knotenüberdeckung –Wähle die Knotenüberdeckung wie folgt: –Für jede in der erfüllenden Belegung von ψ mit „wahr“ belegte Variable x i wähle im entsprechenden Knotenpaar in G den Knoten x i ; falls x i mit „falsch“ belegt ist den entsprechenden negierten Knoten. –ψ ist erfüllbar → jede Klausel von ψ ist erfüllbar → jede Klausel enthält maximal zwei falsche Literale. Wähle diese Knoten. (Falls weniger als zwei Literale falsch sind, fülle mit beliebigen wahren Literalen auf.) –Gewählte Knotenüberdeckung hat offensichtlich Größe k

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 16 VERTEX-COVER –Gewählte k-Knotenüberdeckung berührt alle Kanten: Kanten der Knotenpaare, da je einer der beiden gewählt Kanten der Knotentripel, da je zwei der drei gewählt Verbindungskanten zu erfüllten Literalen in Variablen-Knotenpaaren abgedeckt Verbindungskanten zu nicht erfüllten Literalen über Knotentripel abgedeckt

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 17 VERTEX-COVER  G hat eine k-Knotenüberdeckung → ψ ist erfüllbar –In jedem Variablen-Knotenpaar muss genau ein Knoten der Überdeckung angehören. Belege die Variable in ψ dementsprechend. –In jedem Klausel-Knotentripel müssen genau zwei Knoten Teil der Überdeckung sein. Die zu dem dritten Knoten gehörende Verbindungskante muss daher durch einen Variablen-Knoten überdeckt sein → das entsprechende Literal ist wahr → die Klausel ist erfüllt  Theorem: –VERTEX-COVER ist NP-vollständig

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 18 Hamiltonsche Pfade  Definition: –HAMPATH = { (G, s, t) | Der gerichtete Graph G enthält einen Weg von s nach t, der jeden Knoten genau einmal besucht. }

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 19 Hamiltonsche Pfade  Theorem: –HAMPATH ist NP-vollständig  Beweis: –HAMPATH  NP: Hamiltonscher Pfad (s, v 1, v 2,..., v n-2, t) dient als Zertifikat c (Größe offensichtlich polynomiell in Eingabelänge) Verifizierer A(G=(V, E), s, t, c)  Prüfe, ob c Kodierung einer Permutation der Knoten (s, v 1, v 2,..., v n-2, t) ist  Für je zwei aufeinander folgende Knoten (x 1, x 2 )  c, prüfe, ob es eine gerichtete Kante (x 1, x 2 )  E gibt. Falls nicht, verwerfe.  Akzeptiere. Laufzeit von A polynomiell in der Eingabelänge –z.z.: HAMPATH ist NP-schwierig

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 20 … Hamiltonsche Pfade  HAMPATH ist NP-schwierig  Beweis durch 3-SAT ≤m,p HAMPATH –Idee: –Jede Variable x i aus ψ abbilden auf rautenartige Knotenstruktur mit einer horizontalen Knotenzeile

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 21 t s … … x1x1 x2x2 Hamiltonsche Pfade –Rautenförmige Knotenkonstrukte für die einzelnen Variablen x i verketten –Startknoten s, Endknoten t

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 22 Hamiltonsche Pfade –Klauseln c i aus ψ abbilden auf separate Knoten t s … … x1x1 x2x2 c1c1 c2c2 c3c3

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 23 xixi c1c1 c2c2 Hier: 3k + 1 = 3*2 + 1 = 7 Knoten Hamiltonsche Pfade –Horizontale Knotenzeile einer Knotenstruktur im Detail: Für jede Klausel c 1... c k ein Knotenpaar „Trenner-Knoten“ zwischen den einzelnen Knotenpaaren, sowie am Anfang und Ende der Knotenzeile d.h. 3k + 1 Knoten im Inneren der Rauten-Knotenstruktur

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 24 –Zusätzliche Kanten zu den Klausel-Knoten Falls Klausel c j die Variable x i enthält: Hamiltonsche Pfade xixi cjcj … … cjcj

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 25 Hamiltonsche Pfade –Zusätzliche Kanten zu den Klausel-Knoten Falls Klausel c j die Variable x i enthält: cjcj xixi cjcj … …

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 26 Hamiltonsche Pfade  ψ ist erfüllbar → G besitzt einen Hamiltonschen Pfad –Vernachlässige zunächst die separaten Klausel-Knoten –Dann gibt es einen Pfad von s nach t, der der Reihe nach alle rautenförmigen Knotenstrukturen durchläuft t s … … x1x1 x2x2

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 27 Hamiltonsche Pfade –Durchlaufe dabei eine Rautenstruktur „zick-zack“, wenn die Variable x i in der erfüllenden Belegung von ψ mit „wahr“ belegt ist, d.h. … xixi

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 28 Hamiltonsche Pfade –Durchlaufe dabei eine Rautenstruktur „zack-zick“, wenn die Variable x i in der erfüllenden Belegung von ψ mit „falsch“ belegt ist, d.h. … xixi

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 29 Hamiltonsche Pfade –Binde separate Klausel-Knoten in Pfad ein –ψ ist erfüllbar → jede Klausel von ψ ist erfüllbar → jede Klausel enthält mindestens ein wahres Literal –Wähle in jeder Klausel genau ein wahres Literal und baue Umweg über Klausel-Knoten in Pfad ein xixi cjcj … … cjcj Fall 1: c j enthält x i

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 30 Hamiltonsche Pfade –Durch Wahl des Wegs „zick-zack“ bzw. „zack-zick“ abhängig von der Variablenbelegung, zeigen die Kanten zu den Klauselknoten für wahre Literale stets in die richtige Richtung → Der beschriebe Pfad von s nach t existiert und ist ein Hamiltonscher Pfad xixi cjcj … … cjcj Fall 2: c j enthält x i

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 31 Hamiltonsche Pfade  G besitzt einen Hamiltonschen Pfad → ψ ist erfüllbar –Falls Rautenstrukturen der Reihe nach von oben nach unten durchlaufen werden: Bestimme Variablenbelegung anhand „zick-zack“ bzw. „zack-zick“ Wegen Hamiltonscher Pfad besucht alle Knoten, insbesondere auch alle separaten Klauselknoten → nach Konstruktion ist pro Klausel wenigstens ein Literal wahr → jede Klausel ist erfüllbar → ψ ist erfüllbar –Z.z.: Rautenstrukturen werden der Reihe nach von oben nach unten durchlaufen Umrahmende Kanten der Rautenstrukturen gerichtet → Sprünge nur über Klauselknoten möglich

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 32 Hamiltonsche Pfade Falls der Pfad einen Sprung macht, muss entweder Knoten a 2 oder a 3 ein Trenner-Knoten sein a 2 Trenner-Knoten → a 2 hat eingehende Kanten von a 1 und a 3 a 3 Trenner-Knoten → a 2 hat eingehende Kanten von a 1, a 3 und c j a 1 und c j schon im Pfad enthalten + Kante nach a 3 einzig möglicher weiterführender Pfad → kein Weg zurück nach a 2 Widerspruch! → Pfad kann keinen Sprung gemacht haben … a1a1 a2a2 a3a3 b1b1 b2b2 cjcj cjcj

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 33 Ungerichtete Hamiltonsche Pfade  Definition: –UHAMPATH = { (G, s, t) | Der ungerichtete Graph G enthält einen Weg von s nach t, der jeden Knoten genau einmal besucht. }  Theorem: –UHAMPATH ist NP-vollständig  Beweis: –UHAMPATH  NP: Verifizierer analog zu HAMPATH –Z.z.: UHAMPATH ist NP-schwierig

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 34 uu in u mid u out Ungerichtete Hamiltonsche Pfade  UHAMPATH ist NP-schwierig  Beweis durch HAMPATH ≤m,p UHAMPATH –Idee:  Reduktionsfunktion: f(G, s, t) = (G´, s out, t in ) –G = (V, E), G´ = (V´, E´) –Für alle u  V \ {s, t} füge u in, u mid, u out zu V´ und {u in, u mid }, {u mid, u out } zu E´ hinzu –Für alle (u, v)  E \ {(*, s), (t, *)} füge {u out, v in } zu E´ hinzu –Füge s out = s, t in = t zu V´ hinzu

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 35 Ungerichtete Hamiltonsche Pfade  (G, s, t)  HAMPATH → (G´, s out, t in )  UHAMPATH –Dem Pfad s, u 1, u 2, …, u k, t in G entspricht –nach Konstruktion offensichtlich der Pfad –s out, u 1 in, u 1 mid, u 1 out, u 2 in, u 2 mid, u 2 out, …, t in in G´  (G´, s out, t in )  UHAMPATH → (G, s, t)  HAMPATH –auf s out muss ein u i in folgen –auf alle u i in müssen u i mid und u i out folgen –auf alle u i out muss ein u j in folgen (Speziallfall: u i out → t in ) –Da es keine Kanten {t in, u i in }  E´ gibt, muss der Pfad in t in enden. Weiterhin enthält der Pfad alle Knoten. → Es gibt einen entsprechenden Hamiltonschen Pfad in G

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 36 Das Teilsummenproblem  Definition SUBSET-SUM: –Gegeben: Menge von natürlichen Zahlen S = {x 1,..., x k } Ein natürliche Zahl t –Gesucht: Gibt es eine Teilmenge {y 1,..., y m }  {x 1,..., x k } so dass  Theorem: –SUBSET-SUM ist NP-vollständig

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 37 Das Teilsummenproblem  Beweis: –SUBSET-SUM  NP: Teilmenge {y 1,..., y m } dient als Zertifikat c (Größe offensichtlich polynomiell in Eingabelänge) Verifizierer A(S, t, c)  Prüfe, ob c Kodierung einer Teilmenge {y 1,..., y m } von S ist  Addiere die Elemente von {y 1,..., y m } auf. Falls die Summe t ist, akzeptiere. Andernfalls verwerfe. Laufzeit von A polynomiell in der Eingabelänge –z.z.: SUBSET-SUM ist NP-schwierig Beweis durch 3-SAT ≤ m,p SUBSET-SUM

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 38 Das Teilsummenproblem –Sei ψ eine Boolesche Formel mit Variablen x 1,..., x k und Klauseln c 1,..., c m. –Konstruiere die Menge S wie folgt: Für jede Variable x i füge zwei Zahlen y i, z i hinzu Für jede Klausel c j füge zwei Zahlen g j, h j hinzu Initialisiere y i, z i mit 10 i+m-1 Für jedes Literal x i in Klausel c j addiere 10 j-1 zu y i Für jedes Literal x i in Klausel c j addiere 10 j-1 zu z i Initialisiere g j, h j mit 10 j-1 –Wähle t als (k+m)-stellige Dezimalzahl, bestehend aus k 1en gefolgt von m 3en –Reduktion in polynomieller Zeit durchführbar

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 39 Das Teilsummenproblem  Beispiel für S21c3c3 c2c2 c1c1 y1y1 z1z1 y2y2 z2z2  1. Schritt:  Für jede Variable x i füge zwei Zahlen y i, z i hinzu

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 40 Das Teilsummenproblem  Beispiel für S21c3c3 c2c2 c1c1 y1y1 z1z1 y2y2 z2z2 g1g1 h1h1 g2g2 h2h2 g3g3 h3h3  2. Schritt:  Für jede Klausel c j füge zwei Zahlen g j, h j hinzu

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 41 Das Teilsummenproblem  Beispiel für S21c3c3 c2c2 c1c1 y1y z1z y2y z2z g1g1 h1h1 g2g2 h2h2 g3g3 h3h3  3. Schritt:  Initialisiere y i, z i mit 10 i+m-1

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 42 Das Teilsummenproblem  Beispiel für S21c3c3 c2c2 c1c1 y1y z1z y2y z2z g1g1 h1h1 g2g2 h2h2 g3g3 h3h3  4. Schritt:  Für jedes Literal x i in Klausel c j addiere 10 j-1 zu y i

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 43 Das Teilsummenproblem  Beispiel für S21c3c3 c2c2 c1c1 y1y z1z y2y z2z g1g1 h1h1 g2g2 h2h2 g3g3 h3h3  4. Schritt:  Für jedes Literal x i in Klausel c j addiere 10 j-1 zu y i

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 44 Das Teilsummenproblem  Beispiel für S21c3c3 c2c2 c1c1 y1y z1z y2y z2z g1g1 h1h1 g2g2 h2h2 g3g3 h3h3  4. Schritt:  Für jedes Literal x i in Klausel c j addiere 10 j-1 zu y i

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 45 Das Teilsummenproblem  Beispiel für S21c3c3 c2c2 c1c1 y1y z1z y2y z2z g1g1 h1h1 g2g2 h2h2 g3g3 h3h3  5. Schritt:  Für jedes Literal x i in Klausel c j addiere 10 j-1 zu z i

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 46 Das Teilsummenproblem  Beispiel für S21c3c3 c2c2 c1c1 y1y z1z y2y z2z g1g1 h1h1 g2g2 h2h2 g3g3 h3h3  5. Schritt:  Für jedes Literal x i in Klausel c j addiere 10 j-1 zu z i

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 47 Das Teilsummenproblem  Beispiel für S21c3c3 c2c2 c1c1 y1y z1z y2y z2z g1g1 h1h1 g2g2 h2h2 g3g3 h3h3  5. Schritt:  Für jedes Literal x i in Klausel c j addiere 10 j-1 zu z i

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 48 Das Teilsummenproblem  Beispiel für S21c3c3 c2c2 c1c1 y1y z1z y2y z2z g1g1 001 h1h1 001 g2g2 010 h2h2 010 g3g3 100 h3h3 100  6. Schritt:  Initialisiere g j, h j mit 10 j-1

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 49 Das Teilsummenproblem  Beispiel für S21c3c3 c2c2 c1c1 y1y z1z y2y z2z g1g1 001 h1h1 001 g2g2 010 h2h2 010 g3g3 100 h3h3 100 t11333  7. Schritt:  Wähle t als (k+m)-stellige Dezimalzahl, bestehend aus k 1en gefolgt von m 3en

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 50 Das Teilsummenproblem  ψ  3-SAT → (S, t)  SUBSET-SUM –Falls x i wahr in erfüllender Belegung, füge y i zur Teilsumme hinzu, andernfalls z i –Die linken k Stellen von t sind 1en –ψ erfüllbar → jede Klausel erfüllbar → in der Summe wenigstens eine 1 pro Klausel-Spalte → fülle Teil- summe mit g i, h i auf, so dass jede Klausel-Spalte in der Summe 3 hat –Damit (S, t)  SUBSET-SUM S21c3c3 c2c2 c1c1 y1y z1z y2y z2z g1g1 001 h1h1 001 g2g2 010 h2h2 010 g3g3 100 h3h3 100 t11333

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 51 Das Teilsummenproblem  Beispiel für S21c3c3 c2c2 c1c1 y1y z1z y2y z2z g1g1 001 h1h1 001 g2g2 010 h2h2 010 g3g3 100 h3h3 100 t11333  ψ ist erfüllbar (x 1 = falsch, x 2 = wahr)  es gibt eine Teilmenge {z 1, y 2, g 1, h 1, g 2, h 2, g 3 } von S, deren Summe t ist

Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III22. Vorlesung - 52 Das Teilsummenproblem  (S, t)  SUBSET-SUM → ψ  3-SAT –Beobachtungen: alle Ziffern der Zahlen aus S sind entweder 0 oder 1 in jeder Klausel-Spalte können nach Konstruktion niemals mehr als fünf 1en stehen → es kann keinen Übertrag geben Damit die linken k Stellen von t 1en sind, muss in der Teilsumme für jedes i entweder y i oder z i enthalten sein –Falls die Teilsumme y i enthält, setze x i = „wahr“, andernfalls (z i in Teilsumme) setze x i = „falsch“ –Teilsumme hat eine 3 in allen Klausel-Spalten –Potentielle Summanden g i, h i können max. 2 beitragen → y i, z i in Teilsumme haben min. eine 1 pro Klausel-Spalte → jede Klausel erfüllbar → ψ  erfüllbar

53 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Christian Schindelhauer Wintersemester 2006/ Vorlesung Ende der 23. Vorlesung