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

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

Embed Size (px)

Citation preview

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

Beweissysteme

Hartmut KlauckUniversität Frankfurt

WS 06/0724.1.

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

NP vs. PCP

• Wir wollen NPµ PCP(poly,O(1)) zeigen• Wir müssen ein Beweissystem für

SAT konstruieren• Wir verwenden ein anderes

vollständiges Problem stattdessen:– Quadratische Gleichungen über Z2

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

Hadamard Codes

• Seien x,y aus Z2n

• x±y := i xiyi mod 2 = ©i xiyi

• Definition Für ein u2 {0,1}n=Z2

n sei die Hadamard Kodierung C(u) die Tabelle der Funktion f(x)=u±x mit x2 Z2

n

• Hadamard Codeworte sind damit genau die linearen Funktionen über

• Lemma [lokale Dekodierbarkeit]Angenommen g sei -approximativ zu f=C(u).Es gibt einen Algorithmus, der mit 2 Fragen an g zu jedem x den Wert f(x) mit Ws. 1-2 bestimmt.

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

Hadamard Codes

• Hadamard Codes haben Distanz 2n/2, bei Codelänge 2n.

• Das bedeutet, dass für uv gilt:– f=C(u) unterscheidet sich von g=C(v) an 50%

der Eingaben, [d.h. f(x)g(x) für 50% aller x]– f(x)=u±x=i ui^xi

• Anders formuliert:– Sei uv– Wenn für eine zufällige Teilmenge Iµ{1,…,n}

alle ui bzw. alle vi mit i2 I addiert werden, unterscheidet sich das Ergebnis mit Ws. 1/2

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

Quadratische Gleichungen

• Eine quadratische Gleichung über Z2 ist von der Formi,jaijuiuj=b für Variablen u1...un mit Koeffizienten ai,j und b aus Z2

• Eine Instanz von QUADEQ ist eine Menge von Gleichungen über Variablen u1,…,un

• Eine Instanz ist erfüllbar, wenn alle Gleichungen simultan erfüllbar sind [durch eine Belegung von (u1,…,un) aus Z2

n]• Lemma

– QUADEQ ist NP-vollständig

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

Tensorprodukt

• Das Tensorprodukt u v zweier Vektoren u,v2 Z2

n ist ein n2 langer Vektor w mit w(i,j)=uivj

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

Das Beweissystem

• Wir wollen ein Beweissystem für QUADEQ angeben

• Eingabe ist eine QUADEQ Instanz• Wir betrachten die Eingabeinstanz wie folgt

– u1,…, un seien die Variablen (ein Spaltenvektor)– U sei ein n2-dim. Spaltenvektor mit U[i,j]=uiuj

– Wir schreiben dann auch U=u u [Tensorprodukt]– b sei ein Vektor der rechten Seiten der k Gleichungen– A sei eine k£n2 Matrix, so dass AU=b das

Gleichungssystem darstellt– Eine Instanz von QUADEQ ist somit durch A,b gegeben

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

QUADEQ

• Wir wollen ein Beweissystem für die Erfüllbarkeit quadratischer Gleichungssysteme über Z2

n angeben

• Wir erwarten als „korrekten“ Beweis die Hadamard Codes von u und von U=u u zu einer erfüllenden Belegung u

• g,G seien durch den PCP-Beweis gegeben• Unser Verifizierer (grob):

1. Teste, ob g und G 0.001-approximativ linear sind2. Teste ob U=u u ist3. Teste, ob u erfüllend ist ( 2.,3. mit Hilfe von g,G)

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

Schritt 1

• Wir haben den Linearitätstest schon angegeben.

• Mit Ws. 0.99 werden alle g,G verworfen, die nicht 0.001-approximativ linear sind

• Wir gehen daher davon aus, das es f,F gibt, die linear sind, und auf einem 0.999 Anteil ihrer Einträge mit g,G übereinstimmen

• Weiterhin können wir f(x) und F(x) für jedes x mit Ws. 0.998 bestimmen (durch je 2 Fragen an g bzw. G), wegen lokaler Dekodierbarkeit

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

Bemerkung

• Der restliche Test stellt nur 17 Fragen an f oder F, wir gehen daher davon aus, dass der Beweis tatsächlich f,F enthält, also Hadamard Codes von strings u,W– Denn: mit guter Ws. ist die Dekodierung

von f(x),F(x) für alle 17 Fragen erfolgreich:

– Prob(es gibt einen Fehler)· 17¢0.002<1/20

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

Schritt 2

• Wir wollen testen, ob W=u u1. Wiederhole 5 mal:

i. Ziehe r,r’ uniform aus Z2n

ii. Teste ob f(r)f(r’)=F(r r’)2. Akzeptiere, wenn alle Tests bestanden

• Korrekte Beweise (W=u u) werden immer akzeptiert, denn

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

Schritt 2

• Angenommen, WU=u u• Behauptung 13.1: Jeder der 5 Tests

in Schritt 2 verwirft mit Ws. mindestens 1/4

• Dann ist die Gesamtwahrscheinlichkeit, zu verwerfen mindestens 1-(3/4)5>3/4

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

Beweis der Behauptung

• Wir betrachten jetzt W als eine n£n Matrix, ebenso U

• U=u¢uT; U[i,j]=uiuj

• r sei ein Zeilenvektor, r’ ein Spaltenvektor

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

Beweis der Behauptung

• Dann gilt

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

Beweis der Behauptung

• Der Verifizierer verwirft also, wenn (für mind. ein gewähltes r,r’) gilt: rWr’rUr’

• Mindestens 1/2 aller r erfüllen rWrU wegen der Distanzeigenschaft von Hadamard Codes:– UW) es gibt i,j mit U[i,j]W[i,j]– ) rW[j] = t=1...n rtW[t,j] t rtU[t,j] =rU[j] mit

Wahrscheinlichkeit 1/2 • Für jedes r mit rWrU gilt ebenso:

– Mindestens 1/2 aller r’ erfüllen rWr’ rUr’

• Damit folgt die Behauptung, dass rWr’ rUr’ mit Ws ¸ 1/4.

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

Zusammenfassung 1 und 2

• Wir erhalten somit, dass der PCP-Beweis aus Hadamard Codes für u und für u u besteht, wenn Schritte 1 und 2 mit hoher Wahrscheinlichkeit bestanden wurden.

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

Schritt 3• Wir müssen nun noch testen, ob u eine erfüllende

Belegung ist• Zuerst betrachten wir den Fall, dass es nur eine

Gleichung gibt (die t-te Gleichung).

• Setze zt=At,( ¢, ¢) mit 1·i,j·n• Die linke Seite der Gleichung ist einfach F(zt)=U±zt,

wir wollen testen,ob F(zt)=bt

• Da der Verifizierer sowohl zt als auch bt kennt, kann er die Gleichung durch 1 Frage nach F(zt) testen

• Tatsächlich enthält der Beweis in F=C(u u) den Wert aller möglichen linken Seiten von Gleichungen

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

Schritt 3• Testen aller Gleichungen:• Wir können natürlich nicht einfach alle i von 1 …

k durchlaufen• Idee: der Verifizierer wählt eine zufällige

Teilmenge der Gleichungen, summiert diese modulo 2 und testet die erhaltene Gleichung

• Formal: wähle d1,..,dk zufällig• Neue Gleichung:

• Diese Gleichung kann durch 1 Frage an F getestet werden

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

Schritt 3

• Wenn es ein t gibt, so dass u die Gleichung t nicht erfüllt, so ist der Vektor

ungleich dem Vektor

• Damit gilt mit Ws. 1/2 über die Wahl der d, dass

• Der Test wird zwei mal wiederholt, um Fehlerwahrscheinlichkeit 1/4 zu erzielen

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

Analyse• Vollständigkeit ist 1, da ein ehrlicher Beweis alle Tests

besteht• Korrektheit:

– Falls g,G nicht 0.001-approximativ linear, wird mit Ws. 0.99 verworfen

– Wenn g,G 0.001-approximativ linear sind, ist die Wahrscheinlichkeit eines Fehlers bei der lokalen Dekodierung höchstens 1/20

– Falls g,G 0.01-approximativ linear, aber zugehörige f,F,u,W nicht W=u u erfüllen, wird mit Ws. 2/3 verworfen

– Falls g,G 0.01-approximativ, zugehörige f,G erfüllen f=C(u),F=C(u u), aber u ist nicht erfüllend, dann wird mit Ws. 3/4 verworfen.

• Insgesamt ist die Korrektheit damit mindestens 1-1/4-1/20>2/3

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

Zusammenfassung

• Insgesamt ist die Vollständigkeit 1, die Korrektheit 2/3

• Zahl der Fragen:– Schritt 1: O(1)– Schritt 2: 15– Schritt 3: 2

• Zufall: In Schritten 2 und 3 ziehen wir insgesamt O(1) Zufallstrings der Länge n, d.h. wir verwenden O(n) Zufallsbits;Der Test in Schritt 1 für U benötigt allerdings O(n2) Zufallsbits

• Damit ist NPµ PCP(O(n2), O(1))

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

PCP‘s und Approximation

• Wir wollen die wichtigste Anwendung des PCP Theorems betrachten

• Theorem:– NP=PCP(O(log n),O(1))

• Diese besteht darin, zu zeigen, dass es für bestimmte Optimierungsprobleme schwierig ist, diese gut zu approximieren

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

NP-Optimierungsprobleme• Definition 13.2 [NPO-Probleme]

– Ein NP-Optimierungsproblem P ist gegeben durch eine Menge I von Instanzen (Eingaben), eine Menge L von Lösungen, und zwei Funktionen, die in polynomieller Zeit berechenbar sind:

• feasP: I£ L! {0,1} entscheidet auf x,y, ob y eine zulässige Lösung zu x ist

• costP: I£ L! R gibt die Kosten von y als Lösung zu x an• Es gibt Maximierungs- und Minimierungsprobleme

• Beispiel: Clique– Instanzen sind alle ungerichteten Graphen– Lösungen sind Mengen von Knoten– feasP ist wahr, wenn Knotenmenge y eine Clique in Graph x ist– costP gibt die Größe von y an

• Ein Algorithmus löst ein NP-Optimierungsproblem exakt, wenn er eine optimale Lösung zu jeder Eingabe bestimmt

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

Approximationsalgorithmen

• Die Entscheidungsversionen vieler NP-Optimierungsprobleme sind NP-vollständig– Clique, MaxCut, VertexCover, SetCover

• Was, wenn wir nicht die beste, sondern nur eine gute Lösung suchen?

• Definition 13.3– Sei P ein NP-Optimierungsproblem– optP(x) sei eine optimale Lösung von P auf x– Eine Lösung y habe Verlustfaktor ,

wenn costP(x,y)· costP(x,optp(x)) für Minimierungsprobleme

– Eine Lösung y habe Verlustfaktor ,wenn costP(x,y)¸ costP(x,optp(x))/ für Maximierungsprobleme

Page 25: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 24.1

Approximation

• Definition 13.4– Ein Algorithmus, der in polynomieller

Zeit zu einem NP-Optimierungsproblem für beliebige Eingaben x Lösungen mit Verlustfaktor berechnet, heißt-Approximationsalgorithmus für P

Page 26: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 24.1

Ein Beispiel

• Das Problem Max-3-SAT ist wie folgt gegeben:– Instanzen sind Boolesche Formeln in 3-KNF

Form• Alle Klauseln haben genau 3 Literale

– Zulässige Lösungen sind alle Belegungen der n Variablen

– Die Kosten einer Lösung sind die Anzahl erfüllter Klauseln

– Wir suchen Lösungen, die eine maximale Anzahl von Klauseln erfüllen

• Das Problem ist also ein NPO-Problem und NP-schwierig

Page 27: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 24.1

Approximation durch Zufall• Approximative Lösung für Max 3-SAT:

– Ziehe alle n Variablen zufällig• Es gebe m Klauseln • Jede Klausel wird mit Wahrscheinlichkeit 1-1/8=7/8

erfüllt• Die erwartete Anzahl erfüllter Klauseln ist somit:

– Sei zi eine Indikatorzufallsvariable, die 1 ist wenn Klausel i erfüllt ist

– Erwartete Anzahl erfüllter Klauseln istE[ zi]= E[zi]=m¢ 7/8

• Wir erhalten somit erwartet eine 8/7 Approximation, denn das Optimum ist höchstens m

Page 28: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 24.1

Bemerkung

• Dies zeigt, dass in jeder 3-KNF Formel mit m Klauseln (und genau 3 Literalen per Klausel) mindestens 7/8 m Klauseln simultan erfüllbar sind.

Page 29: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 24.1

Methode des bedingten Erwartungswerts

• Wir wollen den obigen Algorithmus derandomisieren, d.h. einen deterministischen Algorithmus erhalten

• Betrachte die n Zufallswahlen als einen Baum, dessen Blätter mit den strings der Länge n markiert sind

• Der Erwartungswert Ex[i zi(x)] geht über alle Blätter x1,…,xn

• Wir fixieren x1 usw. nacheinander greedy.• Dazu betrachten wir die bedingten Erwartungswerte

Ex [ zi(x)|x1=1] und Ex [ zi(x)|x1=0]• Da 7/8¢ m · Ex[i zi(x)]=

1/2( Ex [ zi(x)|x1=1] + Ex [ zi(x)|x1=0])muss einer von beiden Termen größer als 7/8 m sein

Page 30: Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/07 24.1

Methode des bedingten Erwartungswerts

• Fixiere x1 so, dass der Erwartungswert über die restlichen Variablen maximal ist und iteriere

• Am Ende erhalten wir eine Lösung mit Kosten mind. 7/8 m

• Allerdings: wie können wir die bedingten Erwartungswerte bestimmen? – Die bedingten Erwartungswerte sind leicht zu

berechnen aufgrund der Linearität des Erwartungswertes: Nach Substitution der Variablen x1,…,xi bleibt eine 3-KNF. 1-Klauseln haben eine Ws. von 1/2, erfüllt zu werden, 2-Klauseln 3/4, 3-Klauseln 7/8.