Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 20.12.

Slides:



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

Polynomial Root Isolation
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Planares 3 SAT ist NP-vollständig
Marco Barz Seminar über Algorithmen SoSe2007
Verifizieren versus Berechnen
Algorithmen und Komplexität
Christian Schindelhauer
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
Kapitel 5 Stetigkeit.
Christian Schindelhauer
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
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
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
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/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
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.
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.
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.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Arne Vater Wintersemester 2006/07 26.
 Präsentation transkript:

Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/

Orakel SAT Theorem 10.1 Orakel-3-SAT ist NEXP-vollständig. Beweis: –Offensichtlich liegt Orakel-3-SAT in NEXP –Es ist weiterhin eine (in polynomieller Zeit berechenbare) Reduktion von jeder Sprache L in NEXP auf Orakel 3-SAT zu zeigen.

Die Reduktion Gegeben sei eine Sprache L aus NEXP Wir können die Konstruktion aus dem Satz von Cook anwenden und erhalten zu jeder Eingabe eine exponentiell lange 3-KNF in, die genau dann erfüllbar ist, wenn x in L Es gebe 2 s Variablen in für s=poly(n),|x|=n Die Variablen seien y(B) für B 2 {0,1} s Es gibt 2 3s+3 mögliche Klauseln mit 3 Literalen Wir schreiben Klauseln als c(B 1,B 2,B 3,F)= (F 1 © y(B 1 )) _ (F 2 © y(B 2 )) _ (F 3 © y(B 3 )) © bezeichne die Parität, und F kodiert Negation der Variablen in der Klausel B i indiziert die i-te Variable Wir setzen c(F,T)= (F 1 © T 1 ) _ (F 2 © T 2 ) _ (F 3 © T 3 ), eine Boolesche Formel in 6 Variablen

Die Reduktion Zu gegebenen Belegungen von B 1,B 2,B 3,F kann in polynomieller Zeit bestimmt werden, ob c(B 1,B 2,B 3,F) eine Klausel in der Formel ist q(x, B 1,B 2,B 3,F) sei ein Prädikat, das dies anzeigt D.h. x 2 L genau dann wenn es eine Boolesche Funktion A:{0,1} s {0,1} gibt, so dass für alle B 1 B 2 B 3 2 {0, 1} 3s und F 2 {0,1} 3 gilt: c(F,T) _: q(x, B 1,B 2,B 3,F) wird erfüllt wenn T i =A(B i ) für i=1,2,3 A entspricht der erfüllenden Belegung von, als Funktion kompakt dargestellt, c(F,A(B 1 ),A(B 2 ),A(B 3 )) bedeutet Klausel c(B 1,B 2,B 3,F) wird erfüllt, jede Klausel wird entweder erfüllt oder ist nicht in vorhanden c (F,T) _: q(x, B 1,B 2,B 3,F) ist bis auf den q() Teil eine Boolesche Formel

Die Reduktion q(x, B 1,B 2,B 3,F) liegt in P, damit auch in NP D.h. nach dem Satz von Cook gibt es eine 3-KNF e(x, B 1,B 2,B 3,F, U), mit: e(x, B 1,B 2,B 3,F, U) ist erfüllbar gdw q(x,B 1,B 2,B 3,F) wahr ist; U enthält neue Variablen aus der Reduktion gemäß dem Satz von Cook q(x, B 1,B 2,B 3,F)=0 ist äquivalent dazu, dass : e(x, B 1,B 2,B 3,F, U) von allen U erfüllt wird Unsere Boolesche Formel ist schließlich d(B 1,B 2,B 3,F,U,T) =c(F,T) _: e(x, B 1,B 2,B 3,F,U) Die Variablen sind F (3 Variablen), T (3 Variablen), B 1,B 2,B 3 (3s Variablen), U (poly(n) Variablen); U und F entsprechen den r Z-Variablen aus der Definition von Orakel-3-SAT d wird von einer Funktion A Orakel-erfüllt, wenn für alle Belegungen von B 1,B 2,B 3 und F,U gilt dass d(B 1,B 2,B 3,F,U,T) wahr ist wenn T i =A(B i ) für i=1,2,3 Nach obigem existiert ein A, das d Orakel-erfüllt gdw. x 2 L

Die Reduktion Damit haben wir eine Reduktion von einer beliebigen Sprache in NEXP auf Orakel 3-SAT Die Reduktion kann leicht in polynomieller Zeit in der Länge von ausgeführt werden

Arithmetisierung Wir wollen wieder mit Arithmetisierung arbeiten Gegeben ist also eine Instanz, r,s des Orakel-3-SAT Problems ist eine Boolesche Formel mit r+3s+3 Variablen

Arithmetisierung Lemma 10.2: –In polynomieller Zeit können wir einen arithmetischen Ausdruck für ein Polynom g mit ganzzahligen Koeffizienten bestimmen, so dass –A Orakel-erfüllt gdw. B1,B2,B3,F,U 2 {0,1} 3s+r g(B 1,B 2,B 3,F,U,A(B 1 ),A(B 2 ),A(B 3 ))=0

Beweis Wir arithmetisieren und erhalten ein Polynom h Wir setzen g=(1-h) 2 + T 1 2 (T 1 -1) 2 +T 2 2 (T 2 -1) 2 +T 3 2 (T 3 -1) 2 g(B 1,B 2,B 3,F,U,T)=0 gdw h(B 1,B 2,B 3,F,U,T)=1 und T 1,T 2,T 3 2 {0,1} Damit erzwingen wir, dass A (für T i eingesetzt) Boolesche Werte hat Immer gilt: g(B 1,B 2,B 3,F,U,T) ¸ 0

Beweis B1,B2,B3,F,U 2 {0,1} 3s+r g(B 1,B 2,B 3,F,U,A(B 1 ),A(B 2 ),A(B 3 ))=0 bedeutet: für alle Booleschen Belegungen der Variablen in B 1,B 2,B 3,F,U gilt, dass g(B 1,B 2,B 3,F,U,A(B 1 ),A(B 2 ),A(B 3 ))=0 Das bedeutet h(B 1,B 2,B 3,F,U,A(B 1 ),A(B 2 ),A(B 3 ))=1 und A(B i ) Boolesch Also: wird vom (Booleschen) A Orakel-erfüllt.

Multilinearität Wir wollen also den Ausdruck B1,B2,B3,F,U 2 {0,1} 3s+r g(B 1,B 2,B 3,F,U,A(B 1 ),A(B 2 ),A(B 3 ))=0 testen A sei von einem Orakel gespeichert Um unseren Ansatz weiterzuverfolgen, müssen wir auch A als ein Polynom betrachten Dieses Polynom soll zudem kleinen Grad haben

Multilinearität Ein Polynom in s Variablen heißt multilinear, wenn der Grad jeder Variable 1 ist (z.B. xyz+2 yz ist multilinear, x 2 nicht) Lemma 10.3 –Jede Funktion A:{0,1} s {0,1} kann als multilineares Polynom p A dargestellt werden, d.h. p A (b)=A(b) für alle b 2 {0,1} s –Diese Darstellung ist eindeutig

Beweis Setze p A (x 1,…,x s )=

Unser Ansatz Wir erwarten in unserem Beweissystem das Polynom p A zu einer Funktion A, die Orakel-erfüllt Dieses Polynom soll multilinear sein Wenn das der Fall ist, können wir so vorgehen, wie im IP Protokoll für TAUT Die Multilinearität von p A garantiert, dass wir insgesamt mit Polynomen von kleinem Grad arbeiten Problem: Der Beweiser kann mogeln, indem er ein Polynom von hohem Grad anstellt p A angibt Dieses Problem führt uns dazu, zu einer als Orakel gegebenen Funktion zu testen, ob sie nah an einem multilinearen Polynom ist

Der Ansatz Wir werden nicht direkt ein PCP beschreiben, sondern ein Mittelding zwischen PCPs und MIPs In unserem Modell gibt es zwei Beweiser –Der eine ist ein gewöhnlicher interaktiver Beweiser –Der andere ist ein Orakel wie in einem PCP Dieses Modell ist gleich mächtig wie MIP und wie PCP(poly,poly) Beweiser P 1 spielt die Rolle des Beweisers im TAUT Protokoll Beweis P 2 enthält die Funktion p A als Orakel

Der Ansatz Das TAUT Protokoll testet Ausdrücke wie unseren, aber nun ist noch A im Spiel Wir wollen verifizieren, dass B1,B2,B3,F,U 2 {0,1} 3s+r g(B 1,B 2,B 3,F,U,p A (B 1 ),p A (B 2 ),p A (B 3 ))=0 Dabei ist g( ) ein Polynom vom Grad d=poly(n), wenn p A multilinear ist q sei eine genügend große Primzahl, wir rechnen modulo q, q · exp(poly(n)) Sei I={0,…,q-1)

Die Rolle von P 2 P 2 soll p A speichern Dabei werden alle Werte von p A auf I s gespeichert, also nicht nur auf den Booleschen Werten {0,1} s Der Verifizieren kann also durch Frage nach einem Element von I s den Wert von p A an dieser Stelle ermitteln Dies trifft für den ehrlichen Beweiser zu, für unehrliche Beweiser können beliebige Werte gespeichert sein.

Das Protokoll (Skizze) 1.Der Verifizierer testet mit P 2, ob p A nah an einem multilinearen Polynom ist. 2.Die Beweiser behaupten B1,B2,B3,F,U 2 {0,1} 3s+r g(B 1,B 2,B 3,F,U,p A (B 1 ),p A (B 2 ),p A (B 3 ))=K 3.Wir durchlaufen alle Variablen in B 1,B 2,B 3,F,U und belegen diese mit Körperelementen 4.Wenn keine Variable mehr frei ist, testet der Verifizierer ob g(B 1,B 2,B 3,F,U, p A (B 1 ), p A (B 2 ), p A (B 3 ))=K (akzeptiere wenn wahr, sonst verwerfe), dies benötigt drei Fragen an P 2 5.Sonst: Beweiser sendet ein univariates Polynom s vom Grad höchstens d Dies ist durch d+1 Körperelemente gegeben 6.Verifizierer testet s(0)+s(1)=K (verwirft falls nicht) 7.Verifizierer zieht ein zufälliges a aus I 8.Rekursiv wird nun getestet, ob s(a)= B1,B2,B3,F,U 2 {0,1} 3s+r-1 g(B 1,B 2,B 3,F,U,A(B 1 ),A(B 2 ),A(B 3 )) mit a substituiert für die erste der 3s+r Variablen.

Bemerkungen Es gibt ab Schritt 2 nur 3s+r=poly(n) Runden In jeder Runde sendet der Beweiser ein Polynom vom Grad d=poly(n) Der Verifizierer sendet ein a<q mit poly(n) Bits

Multilinearitätstest Wir müssen Schritt 1 spezifizieren Definition 10.4 A,B seien Funktion auf einer endlichen Menge X. A -approximiert B, wenn die Anzahl der x 2 X mit A(x) B(x) kleiner als |X| ist. Wir sagen eine Funktion A(x 1,…,x s ) ist -approximativ multilinear, wenn sie eine multilineare Funktion -approximiert.

Multilinearitätstest Theorem 10.5 Es gibt einen Algorithmus, der zu einer als Orakel gegebenen Funktion A in s Variablen folgendes leistet: –Sei I={0,…,q-1}, k eine Konstante –Wenn A multilinear ist und ganzzahlige Werte hat, dann akzeptiert der Algorithmus immer –Wenn A nicht s -k -approximativ multilinear ist, verwirft der Algorithmus mit hoher Ws. –Der Algorithmus stellt poly(s) viele Fragen