Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Die Klasse NP Verifizieren versus Berechnen -TSP:

Ähnliche Präsentationen


Präsentation zum Thema: "Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Die Klasse NP Verifizieren versus Berechnen -TSP:"—  Präsentation transkript:

1 Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Die Klasse NP Verifizieren versus Berechnen -TSP: Eingabe (G, c, k); entscheide, ob es im gewichteten Graphen (G, c) eine Rundreise der Länge · k gibt. Berechnen (Finden) einer solchen Rundreise scheint sehr schwierig zu sein. Aber: Für eine gegebene Rundreise verifizieren, ob ihr Gewicht · k ist, ist einfach!

2 Friedhelm Meyer auf der Heide 2 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Die Klasse NP Rucksackproblem: (RS) Gegeben sind n Objekte 1, …, n. Objekt i hat Gewicht g i und Wert w i, G={g 1, …, g n }, W={w 1,…,w n }, Gewichtsschranke (Rucksackgröße) g Optimierungsproblem: Suche S µ {1,…,n} so, dass i 2 S g i · g gilt und i 2 S w i maximal wird. Entscheidungsproblem: RS ent = { | Es gibt S µ {1,…,n} mit i 2 S g i · g und i 2 S w i ¸ w} scheint schwierig zu entscheiden zu sein. Aber: Für gegebenes S µ {1,…,n} zu verifizieren, dass S eine Lösung liefert, ist sehr einfach.

3 Friedhelm Meyer auf der Heide 3 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Verifizierer Ein Verifizierer für RS ent ist eine TM, die bei Eingabe G, W, g, w, S entscheidet, ob S µ {1,…,n} ist und S eine Lösung für G, W, g, w ist, d.h. ob i 2 S g i · g und i 2 S w i ¸ w gilt. Ein Verifizierer für TSP ist eine TM die bei Eingabe G, c, k, R entscheidet, ob R eine Rundreise in G und c(R) · k ist. Allgemein: Ein Verifizierer V für eine Sprache L ist eine TM mit L = {w| es gibt Wort c, so dass V die Eingabe (w, c) akzeptiert} c ist das Zertifikat oder der Zeuge für w 2 L

4 Friedhelm Meyer auf der Heide 4 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Polynomielle Verifizierer V ist polynomieller Verifizierer für L, wenn es k gibt, so dass für jedes w 2 L ein c, |c| · |w| k existiert und V die Eingabe (w,c) in Zeit poly(|w|) akzeptiert. L ist polynomiell verifizierbar, falls es einen polynomiellen Verifizierer für L gibt. Satz: Es gibt polynomielle Verifizierer für TSP, RS ent, ZUSAMMENGESETZT. Def: NP = {L | es gibt polynomiellen Verifizierer für L}

5 Friedhelm Meyer auf der Heide 5 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Über NP -P µ NP -Offenes Problem: P NP?

6 Friedhelm Meyer auf der Heide 6 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Nichtdeterministische Turingmaschinen

7 Friedhelm Meyer auf der Heide 7 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität NTMs Rechnung einer NTM……… Beobachtung: NTM kann bei fester Eingabe w 2 * viele verschiedene Rechnungen durchführen. Wann akzeptiert sie w?? a)Falls 99 % der Rechnungen akzeptiert sind randomisierte (probabilistische) Algorithmen b)Falls mindestens eine Rechnung akzeptiert Nichtdeterminismus.

8 Friedhelm Meyer auf der Heide 8 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Rechnungen einer NTM Berechnungsbaum einer NTM bei Eingabe w

9 Friedhelm Meyer auf der Heide 9 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Laufzeit von NTMs

10 Friedhelm Meyer auf der Heide 10 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Nichtdeterministische Komplexitätsklassen

11 Friedhelm Meyer auf der Heide 11 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität NP und nichtdeterministische TMs Satz: Es gibt polynomiellen Verifizierer für L genau dann, wenn es eine polynomiell zeitbeschränkte NTM für L gibt. Satz: NP = [ k ¸ 0 NTIME (n k ) NP ist die Klasse aller Sprachen, die von NTMs in polynomieller Zeit akzeptiert werden können.

12 Friedhelm Meyer auf der Heide 12 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Über NP Satz: NP µ EXP Genauer: Jede t(n) zeitbeschränkte NTM kann durch eine 2 O(t(n)) zeitbeschränkte DTM simuliert werden.

13 Friedhelm Meyer auf der Heide 13 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Das Erfüllbarkeitsproblem (Satifiability, 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.

14 Friedhelm Meyer auf der Heide 14 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Das Erfüllbarkeitsproblem (Satifiability, SAT) SAT = { | ist erfüllbare Boolesche Formel} Bem: SAT 2 NP

15 Friedhelm Meyer auf der Heide 15 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität 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 k Literalen besteht. k-SAT= { | ist erfüllbare Boolesche k- SAT Formel}

16 Friedhelm Meyer auf der Heide 16 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität k-SAT k-SAT= { | ist erfüllbare Boolesche k-SAT Formel} Bem: k-SAT 2 NP für jedes k. Satz : 2-SAT 2 P

17 Friedhelm Meyer auf der Heide 17 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität CLIQUE Eine k-Clique in einem Graphen G ist ein vollständiger Teilgraph von G mit k Knoten. CLIQUE = { | G ist ein Graph der eine k-Clique enthält} Bem: CLIQUE 2 NP.

18 Friedhelm Meyer auf der Heide 18 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Polynomielle Reduktion Sei A µ 1 *, B µ 2 *. A heißt polynomiell reduzierbar auf B, falls es eine in polynomieller Zeit berechenbare Funktion f: 1 * ! 2 * gibt, so dass für alle x 2 1 * gilt: x 2 A, f(x) 2 B. Wir schreiben: A · p B Lemma: A · p B und B 2 P ) A 2 P A · p B und B · p C ) A · p C (Transitivität)

19 Friedhelm Meyer auf der Heide 19 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Polynomielle Reduktionen Satz: 3-SAT ist polynomiell auf CLIQUE reduzierbar, d.h. 3-SAT · p CLIQUE. Was ist zu tun? Beschreibe eine in polynomieller Zeit berechenbare Funktion f, die zu einer 3-SAT Formel einen Graphen G und eine Zahl k berechnet, so dass gilt: Ist genau dann erfüllbar, wenn G eine k-Clique enthält.

20 Friedhelm Meyer auf der Heide 20 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität NP-Vollständigkeit Def. : L heißt NP-vollständig, falls gilt: L 2 NP Für jedes A 2 NP gilt A · p L Satz: Ist L NP-vollständig und L 2 P, so ist P = NP. Korollar: Falls NP P gilt, dann sind alle NP- vollständigen Sprachen in NP \ P, also insbesondere nicht in P.

21 Friedhelm Meyer auf der Heide 21 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität NP-vollständige Probleme Wir werden durch Masterreduktionen zeigen: SAT und 3-SAT sind NP-vollständig. Da wir schon gezeigt haben: CLIQUE 2 NP und 3-SAT · p CLIQUE, folgt : CLIQUE ist NP-vollständig.

22 Friedhelm Meyer auf der Heide 22 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Die NP-Vollständigkeit des Erfüllbarkeitsproblems Satz von Cook/Levin: SAT ist NP-vollständig. Zu zeigen: SAT 2 NP (haben wir schon gezeigt) Für jedes L 2 NP gilt: L · p SAT

23 Friedhelm Meyer auf der Heide 23 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Die Reduktion Sei L 2 NP, M=(Q,,, ) eine NTM, die L in Zeit t(n) entscheidet, für ein Polynom t. Aufgabe: Beschreibe eine in polynomieller Zeit berechenbare Funktion f, die bei Eingabe w 2 * eine Boolesche Formel berechnet, so, dass gilt: M akzeptiert w, ist erfüllbar

24 Friedhelm Meyer auf der Heide 24 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Der Beweis Idee: Berechne aus Eingabe w, |w|=n, eine Formel, so dass erfüllende Belegungen für zu akzeptierenden Rechnungen von M gestartet mit w korrespondieren. Sei T=t(n)

25 Friedhelm Meyer auf der Heide 25 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Beweis Variablen von und ihre Bedeutung. d i,a,t : Nach Schritt t steht in Zelle i der Buchstabe a h i,t : Nach Schritt t steht der Kopf auf Zelle i s q,t : Nach Schritt t ist M in Zustand q V t = {d i,a,t : a 2, 0 · i · T} [ {h i,t : 0 · i · T} [ {s q,t : q 2 Q} V = V 1 [ V 2 [ … [ V T

26 Friedhelm Meyer auf der Heide 26 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Beweis Teilformeln von : Konfig t (V t ) : wird wahr genau für die Belegungen von V t, die eine Konfiguration beschreiben. Ü (V t, V t+1 ) : wird wahr genau für die Belegungen von V t [ V t+1, die Konfigurationen K und K´ beschreiben mit K ` K´. S(V 1 ) : wird genau für die Belegung von V 1 wahr, die q 0 w beschreibt. A(V T ) : wird genau für Belegungen von V T wahr, die akzeptierende Endkonfigurationen beschreiben.

27 Friedhelm Meyer auf der Heide 27 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Beweis w 2 L, M akzeptiert w, M gestartet mit w hat akzeptierende Rechnung, Es gibt Belegung für V, die = S(V 1 ) Æ (Konf(V 2 ) Æ … Æ Konf(V T ) ) Æ Ü (V 1, V 2 ) Æ … Æ Ü (V T-1, V T ) Æ A(V T ) wahr macht. Reduktionsfunktion: berechnet zu w obige Formel.

28 Friedhelm Meyer auf der Heide 28 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Beweis hat O(T²) =O(t(n)²) Variablen, und Länge O(T³) = O(t(n)³). ) hat polynomielle Länge Es ist einfach, in Zeit poly(n) aus w zu berechnen.

29 Friedhelm Meyer auf der Heide 29 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Weitere NP-vollständige Probleme Eine Knotenüberdeckung in einem Graph G = (V,E) ist eine Menge U µ V mit für alle e 2 E. KNOTENÜBERDECKUNG := {, G enthält Knotenüberdeckung der Größe k} -KNOTENÜBERDECKUNG 2 NP -CLIQUE · p KNOTENÜBERDECKUNG Aufgabe: Gebe eine in polynomieller Zeit berechenbare Funktion an, die zu jedem ein (G, k) berechnet, so dass gilt: G enthält Knotenüberdeckung G enthält k-Clique der Größe k

30 Friedhelm Meyer auf der Heide 30 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Weitere NP-vollständige Probleme SUBSETSUM -SUBSETSUM 2 NP -3-SAT · p SUBSETSUM Aufgabe: Gebe einen in polynomieller Zeit berechenbare Funktion an, die zu jeder 3-SAT Formel eine Menge und ein berechnet, so dass gilt:

31 Friedhelm Meyer auf der Heide 31 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Weitere NP-vollständige Probleme RUCKSACK: { | es existiert S µ {1, …, n} mit i 2 S g i · g und i 2 S w i ¸ w} - RUCKSACK 2 NP - SUBSETSUM · p RUCKSACK

32 Friedhelm Meyer auf der Heide 32 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Weitere NP-vollständige Probleme Ein Hamiltonkreis in einem Graphen S ist ein Kreis in S, der jeden Knoten berührt. HAMILTONKREIS := {, G enthält Hamiltonkreis} TSP:= {, G ist vollständiger Graph mit Kantengewichten so dass G einen Hamiltonkreis mit Gesamtlänge · k enthält}


Herunterladen ppt "Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Die Klasse NP Verifizieren versus Berechnen -TSP:"

Ähnliche Präsentationen


Google-Anzeigen