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

Preview:

Citation preview

BeweissystemeHartmut Klauck

Universität FrankfurtWS 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

Literatur

• Verschiedene Übersichtsartikel• Siehe Webseite zur Vorlesung:

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

Übungszettel

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

• Trotzdem dringend zur Bearbeitung empfohlen

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

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

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

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)

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

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?

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

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

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.

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

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

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

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

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

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?

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

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.

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

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.

Recommended