Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester."—  Präsentation transkript:

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

2 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

3 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

4 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

5 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

6 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

7 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

8 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:

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

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

19 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

20 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

21 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

22 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

23 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

24 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

25 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 … …

26 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

27 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

28 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

29 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

30 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

31 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

32 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

33 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

34 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

35 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

36 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

37 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

38 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

39 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

40 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

41 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 y1y1 01000 z1z1 01000 y2y2 10000 z2z2 10000 g1g1 h1h1 g2g2 h2h2 g3g3 h3h3  3. Schritt:  Initialisiere y i, z i mit 10 i+m-1

42 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 y1y1 01001 z1z1 01000 y2y2 10000 z2z2 10000 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

43 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 y1y1 01001 z1z1 01000 y2y2 10001 z2z2 10000 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

44 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 y1y1 01001 z1z1 01000 y2y2 10101 z2z2 10000 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

45 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 y1y1 01001 z1z1 01010 y2y2 10101 z2z2 10000 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

46 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 y1y1 01001 z1z1 01110 y2y2 10101 z2z2 10000 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

47 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 y1y1 01001 z1z1 01110 y2y2 10101 z2z2 10010 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

48 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 y1y1 01001 z1z1 01110 y2y2 10101 z2z2 10010 g1g1 001 h1h1 001 g2g2 010 h2h2 010 g3g3 100 h3h3 100  6. Schritt:  Initialisiere g j, h j mit 10 j-1

49 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 y1y1 01001 z1z1 01110 y2y2 10101 z2z2 10010 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

50 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 y1y1 01001 z1z1 01110 y2y2 10101 z2z2 10010 g1g1 001 h1h1 001 g2g2 010 h2h2 010 g3g3 100 h3h3 100 t11333

51 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 y1y1 01001 z1z1 01110 y2y2 10101 z2z2 10010 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

52 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 53 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Christian Schindelhauer Wintersemester 2006/07 23. Vorlesung 25.01.2007 Ende der 23. Vorlesung


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

Ähnliche Präsentationen


Google-Anzeigen