1 / 32

Die Klasse NP

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.

gypsy
Download Presentation

Die Klasse NP

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. 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. Die Klasse NP • Rucksackproblem: (RS) • Gegeben sind n Objekte 1, …, n. Objekt i hat Gewicht gi und • Wert wi, G={g1, … , gn}, W={w1,…,wn} , • Gewichtsschranke (Rucksackgröße) g • Optimierungsproblem: • Suche S µ {1,…,n} so, dass i 2 S gi· g gilt und i 2 S wi maximal wird. • Entscheidungsproblem: • RSent = {<G,W,g,w> | Es gibt S µ {1,…,n} mit i 2 S gi· g und i 2 S wi¸ 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. Verifizierer • Ein Verifizierer für RSent 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 gi· g und i 2 S wi¸ 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. 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, RSent , • ZUSAMMENGESETZT. • Def: NP = {L | es gibt polynomiellen Verifizierer für L}

  5. Über NP • P µ NP • - Offenes Problem: P NP?

  6. Nichtdeterministische Turingmaschinen

  7. NTM‘s • Rechnung einer NTM……… • Beobachtung: NTM kann bei fester Eingabe w 2* • viele verschiedene Rechnungen durchführen. • Wann akzeptiert sie w?? • Falls 99 % der Rechnungen akzeptiert sind • randomisierte (probabilistische) Algorithmen • Falls mindestens eine Rechnung akzeptiert • Nichtdeterminismus.

  8. Rechnungen einer NTM Berechnungsbaum einer NTM bei Eingabe w

  9. Laufzeit von NTMs

  10. Nichtdeterministische Komplexitätsklassen

  11. 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 (nk) • „NP ist die Klasse aller Sprachen, die von NTMs in • polynomieller Zeit akzeptiert werden können.“

  12. Über NP • Satz: NP µ EXP • Genauer: Jede t(n) zeitbeschränkte NTM kann durch eine 2O(t(n)) zeitbeschränkte DTM simuliert werden.

  13. Das Erfüllbarkeitsproblem (Satifiability, 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.

  14. Das Erfüllbarkeitsproblem (Satifiability, SAT) • SAT = { <> |  ist erfüllbare Boole‘sche Formel} • Bem: SAT 2 NP

  15. 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 k Literalen besteht. • k-SAT= { <> |  ist erfüllbare Boole‘sche • k- SAT Formel}

  16. k-SAT • k-SAT= { <> |  ist erfüllbare Boole‘sche k-SAT • Formel} • Bem: k-SAT 2 NP für jedes k. • Satz : 2-SAT 2 P

  17. CLIQUE • Eine k-Clique in einem Graphen G ist ein • vollständiger Teilgraph von G mit k Knoten. • CLIQUE = { <G,k> | G ist ein Graph der eine • k-Clique enthält} • Bem: CLIQUE 2 NP.

  18. 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. 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. 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. 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. 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. 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 Boole‘sche Formel  berechnet, so, dass gilt: • M akzeptiert w ,  ist erfüllbar

  24. 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. Beweis • Variablen von  und ihre Bedeutung. • di,a,t: „Nach Schritt t steht in Zelle i der Buchstabe a“ • hi,t : „Nach Schritt t steht der Kopf auf Zelle i“ • sq,t : „Nach Schritt t ist M in Zustand q“ • Vt = {di,a,t : a 2 , 0 · i · T} [ {hi,t : 0 · i · T} • [ {sq,t : q 2 Q} • V = V1[ V2[ … [ VT

  26. Beweis • Teilformeln von : • Konfigt (Vt) : wird wahr genau für die Belegungen von Vt , die eine Konfiguration beschreiben. • Ü (Vt , Vt+1) : wird wahr genau für die Belegungen von Vt[ Vt+1, die Konfigurationen K und K´ beschreiben mit K ` K´ . • S(V1) : wird genau für die Belegung von V1 wahr, die q0 w beschreibt. • A(VT) : wird genau für Belegungen von VT wahr, die akzeptierende Endkonfigurationen beschreiben.

  27. Beweis • w 2 L , M akzeptiert w , • M gestartetmit w hat akzeptierende Rechnung • , • Es gibt Belegung für V, die • =S(V1) Æ (Konf(V2) Æ … Æ Konf(VT) ) Æ Ü (V1 , V2 ) Æ … Æ Ü (VT-1 , VT) Æ A(VT) wahr macht. Reduktionsfunktion: berechnet zu w obige Formel .

  28. 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. 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, K>, 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 <G,k> ein (G‘, k‘) • berechnet, so dass gilt: • G‘ enthält Knotenüberdeckung • G enthält k-Clique der Größe k‘

  30. 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. Weitere NP-vollständige Probleme • RUCKSACK: {<G, W, g, w> | es existiert S µ {1, …, n} • mit i 2 S gi· g und i 2 S wi¸ w} • - RUCKSACK 2 NP • - SUBSETSUM ·p RUCKSACK

  32. Weitere NP-vollständige Probleme • Ein Hamiltonkreis in einem Graphen S ist ein Kreis • in S, der jeden Knoten berührt. • HAMILTONKREIS := {<G>, G enthält Hamiltonkreis} • TSP:= {<G, k>, G ist vollständiger Graph mit • Kantengewichten so dass G • einen Hamiltonkreis mit Gesamtlänge ·k enthält}

More Related