die klasse np
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/1.jpg)
Friedhelm Meyer auf der Heide 1
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätDie 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!
![Page 2: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/2.jpg)
Friedhelm Meyer auf der Heide 2
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätDie 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.
![Page 3: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/3.jpg)
Friedhelm Meyer auf der Heide 3
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätVerifizierer
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“
![Page 4: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/4.jpg)
Friedhelm Meyer auf der Heide 4
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätPolynomielle 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}
![Page 5: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/5.jpg)
Friedhelm Meyer auf der Heide 5
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätÜber NP
- P µ NP
- Offenes Problem: P NP?
![Page 6: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/6.jpg)
Friedhelm Meyer auf der Heide 6
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätNichtdeterministische Turingmaschinen
![Page 7: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/7.jpg)
Friedhelm Meyer auf der Heide 7
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätNTM‘s
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.
![Page 8: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/8.jpg)
Friedhelm Meyer auf der Heide 8
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätRechnungen einer NTM
Berechnungsbaum einer NTM bei Eingabe w
![Page 9: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/9.jpg)
Friedhelm Meyer auf der Heide 9
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätLaufzeit von NTMs
![Page 10: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/10.jpg)
Friedhelm Meyer auf der Heide 10
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätNichtdeterministische Komplexitätsklassen
![Page 11: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/11.jpg)
Friedhelm Meyer auf der Heide 11
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätNP 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.“
![Page 12: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/12.jpg)
Friedhelm Meyer auf der Heide 12
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätÜber NP
Satz: NP µ EXP
Genauer: Jede t(n) zeitbeschränkte NTM kann durch eine 2O(t(n)) zeitbeschränkte DTM simuliert werden.
![Page 13: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/13.jpg)
Friedhelm Meyer auf der Heide 13
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätDas 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.
![Page 14: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/14.jpg)
Friedhelm Meyer auf der Heide 14
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätDas Erfüllbarkeitsproblem (Satifiability, SAT)
SAT = { <> | ist erfüllbare Boole‘sche Formel}
Bem: SAT 2 NP
![Page 15: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/15.jpg)
Friedhelm Meyer auf der Heide 15
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätKonjunktive 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}
![Page 16: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/16.jpg)
Friedhelm Meyer auf der Heide 16
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und Komplexitätk-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
![Page 17: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/17.jpg)
Friedhelm Meyer auf der Heide 17
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätCLIQUE
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.
![Page 18: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/18.jpg)
Friedhelm Meyer auf der Heide 18
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätPolynomielle 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)
![Page 19: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/19.jpg)
Friedhelm Meyer auf der Heide 19
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätPolynomielle 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.
![Page 20: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/20.jpg)
Friedhelm Meyer auf der Heide 20
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätNP-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.
![Page 21: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/21.jpg)
Friedhelm Meyer auf der Heide 21
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätNP-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.
![Page 22: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/22.jpg)
Friedhelm Meyer auf der Heide 22
HEINZ NIXDORF INSTITUTUniversitä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
![Page 23: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/23.jpg)
Friedhelm Meyer auf der Heide 23
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätDie 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
![Page 24: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/24.jpg)
Friedhelm Meyer auf der Heide 24
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätDer 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)
![Page 25: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/25.jpg)
Friedhelm Meyer auf der Heide 25
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätBeweis
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
![Page 26: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/26.jpg)
Friedhelm Meyer auf der Heide 26
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätBeweis
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.
![Page 27: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/27.jpg)
Friedhelm Meyer auf der Heide 27
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätBeweis
w 2 L , M akzeptiert w , M gestartet mit 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 .
![Page 28: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/28.jpg)
Friedhelm Meyer auf der Heide 28
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätBeweis
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.
![Page 29: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/29.jpg)
Friedhelm Meyer auf der Heide 29
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätWeitere 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‘
![Page 30: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/30.jpg)
Friedhelm Meyer auf der Heide 30
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätWeitere 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:
![Page 31: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/31.jpg)
Friedhelm Meyer auf der Heide 31
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätWeitere 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
![Page 32: Die Klasse NP](https://reader036.vdocuments.net/reader036/viewer/2022062519/56815069550346895dbe6838/html5/thumbnails/32.jpg)
Friedhelm Meyer auf der Heide 32
HEINZ NIXDORF INSTITUTUniversität Paderborn
Algorithmen und KomplexitätWeitere 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}