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

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

Upload: kerstin-schneidman

Post on 05-Apr-2015

105 views

Category:

Documents


1 download

TRANSCRIPT

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

BeweissystemeHartmut Klauck

Universität FrankfurtWS 06/07

18.10.

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

Organisatorisches

• Vorlesung: Mittwoch 12-14 ct SR 11• Schein:

– Gebiet T2– Durch Fachgespräch

• Voraussetzung: Vordiplom• Vorkenntnisse:

– Wahrscheinlichkeitstheorie– (Lineare) Algebra– Komplexitätstheorie

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

Literatur

• Verschiedene Übersichtsartikel• Siehe Webseite zur Vorlesung:

– http://www.thi.informatik.uni-frankfurt.de/~klauck/BS06.html

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

Übungszettel

• Es wird regelmäßig Übungszettel geben, diese werden jedoch nicht korrigiert

• Trotzdem dringend zur Bearbeitung empfohlen

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

I) Einleitung

• Was heißt es, formal etwas zu beweisen?– Wir benötigen eine Aussage– Und einen zugehörigen Beweis

• Was sind die Anforderungen an Aussagen?– Aussagen müssen „formal“ aufgeschrieben sein– Verschiedene Logiken

• Und an Beweise?:– Formale Beweise werden oft ausgehend von

bekannten Tatsachen („Axiomen“) in „kleinen“ Schritten die gewünschte Aussage „ableiten“

– Logische Kalküle

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

Einleitung• Beispiel: Aussagenlogik• Definition:

– Gegeben sind Variablen x1,…,xn mit möglichen Werten 0/1– Eine Formel ist so gegeben:

• xi ist eine Formel• Wenn f,g Formeln sind, dann auch : f, f_g und f^ g• Nicht, Und, Oder

• Aussagen: Formel f ist eine Tautologie, d.h. wird von allen Belegungen erfüllt

• Vergleiche SAT Problem: Es gibt eine erfüllende Belegung

• „Axiome“ und „Beweise“ in diesem Fall: es gibt verschiedene Systeme von Tautologien und Schlussregeln, mit denen man neue Tautologien herleiten kann

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

Einleitung• Beispiel: Resolutionskalkül• Wir wollen beweisen, dass eine aussagenlogische Formel in

disjunktiver Normalform eine Tautologie ist, d.h. für alle Belegungen der Variablen wahr ist

• Dazu beweisen wir, dass : f nicht erfüllbar ist• : f ist eine Formel in konjunktiver Normalform• Wir haben also eine Menge von Klauseln, und verwenden

folgende Regel, um neue Klauseln herzuleiten:– Wenn a1_…_ al und b1_…_ bm mit ai=: bj

– Dann gilt auch a1_ … _ ai-1_ ai+1_ …_ al_ b1 _ … _ bj-1_ bj+1_ …_ bm

– Wende diese Regel an, bis die leere Klausel hergeleitet ist: KNF ist dann nicht erfüllbar

• Für jede Formel anwendbar, nicht nur für DNF: jede aussagenlogische Formel f kann effizient in eine KNF g überführt werden, so dass f erfüllbar gdw g erfüllbar

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

Einleitung

• Komplexeres System:– Erlaube Quantoren, d.h. Formeln der Form

• 9 x18x2 : x1 _ x2

• Ausdrucksstärkere Schreibweise für Aussagen

• Aussagenlogik ist Spezialfall: Aussagen/Tautologien haben die Form 8 x1,…,xn: f(x1,…,xn)

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

Einleitung

• Eine Allgemeine Definition:– Beweissystem:

• Sei Lµ {0,1}* eine Sprache („Menge der wahren Aussagen“)

• Ein Beweissystem für L ist ein Algorithmus V, der auf Eingaben x aus {0,1}* und y aus {0,1}* folgendes leistet:

– Wenn x2 L, dann gibt es ein y, so dass x # y akzeptiert wird

– Wenn x nicht 2 L, dann wird für kein y die Eingabe x#y akzeptiert

– Y ist der Beweis• Ein Beweissystem ist effizient, wenn der Algorithmus V

in polynomieller Zeit arbeitet.• V ist ein Verifizierer

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

Einleitung

• Fragen der Vorlesung:– Welche Sprachen haben effiziente Beweisssysteme?– Was passiert, wenn wir unsere Anforderungen ändern

• Z.B. Wenn wir nur mit hoher Wahrscheinlichkeit überzeugt werden wollen

• Wenn wir fordern, dass der Verifizierer außer der Gültigkeit der Aussage keine weitere Information aus dem Beweis ableiten kann?

• Wenn Beweiser und Verifizierer einen Dialog führen dürfen?• Wenn es mehrere Beweiser gibt, die nicht miteinander

sprechen dürfen?– Was sind die Grenzen konkreter Beweissysteme?

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

Einleitung

• Beispiel für einige Ergebnisse in der Vorlesung:– Alice hat ein Sudoku Puzzle gelöst. Bob hat sich

ebenfalls versucht, ist jedoch nicht überzeugt dass das Puzzle lösbar ist.Kann Alice Bob überzeugen, ohne ihm die Lösung zu zeigen?

– Alice sollte ein N£ N Sudoku als Aufgabe lösen. Bob will die Lösung prüfen ist aber zu faul, die gesamte Lösung zu lesen. Alice kann, mit geringem Mehraufwand, ihre Lösung so präsentieren, dass Bob nur 3 Bits (!) der Lösung lesen muss (unter Verwendung von Zufall), und:

• Jede richtige Lösung akzeptiert• Falsche Lösungen mit Wahrscheinlichkeit ½ erkennt

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

Themen

• Deterministische Beweissysteme– NP, co-NP

• Probabilistische Beweissysteme– Arthur Merlin Beweise– Zero-Knowledge Beweise– Generelle interaktive Beweise– Multiprover Systeme– PCP‘s

• Anwendungen von PCP‘s• Konkrete Beweissysteme:

– Resolutionskalkül

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

Deterministische Beweissysteme

• Zunächst benötigen wir ein universelles Berechnungsmodell

• Zur Erinnerung, eine Turingmaschine ist gegeben durch eine endliche Menge Q von

Zuständen, einen Startzustand q0, eine Menge von akzeptierenden Zuständen Aµ Q,

eine Menge R von verwerfenden Zuständen und eine Transitionsfunktion: {0,1}£ Q! Q£{0,1}£ {-1,0,1}

• Eine Berechnung startet mit der Eingabe x auf dem Band, einem Zeiger i auf x1, und

Zustand q0

• In jedem Schritt wird der Bandinhalt in Zelle i mit dem gegenwärtigen Zustand auf den neuen Zustand, den neuen Inhalt des Bandes in Zelle i und der Änderung von i abgebildet

• Die Berechnung endet, wenn ein Zustand in A [ R erreicht wird und es wird akzeptiert in A, verworfen in R

• Eine Turingmaschine hat polynomielle Laufzeit, wenn es eine Konstanten c,k gibt so dass für jede Eingabe x der Länge n die Laufzeit durch cnk beschränkt ist.

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

Deterministische Beweissysteme

• Sei Lµ {0,1}* eine Sprache.• L hat ein effizientes Beweissystem, wenn es eine

Turingmaschine V gibt, die bei Eingabe von x#y in polynomieller Zeit folgendes leistet:– Wenn x2 L, dann gibt es ein y, so dass x#y akzeptiert wird– Wenn x nicht 2 L, dann gilt für jedes y: x#y wird nicht

akzeptiert.• Beobachtung/Definition:

– Die Menge der Sprachen mit effizientem Beweissystem ist die Klasse NP

• D.h. wenn P NP, dann ist es eventuell schwer einen Beweis zu finden, aber für alle Sprachen in NP sind Beweis einfach zu verifizieren

• Bemerkung: Die Eigenschaft, für jede wahre Aussage/Eingabe in L einen Beweis zu haben, nennt man Vollständigkeit. Die Eigenschaft, für keine falsche Eingabe einen Beweis zu haben, nennt man Korrektheit

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

Deterministische Beweissysteme

• Definition: co-NP ist die Klasse aller Sprachen, deren Komplement in NP liegt– D.h. wir können für Sprachen in co-NP effizient beweisen, dass

eine Eingabe x nicht zur Sprache gehört.• Definition: TAUT sei die Menge der Tautologien der

Aussagenlogik, d.h. die Menge der Formeln, die für alle Belegungen wahr sind; UNSAT die Menge der nicht erfüllbaren Formeln

• Definition:Ein Beweissystem für die Aussagenlogik ist ein Beweissystem für die Menge TAUT

• Theorem: Es gibt ein effizientes Beweissystem für die Aussagenlogik gdw NP=coNP

• Bemerkung: NP=co-NP ist eine schwächere Anforderung als P=NP, d.h. etwas weniger unwahrscheinlich

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

Deterministische Beweissysteme

• Theorem: Es gibt ein effizientes Beweissystem für die Aussagenlogik gdw NP=coNP

• Beweis:– f2 TAUT , : f 2 UNSAT, : f nicht 2 SAT

– D.h. TAUT und UNSAT sind beide co-NP vollständig unter Polynomialzeitreduktionen

• Denn: sei L ein Problem in co-NP, G eine Funktion, die das Komplement von L auf SAT reduziert.

• Es gilt x2 L , x nicht 2 co-L, G(x) nicht 2 SAT , : G(x)2 TAUT

• Damit ist G‘(x)=: G(x) eine Reduktion von L auf Taut

– Daher gilt TAUT2 NP gdw NP=co-NP

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

Deterministische Beweissysteme

• Wir können also bereits schließen, dass es wahrscheinlich nicht möglich ist, effizient zu beweisen, dass eine aussagenlogische Formel eine Tautologie ist.

• Konkrete Beweissysteme wie Resolution habe exponentiell lange Beweise für manche Formeln

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

Interaktive Beweise

• Wir wollen zunächst den Begriff der Interaktivität im deterministischen Fall betrachten.

• NP-Beweis:

• Intuitiv kann ein Beweis auch so aussehen, dass sich Beweiser und Verifizierer in einem Gespräch austauschen, bis der Verifizierer „überzeugt“ ist

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

Interaktive Beweise• Formaler:• Beweiser P und Verifizierer V• Beide sehen die Eingabe x• V ist polynomiell Zeitbeschränkt, P ist nicht in seiner

Berechnungskraft beschränkt• P erzeugt eine Nachricht m1 (abhängig von x) mit

polynomieller Länge• V erzeugt eine Nachricht m2 (abhängig von x, m1)• usw.• Nach k Runden:• V akzeptiert oder verwirft, abhängig von (x,m1,…,mk)

• FRAGE: können wir jetzt mehr Sprachen beweisen?

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

Interaktive Beweise

• Anwort:• Theorem:

– Deterministische interaktive Beweise gibt es nur für Sprachen in NP

• Beweis:– Der Beweiser kann den ganzen Dialog allein

erzeugen, und zum Verifizierer V schicken– V testet, ob seine Nachrichten korrekt

berechnet sind, und ob der Dialog „akzeptabel“ ist

– Damit reicht eine Runde, d.h. ein normaler NP-Beweis

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

Interaktive Beweise

• Interaktion hilft also nicht?

• Antwort ist: Interaktion hilft, wenn wir Zufall in das System bringen, d.h. wenn wir als Verifizierer einen randomisierten Algorithmus verwenden.

• Obige Simulation funktioniert nicht mehr, weil der Verifizierer unabhängig vom Beweiser Münzwürfe verwendet.

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

Randomisierung und Beweise

• Ein Beispiel• Im Graph Isomorphismus Problem GI sind zwei

Graphen gegeben, und es soll entschieden werden, ob diese isomorph sind, d.h. ob es eine Permutation der Knoten gibt, so dass beide Graphen gleich sind

• GI2 NP, aber kein Polynomialzeitalgorithmus ist bekannt

• Wir betrachten GNI, das Komplement• GNI 2 co-NP, aber es ist nicht bekannt, ob GNI2 NP• Wir zeigen: Es gibt ein randomisiertes interaktives

Beweissystem für GNI

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

Das Protokoll• Eingabe: Graphen G0,G1

– Der Verifizierer zieht ein Zufallsbit b und eine zufällige Permutation von {1,…,n}

– Der Verifizierer sendet H=(Gb) an den Beweiser– Der Beweiser sendet ein Bit a, welches gleich b sein soll– Verifizierer akzeptiert, wenn a=b

• Strategie des ehrlichen Beweisers:– Sende a=0 wenn H isomorph zu G0, sonst a=1

• Vollständigkeit: Wenn G0 nicht iso zu G1, dann kann der Beweiser leicht erkennen, dass H isomorph zu Gb ist, da die Menge der zu G0 isomorphen Graphen disjunkt ist von der Menge der zu G1 isomorphen. Daher sendet er a=b und V akzeptiert.

• Korrektheit: Wenn G0 isomorph zu G1 ist, dann besitzt der Beweiser keinerlei Information über b, wird also b nur mit Erfolgswahrscheinlichkeit ½ raten können– Formaler: Für alle Beweiser gilt: die Verteilung der Nachricht

des Verifizierers ist gleich für b=0 und b=1.