beweissysteme hartmut klauck universität frankfurt ws 06/07 6.12

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

Upload: reginhard-leese

Post on 05-Apr-2015

107 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

Beweissysteme

Hartmut KlauckUniversität Frankfurt

WS 06/076.12.

Page 2: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

Multiprover Systeme

• Wir betrachten nun Beweissysteme mit mehreren Beweisern

• Dies macht nur Sinn, wenn wir interaktive Beweise betrachten, da sonst die Beweise der verschiedenen Beweiser einfach konkateniert werden könnten und man einen normalen nichtinteraktiven Beweiser erhalten würde

Page 3: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

Multiprover Systeme• Definition 8.1• Seien k Beweiser als unbeschränkt mächtige Maschinen gegeben• Der Verifizierer V sei eine probabilistische Polynomialzeitmaschine• Vor Beginn des Protokolls dürfen die Beweiser beliebig ihre

Strategie abstimmen, zu diesem Zeitpunkt kennen Sie aber die Eingabe noch nicht (die zu beweisende Aussage)

• Dann erhalten die Beweiser und der Verifizierer die Eingabe und nun dürfen die Beweiser nicht mehr miteinander kommunizieren.

• Formal sind die Beweiser Funktionen, die die bisher gesehenen Nachrichten, und die Eingabe auf eine neue Nachricht polynomieller Länge abbilden

• Der Verifizierer ist eine in Polynomialzeit berechenbare Funktion, die die Eingabe und die bisherigen Nachrichten auf eine neue Nachricht und einen Index eines der k Beweiser abbildet, oder akzeptiert/verwirft

• D.h. Der Verifizierer bestimmt eine neue Nachricht und deren Empfänger, oder akzeptiert/verwirft. Insgesamt darf es polynomiell viele Nachrichten geben.

Page 4: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

MIP

• Wir sagen eine Sprache L liegt in MIP, wenn ein solches Beweissystem mit den üblichen Korrektheits/Vollständigkeitsanforderungen existiert

• MIP(k) sei dieselbe Klasse, wenn es nur k Beweiser gibt

Page 5: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

MIP

• Klar: IP=PSPACEµMIP• Wir werden zeigen: MIP=NEXP

– NEXP: Klasse der Sprachen, für die ein deterministisches Beweissystem existiert mit einem Verifizierer der in Zeit exp(poly(n)) arbeitet.

Page 6: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

NEXP

• NEXP: Klasse der Sprachen, für die ein deterministisches Beweissystem existiert mit einem Verifizierer der in Zeit exp(poly(n)) arbeitet.

• Alternativ: Sprachen, die durch nichtdeterministische Turingmaschinen mit exponentieller Laufzeit akzeptiert werden können

• NP½ NEXP• NP NEXP durch nichtdeterministischen

Zeithierarchiesatz

Page 7: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

Sequentielles Boosting• Theorem 8.2:

– Wenn L2 MIP, dann gibt es ein MIP Beweissystem mit Vollständigkeit und Korrektheit 1-1/2n

• Gegeben ein MIP System mit Vollständigkeit und Korrektheit 2/3.

• Wiederhole das Protokoll t=O(n) mal und akzeptiere/verwerfe je nach Mehrheit der Ergebnisse

• Bemerkung: Die t „Läufe“ sind nicht notwendigerweise unabhängig, da der Beweiser abhängig von vorherigen Läufen seine Strategie ändern kann

• Da aber die Korrektheit und Vollständigkeit für alle Beweiserstrategien gelten, gelten sie auch in jedem Lauf

• Wir können daher Abschätzungen verwenden, bei denen die Läufe als unabhängig betrachtet werden, wie Chernoff

Page 8: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

Sequentielles Boosting• Genauere Version 8.2:

– Wenn L ein MIP System mit Vollständigkeit c, Korrektheit s, ist, und =c-1+s>1/poly(n), dann gibt es ein MIP System für L mit Korrektheit und Vollständigkeit 1-1/2n

• Beweis:– Wiederhole t=12n/2 mal– Wenn x2 L, so wird erwartet ct mal akzeptiert– Sonst erwartet (1-s)t mal– Die Wahrscheinlichkeit, dass (fälschlich) mehr als

(1-s)t+t/2 mal akzeptiert wird kann mit Chernoff beschränkt werden

– Ebenso die Wahrscheinlichkeit, dass (fälschlich) weniger als ct-t/2 mal akzeptiert wird

– Der (neue) Verifizierer wird also akzeptieren, wenn mindestens ct-t/2=(1-s)t+t/2 mal akzeptiert wird

Page 9: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

MIP

• Chernoff: Wenn x1,…,xt unabhängige Boolesche Zufallsvariablen mit Prob(xi=1)¸ c sind, so gilt

Prob( xi · ct-ct)· exp(-2ct/2)

• Wenn x1,…,xt unabhängige Boolesche Zufallsvariablen mit Prob(xi=1)· c sind, so gilt

Prob( xi¸ ct+ct)· exp(-2ct/3)für 0·· 1

• Für uns: =/(2c)• Damit ist der Fehler · 2exp(-2/(12c)t)·exp(-n).• Chernoff gilt auch, wenn statt Unabhängigkeit gilt, dass

Prob(xi=1)¸ c, wenn alle xj für j i beliebig festgelegt sind.

Page 10: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

Paralleles Boosting• Was, wenn wir k Berechnungen des MIP Systems parallel

ausführen?• Nehmen wir an L habe ein MIP System mit einer Runde• Betrachte folgendes System: Verifizierer sendet jeweils k

Nachrichten zusammen an die Beweiser, welche mit k Nachrichten antworten

• Die Beweiser können versuchen, die k parallelen Abläufe zu korrelieren, d.h. Unabhängigkeit ist nicht gegeben.

• Tatsächlich kann man aber zeigen, das paralleles Boosting auch funktioniert, aber Beweis ist extrem technisch

• Die Wahrscheinlichkeit, eine Eingabe falsch zu akzeptieren kann deutlich größer als 2-(k) sein

Page 11: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

Eine Charakterisierung von MIP

• Wir wollen MIP nun einfacher charakterisieren

• Dazu brauchen wir den Begriff eines PCP

• Probabilistically checkable proof• Ein PCP ist ein langer,

nichtinteraktiver Beweis, von dem wir zufällig kleine Teile lesen, um auf die Korrektheit des ganzen zu testen

Page 12: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

PCP• Definition 8.3

– Ein PCP Beweissystem besteht aus einem randomisierten Verifizierer mit polynomieller Laufzeit

– Der Beweis p ist eine Funktion der Eingabe x, d.h. nicht interaktiv

– Der Verifizierer kann auf den Beweis durch ein Orakel zugreifen, d.h. kann Fragen nach Bit/Zeichen i des Beweises stellen.

– Ein PCP für eine Sprache L mit Vollständigkeit c und Korrektheit s erfüllt:

• Wenn x2 L dann gibt es einen Beweis, der mit Ws c akzeptiert wird• Wenn x nicht 2 L, dann gilt für alle Beweise, dass mit Ws s nicht

akzeptiert wird– Eine Sprache L liegt in PCP(r(n),q(n)), wenn es ein PCP für L gibt,

so dass auf Eingaben der Länge n der Verifizierer r(n) Zufallsbits verwendet, und q(n) Bits des Beweises inspiziert, und in Zeit poly(n+q(n)+r(n)) arbeitet

• Bemerkung:– Der Verifizierer wird i.A. nur einen kleinen Teil des Beweises

ansehen!

Page 13: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

PCP

• Bemerkung:– Wenn L2 PCP(r(n), q(n)), dann gibt es

2r(n) verschiedene Berechnungen des Verifizierers (auf fester Eingabe/festem Beweis)

– In jeder der Berechnungen liest der Verifizierer nur q(n) Bits

– Daher ist der Beweis O.B.d.A. in der Länge durch 2r(n) q(n) beschränkt

Page 14: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

Beispiel für ein PCP

• Graph-Nichtisomorphismus• GNI2 PCP(poly(n),1)

– G0,G1 seien Eingabegraphen mit n Knoten– Der Beweis enthält für jeden Graphen H mit n

Knoten ein Bit p(H)– p(H)=i wenn H isomorph zu Gi

– Wenn H nicht isomorph zu einem Gi, ist p(h) beliebig

– Der Verifizierer zieht ein zufälliges Bit b und eine zufällige Permutation der Knoten und fragt nach p((Gb))

– Verifizierer akzeptiert, wenn p((Gb))=b

Page 15: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

Beispiel für ein PCP

• Der Verifizierer zieht ein zufälliges Bit b und eine zufällige Permutation der Knoten und fragt nach p((Gb))

• Der Verifizierer akzeptiert, wenn p((Gb))=b• Wenn G0 nicht isomorph zu G1 ist, dann gibt es einen

Beweis, mit dem der Verifizierer immer akzeptiert.• Wenn G0 isomorph zu G1, dann wird der Verifizierer

unabhängig von b dieselben Stellen jedes „Beweises“ inspizieren, und mit Ws. höchstens 1/2 gilt p((Gb))=b

• Anzahl der Zufallsbits: 1+log(n!)=O(n log n)• Anzahl der Fragen: 1

Page 16: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

Beispiele

• PCP(poly(n),0): Klasse aller Sprachen, die durch randomisierte Algorithmen entschieden werden können

• PCP(0, poly(n)) = NP• PCP(0, exp(poly(n))) = NEXP• PCP(O(1),O(1)) = P• PCP(log log n, O(1)) = P• PCP(O(log n), poly(n)) = NP• PCP(poly(n), poly(n)) = NEXP

Page 17: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

PCP vs. Nichtdeterminismus• NTIME(t(n)): Klasse der Sprachen, die in Zeit t(n) von

nichtdeterministischen TM berechnet werden können• DTIME(t(n)): Klasse der Sprachen, die in Zeit t(n) von

deterministischen TM berechnet werden können

• Theorem 8.4

PCP(r(n),q(n))µNTIME(2r(n)poly(q(n)+r(n)+n))

PCP(r(n),q(n)) µ DTIME(exp(2r(n)(q(n)+1)) ¢ poly(q(n)+r(n)+n)))

• Z.B. PCP(log log n, O(1))= P

Page 18: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

PCP vs. Nichtdeterminismus• Beweis:• Sei L2 PCP(r(n),q(n))• Wir müssen ein deterministisches Beweissystem mit Laufzeit 2r(n)poly(q(n)

+r(n)+n) für den Verifizierer konstruieren.• O.B.d.A. ist der PCP-Beweis von der Länge 2r(n)q(n)• Dieser Beweis bleibt so wie er ist.• Der deterministische Verifizierer durchläuft alle 2r(n) Werte der Zufallsbits

des PCP Verifizierers und simuliert diesen. Dabei wird die Anzahl der akzeptierenden Berechnungen bestimmt.

• Die Laufzeit ist damit 2r(n)poly(q(n)+ r(n)+ n) • Wenn x2 L, dann gibt es einen Beweis p, der mit Ws. 2/3 akz wird• Wenn x nicht in L, dann gilt für alle Beweise, dass diese mit Ws. 2/3

verworfen werden• Diese Wahrscheinlichkeit wird für einen gegebenen Beweis durch den

Verifizierer ermittelt. • Daher erhalten wir L2 NTIME(2r(n)poly(q(n)+ r(n)+ n))• Für die Aussage über DTIME durchlaufen wir ausserdem alle Beweise der

Länge 2r(n)q(n) und bestimmen, ob einer mit hoher Ws. akzeptiert wird.

Page 19: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

Boosting

• Theorem 8.5– Wenn L ein PCP System mit

Vollständigkeit und Korrektheit 2/3, q(n) Fragen und r(n) Zufallsbits hat, dann gibt es ein PCP für L mit Korrektheit und Vollständigkeit 1-1/2k und O(k q(n)) Fragen/ O(kr(n)) Zufall

Page 20: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

MIP vs. PCP

• Wir zeigen:• Theorem 8.6

– A) MIPµ PCP(poly(n), poly(n))– B) PCP(poly(n),poly(n))µ MIP(2)

• Damit folgt auch MIP=MIP(2)

Page 21: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

Beweis• A) Wir zeigen zunächst, dass MIP2 PCP(poly(n), poly(n))• Sei also L 2 MIP• Es gibt ein MIP Beweissystem für L mit höchstens t=ank

Beweisern, Runden, Kommunikation pro Runde.• Wir konstruieren nun den PCP-Beweis.• Der Beweis wird indiziert durch (i,j,l,i,1,…,i,j):

– i: Nummer des Beweisers– j: Nummer der Nachricht – : k-te Nachricht an Beweiser i

• An Stelle (i,j,l,i,1,…,i,j) steht das l-te Bit der j+1-ten Nachricht von Beweiser i an den Verifizierer

• Da die gesamte Kommunikation per Runde nur höchstens t ist, hat der Beweis eine Länge von t3 2t2

• Der PCP Verifizierer simuliert den MIP Verifizierer, und fragt anstelle der Beweiser die entsprechenden Positionen im PCP-Beweis

Page 22: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

Beweis

• Wenn x2 L so gibt es Funktionen für die Beweiser, so dass mit Ws. 2/3 akzeptiert werden kann. Damit gilt dies auch für den PCP-Beweis

• Sei x nicht 2 L. Angenommen, der PCP-Verifizierer akzeptiert einen PCP-Beweis p mit Wahrscheinlichkeit q. Die Beweiser im MIP Protokoll können einfach anhand von p auch im MIP System eine Akzeptanzws. q erreichen, daher ist q· 1/3.

Page 23: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

Beweis• B) PCP(poly,poly)µ MIP(2)• Wir benutzen den ersten Beweiser wie den PCP-Beweiser, und den zweiten,

„um die Geschichte zu prüfen“• Sei also L2 PCP(poly, poly). Wir nehmen Korrektheit und Vollständigkeit 1-

1/2n an• Für x2 L gibt es einen PCP-Beweis p.• „Ehrliche“ Beweiser P1,P2 antworten auf Fragen nach Position i mit p(i)• Der MIP-Verifizierer simuliert den PCP-Verifizierer. Dabei stellt er die Fragen

an P1

• P1 kann nun mogeln, indem er adaptiv antwortet!• Angenommen der PCP-Verifizierer stellt t=ank Fragen an den PCP-Beweis• Der MIP-Beweiser stellt nun eine Frage an P2, und zwar eine zufällige der t

Fragen• Der MIP-Verifizierer verwirft, wenn

– der PCP-Verifizierer verwerfen würde– P1 und P2 nicht übereinstimmen

• Sonst wird akzeptiert

Page 24: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 6.12

Beweis• Wenn x2 L, dann können P1,P2 einfach wie der PCP-Beweis antworten und der

Verifizierer wird mit Ws. 1-1/2n überzeugt.• Wenn x nicht in L, so gibt es zwei Möglichkeiten:

– P1 arbeitet mit einem festen „Beweis“ p (d.h. seine Antworten hängen nicht von vorherigen Fragen ab, auf die Frage i wird er immer mit p(i) antworten).

• In diesem Fall wird wie vom PCP-Verifizierer mit Ws. 1-1/2n verworfen– P1 antwortet abhängig von den vorherigen Fragen auf mindestens eine Frage

unterschiedlich, d.h. für vorherige Fragen i1,…,ik antwortet er auf Frage ik+1 mit u, für vorherige Fragen j1,…,jk mit v.

• Die Antworten von P2 auf alle Fragen ergeben zusammen einen Beweisstring p (da P2 nur jeweils eine Frage erhält und auf dieser eine feste Antwort gibt)

• p wird vom PCP-Verifizierer mit Ws. 1-1/2n verworfen• Angenommen es gilt mit Wahrscheinlichkeit · 1/3, dass P1 auf einer der Fragen von

p abweicht (wobei die Wahrscheinlichkeit über die Randomisierung des Verifizierers läuft).– Dann wird wird mit Ws. ¸ 2/3¢ (1-1/2n) >1/2 verworfen.

• Anderenfalls gilt mit Wahrscheinlichkeit 1/t, dass diese Frage an P2 gestellt und dann verworfen wird, insgesamt also mit Ws. mind. 1/(3t)

• Es wird also immer mit Ws. 1/(3t) verworfen• Wir erhalten also Korrektheit 1/(3t)=1/poly(n) und Vollständigkeit 1-1/2n

• Der „gap“ zwischen 1-(1/3t) und 1-1/2n ist groß genug um zu boosten nach 8.2.