Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Verifizieren versus Berechnen

Ähnliche Präsentationen


Präsentation zum Thema: "Verifizieren versus Berechnen"—  Präsentation transkript:

1 Verifizieren versus Berechnen
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 Ein Verifizierer für TSP ist eine TM die bei Eingabe
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 Beobachtung: NTM kann bei fester Eingabe w 2 *
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= { <> |  ist erfüllbare Boole‘sche k-SAT Formel}
Bem: k-SAT 2 NP für jedes k. Satz : 2-SAT 2 P

17 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 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 Def. : L heißt NP-vollständig, falls gilt: L 2 NP
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 Sei L 2 NP, M=(Q, , , ) eine NTM, die L in Zeit
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 Berechne aus Eingabe w, |w|=n, eine Formel ,
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 Variablen von  und ihre Bedeutung.
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 S(V1) : wird genau für die Belegung von V1 wahr, die q0 w beschreibt.
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 M gestartet mit w hat akzeptierende Rechnung ,
Beweis 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 .

28 hat O(T²) =O(t(n)²) Variablen, und Länge O(T³) = O(t(n)³).
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}


Herunterladen ppt "Verifizieren versus Berechnen"

Ähnliche Präsentationen


Google-Anzeigen