Verifizieren versus Berechnen

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen für das Erfüllbarkeitsproblem SAT
Advertisements

Christian Scheideler SS 2009
Christian Schindelhauer
Schwierigkeit von Aufgabenstellungen
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Kontextfreie Grammatiken
Planares 3 SAT ist NP-vollständig
Marco Barz Seminar über Algorithmen SoSe2007
Einführung in Berechenbarkeit und Formale Sprachen
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Notationen A = ist eine endliche, nichtleere menge,
Grammatiken, Definitionen
Einige entscheidbare bzw. rekursiv aufzählbare Sprachen
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Grammatiken beschreiben Sprachen L µ *, indem.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Reduktionen Def: L · L (L ist reduzierbar auf.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Universelle Turingmaschinen Eine universelle Turingmaschine.
Programmiertechniken: Zustand fungiert als „endlicher Speicher“
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Algorithmen und Komplexität
Christian Schindelhauer
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Approximationsalgorithmen …liefern in polynomieller.
Einführung in Algorithmen und Komplexität
Klaus Volbert 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Sommersemester 2004.
Christian Schindelhauer
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
Christian Schindelhauer
Algorithmentheorie 04 –Hashing
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Algorithmen und Komplexität
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Informatik III Christian Schindelhauer Wintersemester 2006/07
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Informatik III Christian Schindelhauer Wintersemester 2006/07
Informatik III Christian Schindelhauer Wintersemester 2006/07
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Arne Vater Wintersemester 2006/ Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Arne Vater Wintersemester 2006/ Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Arne Vater Wintersemester 2006/07 26.
Algorithmen für das Erfüllbarkeitsproblem SAT
Wintersemester 2005 / Vorlesung
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VI Christian Schindelhauer
Komplexitätstheorie Beispiel Matrixmultiplikation  Eingabe: Zwei nn-Matrizen A und B,  Ausgabe: die nn-Matrix C := A · B.  n²-mal "Zeile-mal-Spalte"
 Präsentation transkript:

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!

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.

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“

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}

Über NP P µ NP - Offenes Problem: P NP?

Nichtdeterministische Turingmaschinen

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.

Rechnungen einer NTM Berechnungsbaum einer NTM bei Eingabe w

Laufzeit von NTMs

Nichtdeterministische Komplexitätsklassen

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.“

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

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.

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

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}

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

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.

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)

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.

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.

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.

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

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

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)

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

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.

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 .

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.

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‘

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:

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

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}