Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 20.12."—  Präsentation transkript:

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

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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

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

11 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

12 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

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

14 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

15 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

16 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)

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

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

19 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

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

21 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


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

Ähnliche Präsentationen


Google-Anzeigen