Ressourcen: Beweisbits nur f¨ur Funktionsauswertungen ben¨otigt

Werbung
Ressourcen:
Beweisbits nur für Funktionsauswertungen benötigt.
Stelle sicher, dass jedes Teilmodul nur konstant viele
Funktionsauswertungen verwendet.
Zufall nur zur Auswahl von zufälligen Eingaben für
Funktionsauswertungen (abgesehen vom Beweisverifizierer).
Dann O(n3) Zufallsbits insgesamt.
Fehlerabschätzung:
Für wohlgeformte Beweise alle Module immer korrekt.
Ansonsten Fehlerwahrscheinlichkeit für jedes Modul
beschränkt durch Konstante kleiner 1.
Überall Wahrscheinlichkeiten so justieren
(Probability-Amplification), dass insgesamt im negativen
Fall Fehlerwahrscheinlichkeit höchstens 1/2.
399
Details zum Linearitätstest
Lineare Algebra:
f linear :⇔
(1) Für alle Vektoren x, y aus dem Vektorraum:
f (x + y) = f (x) + f (y).
(2) Für alle Vektoren x, Skalare a: f (a · x) = a · f (x).
m
Hier Körper Z2 und f : Z2 → Z2.
Damit Eigenschaft (2) trivialerweise erfüllt:
• a = 1: f (1 · x) = 1 · f (x);
• a = 0: f (0 · x) = f (0m) = 0, folgt aus (1).
400
Konkretisierung von fast linearen“ Funktionen:
”
Definition: f , g : Zm
2 → Z2 heißen δ-nah, falls
X
−m
Prx∈Zm {f (x) 6= g(x)} = 2
[f (x) 6= g(x)] ≤ δ.
2
x∈Zm
2
(Anders ausgedrückt: Hammingabstand, d. h. Anzahl
bitweiser Unterschiede, zwischen Wertetabellen
höchstens δ · 2m.)
Identifiziere fast lineare Funktionen mit solchen, die δ-nah
sind zu irgendeiner linearen Funktion. Dabei δ > 0 später
fixierte Konstante.
401
Modul Linearitätstest:
Eingabe: Funktionstabelle einer Funktion f : Zm
2 → Z2 .
1. Wähle unabhängig gemäß Gleichverteilung x, y ∈ Zm
2.
2. Akzeptiere, falls f (x + y) = f (x) + f (y).
Offensichtlich reichen drei Funktionsauswertungen
und Wahl von zwei zufälligen Argumenten.
Lemma A:
• f linear: Linearitätstest akzeptiert mit Wahrscheinlichkeit 1.
• f zu keiner linearen Funktion δ-nah für δ < 1/3:
Linearitätstest akzeptiert mit Wahrscheinlichkeit
höchstens 1 − δ/2.
402
Beweis von Lemma A:
Erster Teil trivial, nur zweiter zu zeigen. Beweis indirekt.
Behauptung: Prx,y {f (x + y) 6= f (x) + f (y)} ≤
Dann gibt es g :
m
Z2
δ
⇒
2
→ Z2 linear und δ-nah zu f .
Vorteil dieser Formulierung: Es reicht, g explizit anzugeben
und die Eigenschaften nachzuweisen.
Definition von g:
Sei g(a) der Wert, der unter allen Werten
f (a + b) − f (b), b ∈ Zm
2,
am häufigsten ist (= 0, falls 0 und 1 beide gleich häufig).
Bemerkung: f linear ⇒ g = f .
403
Z.-Beh. 1: f und g sind δ-nah.
Beweis von Z.-Beh. 1:
δ
Voraussetzung: Prx,y {f (x + y) =
6 f (x) + f (y)} ≤ .
2
δ
2
≥ Prx,y {f (x + y) − f (y) 6= f (x)}
≥ Prx,y {f (x + y) − f (y) = g(x) ∧ g(x) 6= f (x)}
= 2
−m
X
[g(x) 6= f (x)] · 2
x
≥
=
|
−m
y
[f (x + y) − f (y) = g(x)]
{z
}
= Pry {f (x + y) − f (y) = g(x)} ≥ 1/2,
wegen Def. von g
X
1
−m
·2
[g(x) 6= f (x)]
2
x
1
· Prx {g(x) 6= f (x)}.
2
Also Prx {g(x) 6= f (x)} ≤ δ.
X
(Beweis der Z.-Beh. 1)
2
404
Z.-Beh. 2: g ist linear.
Beweis von Z.-Beh. 2:
Definiere
p(a) := Prx {g(a) = f (a + x) − f (x)}.
Wegen Definition von g: p(a) ≥ 1/2 für alle a.
Zeige später, dass sogar: p(a) ≥ 1 − δ für alle a.
Zunächst Anwendung für Z.-Beh. 2. . .
405
Wende p(a) ≥ 1 − δ dreimal an:
(1) Prx {g(a)
= f (a + x) − f (x)}
= p(a)
≥ 1 − δ;
(2) Prx {g(b)
= f (b + a + x) − f (a + x)} = p(b)
≥ 1 − δ;
(3) Prx {g(a + b) = f (a + b + x) − f (x)}
= p(a + b) ≥ 1 − δ.
m
zuf
ällig
⇒
a
+
x
∈
Z
(Beachte: x ∈ Zm
2 zufällig.)
2
Alle drei Gleichungen auf den linken Seiten gelten zusammen
mit Wskt. ≥ 1 − 3δ. Dann auch (1) + (2) − (3)“, liefert:
”
Prx {g(a) + g(b) − g(a + b) = 0} ≥ 1 − 3δ.
Da nach Voraussetzung δ < 1/3:
Prx {g(a) + g(b) = g(a + b)} > 0.
Ereignis unabh. von x: Es gilt immer g(a) + g(b) = g(a + b).
Also g linear.
406
Noch zu zeigen: p(a) ≥ 1 − δ für alle a.
δ
2
Voraussetzung: Prx,y {f (x) + f (y) 6= f (x + y)} ≤ .
Zweimal anwenden liefert:
δ
(1) Prx,y {f (x + a) + f (y) 6= f (x + a + y)} ≤ ;
2
δ
(2) Prx,y {f (x) + f (a + y) 6= f (x + a + y)} ≤ .
2
Vereinigung beider Ereignisse hat Wskt. ≤ δ,
daher für Komplement Wskt. ≥ 1 − δ:
Prx,y {f (x + a) + f (y) = f (x + a + y) ∧
f (x) + f (a + y) = f (x + a + y)} ≥ 1 − δ.
⇒ Prx,y { f| (x + a) + f (y) {z
= f (x) + f (y + a)} } ≥ 1 − δ
⇔ f (x + a) − f (x) = f (y + a) − f (y)
Jetzt Unabhängigkeit von x und y auszunutzen. . .
407
Weiter mit der Rechnung:
1 − δ ≤ Prx,y {f (x + a) − f (x) = f (y + a) − f (y)}
X
=
Prx,y {f (x + a) − f (x) = z, z = f (y + a) − f (y)}
z∈{0,1}
(Unabhängigkeit)
X
=
Prx {f (x + a) − f (x) = z} · Pry {f (y + a) − f (y) = z}
z∈{0,1}
(x und yXhaben selbe Verteilung)
=
Prx {f (x + a) − f (x) = z}2
|
{z
}
z∈{0,1} = p(a) für z = g(a) und = 1 − p(a) für z 6= g(a)
= p(a)2 + (1 − p(a))2
(p(a) ≥ 1/2 gem. Def von g, also 1 − p(a) ≤ p(a))
2
≤ p(a) + p(a) · (1 − p(a)) = p(a).
Also p(a) ≥ 1 − δ.
(Bew. Z.-Beh. 2 und Lemma A)
2
408
Falls Linearitätstest für f erfolgreich also:
f linear oder f δ-nah zu linearer Funktion g.
Tatsächlich dann nur eine mögliche lineare Funktion,
falls δ klein genug. Benutze folgendes Lemma:
Lemma B:
f , g verschiedene lineare Funktionen vom Typ Zm
2 → Z2 :
Dann gilt Prx {f (x) 6= g(x)} = 1/2.
Also: f δ-nah zu linearen Funktionen g1, g2 für δ < 1/4:
Dann (Dreiecksungleichung) auch g1, g2 2δ-nah
und damit (Lemma B) g1 = g2.
409
Beweis von Lemma B:
Betrachte d = f − g:
Lineare Funktion, außerdem d 6= 0.
P
6 I ⊆ {1, . . . , m}.
d (x1, . . . , xm) = i ∈I xi , wobei ∅ =
Es gilt (mit sehr wichtigem Lemma“):
”
1
2
Prx {d (x) 6= 0} = .
Also folgt auch
1
2
Prx {f (x) 6= g(x)} = .
(Beweis von Lemma B)
2
410
Im Folgenden δ < 1/4. Für f δ-nah zu linearer Funktion g:
Nach Lemma B g eindeutig, nenne g die zu f gehörige lineare
Funktion.
Diese Funktion liegt nicht explizit vor. Können aber trotzdem
randomisiert Funktionswerte berechnen.
Modul Robuster Funktionsauswerter:
Eingabe: Funktionstabelle einer Funktion f : Zm
2 → Z2 ;
Eingabe a ∈ Zm
2.
m
Z2
gemäß Gleichverteilung.
1. Wähle x ∈
2. Berechne fb(a) = f (x + a) − f (x).
Ressourcen: Anzahl Funktionsauswertungen und zufällige
Argumente offensichtlich wieder konstant.
411
Lemma C:
• f linear: fb(a) = f (a) mit Wahrscheinlichkeit 1.
• f δ-nah zu linearer Funktion g:
Prx {fb(a) 6= g(a)} ≤ 2δ.
Beweis: f und g δ-nah ⇒
Prx {f (x)
6= g(x)}
≤ δ;
Prx {f (x + a) 6= g(x + a)} ≤ δ.
Wskt. für Vereinigung ≤ 2δ, also für Komplement ≥ 1 − 2δ:
Prx { f| (x) = g(x) ∧ f (x
{z+ a) = g(x + a)} } ≥ 1 − 2δ.
⇒ f (x + a) − f (x) = g(x + a) − g(x)
g linear
= g(a)
Also Prx {f (x + a) − f (x) = g(a)} ≥ 1 − 2δ.
(Beweis von Lemma C)
2
412
Modul Konsistenztest:
Eingabe: Funktionstabellen von Funktionen f1, f2, f3 mit
Eingabelängen n, n2 bzw. n3, jeweils linear oder
δ-nah zu linearer Funktion mit δ ≤ 1/24.
′
′′
1. Wähle unabhängig gleichverteilt x, x , x ∈
2. Definiere
n2
x ⊗ x ∈ Z2 durch (x ⊗ x ′)i ,j := xi
′′
′′
n3
x ⊗ y ∈ Z2 durch (x ⊗ y)i ,j,k :=
′
n
Z2 ,
y∈
n2
Z2 .
· xj′ ;
′′
xi · yj,k .
( a ⊗ b“: Lies a Tensor b“, Tensorprodukt.)
”
”
3. Berechne mit robustem Funktionsauswerter:
′
′′
′
′′
fb1(x), fb1(x ), fb1(x ), fb2(x ⊗ x ), fb2(y) und fb3(x ⊗ y).
4. Akzeptiere, wenn:
′
′
′′
′′
fb1(x) · fb1(x ) = fb2(x ⊗ x ) und fb1(x ) · fb2(y) = fb3(x ⊗ y).
413
Ressourcen: Anzahl Funktionsaufrufe und zufällige
Argumente konstant.
Lemma D:
a
a
a
(1) f1 = L1, f2 = L2 , f3 = L3:
Konsistenztest akzeptiert mit Wskt. 1.
(2) Es gibt kein a, sodass fi δ-nah zu Lai für i = 1, 2, 3:
Konsistenztest akzeptiert mit durch Konstante kleiner 1
beschränkter Wahrscheinlichkeit.
414
Beweis von Lemma D:
Teil (1): Voraussetzung: f1 = La1, f2 = La2 , f3 = La3 .
Alle Funktionsauswertungen sind korrekt.
X
X
aj ak yj,k
ai xi′′ ·
fb1(x ′′) · fb2(y) = La1 (x ′′) · La2 (y) =
=
=
=
Xi
i ,j,k
X
j,k
ai aj ak · xi′′yj,k
ai aj ak · (x ′′ ⊗ y)i ,j,k
i ,j,k
La3 (x ′′
′
′
Analog folgt fb1(x) · fb1(x ) = fb2(x ⊗ x ).
⊗ y) = fb3(x ′′ ⊗ y).
415
Teil (2): Es gibt kein a, sodass fi δ-nah zu Lai für i = 1, 2, 3.
Da δ ≤ 1/24 und Fehlerwskt. für einzelnen Aufruf
von robuster Funktionsauswertung höchstens 2δ ≤ 1/12:
Mit Wskt. mindestens 1/2 alle sechs Aufrufe korrekt.
Im Folgenden alles unter der Bedingung, dass dies der Fall.
Betrachte den Fall, dass f1 δ-nah zu La1 und
f2 δ-nah zu linearer Funktion g2 6= La2 .
X
Sei g2(y1,1, . . . , yn,n) =
bi ,j yi ,j .
1≤i ,j ≤n
Restlicher Fall f1 δ-nah zu La1 , f2 δ-nah zu La2 und
f3 δ-nah zu linearer Funktion g3 6= La3 in den Übungen.
416
a
Sei A = (ai ,j ) mit ai ,j = ai · aj (Koeffizienten von L2).
Sei B = (bi ,j ) (Koeffizienten von g2 6= La2 ).
Dann gilt A 6= B.
Konsistenztest überprüft (u. A.), ob
?
fb1(x) · fb1(x ′) = fb2(x ⊗ x ′).
In Matrixschreibweise:
L. S. =
La1(x)
R. S. =
X
·
La1 (x ′)
=
X
ai aj xi xj′ = x ⊤Ax ′,
i ,j
⊤
′
bi ,j xi xj′ = x Bx .
i ,j
Also äquivalent zu Test, ob x ⊤Dx ′ = 0, mit D := A − B 6= 0n×n.
417
Sei Dj die j -te Spalte der Matrix D und es sei Dj 6= 0n.
Dann folgt (mit welchem Lemma wohl?):
Prx {x ⊤Dj 6= 0} = 1/2.
Damit:
Prx {x ⊤D 6= 0n} ≥ 1/2.
und (wieder mit dem altbekannten Lemma):
⊤
′
Prx,x′ {x Dx 6= 0} ≥ 1/4.
Also entdeckt der Konsistenztest den Fehler mindestens
mit Wahrscheinlichkeit 1/4.
(Beweis von Lemma D)
2
418
Damit haben wir alle Module beschrieben.
• Festlegen von δ:
Für Linearitätstest: δ < 1/3;
Für Eindeutigkeit der linearen Korrektur: δ < 1/4.
Für Konsistenztest: δ ≤ 1/24.
Also reicht insgesamt δ := 1/24 .
• Es bleibt noch (wie in der Grobplanung festgestellt),
die Einzelwahrscheinlichkeiten zu justieren.
Probability-Amplification führt zu Erhöhung der Anzahl von
Funktionsaufrufen und Beweisbits um konstanten Faktor.
• Obere Schranke für die (konstante) Gesamtanzahl
Beweisbits in den Übungen. (Tipp: Lösung 6= 42.)
(Beweis von Satz 12.2.2)
2
419
Klassischer Beweis für komplettes PCP-Theorem:
• Logarithmisch viele Zufallsbits:
Θ(n3 )
Beweise polynomieller Länge statt 2
hier.
Dazu: Lineare Funktionen über Z2 →
Polynome von kleinem Grad d (n) über Fq(n).
• Mit diesen Ideen: Zweiter Beweisverifizierer,
der NP ⊆ PCP(log n, polylog n) zeigt.
• Kompositionslemma, das beide Verifizierer verbindet.
Einige Zutaten haben Eigenleben bekommen – Stichworte:
Locally testable / decodable codes, Property testing.
Neuer Beweis für komplettes PCP-Theorem (Dinur 2005):
Graphtheorie (speziell Expandergraphen) statt Algebra,
Beweisverifizierer aus Beweis von Satz 12.2.2 als Teilmodul.
420
New York Times, 7.4.1992:
In a discovery that overturns centuries of mathematical
”
tradition, a group of graduate students and young researchers
has discovered a way to check even the longest and most
complicated proof by scrutinizing it in just a few spots . . .“
. . . Using this new result, the researchers have already made
”
a landmark discovery in computer science. They showed that
it is impossible to compute even approximate solutions for a
large group of practical problems that have long foiled
researchers. . .“
421
12.3 Das PCP-Theorem und
Nichtapproximierbarkeitsresultate
Hier PCP-Theorem NP = PCP(log n, 1) anwenden.
Nach altem Plan: Ausnutzen der Lückentechnik
für Nichtapproximierbarkeitsergebnisse.
Als Beispiele hier: Nichtapproximierbarkeit von
MAX-3-SAT (geeignet als Basisproblem) und MAX-CLIQUE.
422
Alter Plan jetzt detaillierter:
Haben 3-SAT ∈ PCP(log n, 1), also rand. Beweisverifizierer für
3-SAT mit entsprechenden Restriktionen.
Beweisverifizierer übernimmt Rolle der polynomiellen NTM
für NP-Problem aus dem Beweis des Satzes von Cook.
Jetzt: Polynomielle Reduktion von 3-SAT auf MAX-3-SAT.
Konstruiere MAX-3-SAT-Formel ψ, sodass für
Konstante δ > 0 gilt:
• ϕ ∈ 3-SAT ⇒ Alle Klauseln in ψ erfüllbar.
• ϕ 6∈ 3-SAT ⇒ Höchstens (1 − δ)-Anteil aller Klauseln
in ψ gleichzeitig erfüllbar.
NP-schweres ((1 − δ)m, m)-Lückenproblem!
423
Nach Bemerkung 8.3.1: P 6= NP ⇒
MAX-3-SAT nicht in Polynomialzeit bis auf Faktor kleiner
als m/((1 − δ)m) = 1/(1 − δ) approximierbar.
Wiederholung am konkreten Beispiel:
Wähle Konstante ε > 0 so, dass 1 + ε = 1/(1 − δ).
Approximationsalgorithmus der Güte kleiner als 1 + ε:
Anteil der vom Algorithmus erfüllten Klauseln sei α.
• α > 1 − δ: Dann muss ψ erfüllbar sein.
• α ≤ 1 − δ: Dann in optimaler Lösung Anteil erfüllter
Klauseln kleiner als
(1 − δ) ·
1
= 1,
1−δ
also ψ nicht erfüllbar.
Insgesamt damit beide Fälle unterscheidbar.
424
Satz 12.3.1: Es existiert Konstante ε > 0, sodass
P 6= NP impliziert, dass MAX-3-SAT nicht in Polynomialzeit
mit Güte kleiner als 1 + ε approximierbar.
Hatten in Kapitel 8.2 gezeigt: MAX-3-SAT ∈ APX(7/8).
Folgerung 12.3.2: P 6= NP ⇒ MAX-3-SAT ∈ APX − PTAS.
Beweis von Satz 12.3.1:
Polynomielle Reduktion von 3-SAT auf MAX-3-SAT.
PCP-Theorem: Es gibt rand. Beweisverifizierer für 3-SAT,
sodass für Instanz mit n Variablen:
• maximal r = r(n) = ⌊c log n⌋ Zufallsbits, c > 0 Konstante;
• maximal k Beweisbits, k ∈ N Konstante (k ≥ 3).
O. B. d. A. immer genau r Zufallsbits und k Beweisbits.
425
Beweis formatieren:
N := 2r = 2⌊c log n⌋ verschiedene Zufallsbitstrings,
für jeden werden k verschiedene Positionen adressiert.
Also insgesamt maximal kN Beweispositionen adressiert.
O. B. d. A. Beweise der Länge genau kN
und Menge aller Beweise = {0, 1}kN .
Codierung des Beweisverifizierers für 3-SAT-Instanz (1/3):
Fixiere 3-SAT-Instanz:
Formel ϕ = c1 ∧ · · · ∧ cm,
Klauseln c1, . . . , cm der Länge höchstens 3, n Variablen.
426
Codierung des Beweisverifizierers (2/3):
kN
Definiere zu ϕ Funktionen fz : {0, 1} → {0, 1}, 0 ≤ z ≤ N − 1,
wobei Index z ↔ Zufallsbitstring z ∈ {0, 1}r .
• Zufallsbitvektor z fest ⇒
Beweispositionen im Beweisverifizierer fest.
• fz (y) = 1, falls Beweisverifizierer mit Zufallsbits z und
Beweis y ∈ {0, 1}kN feste Eingabe ϕ akzeptiert.
Wichtig: fz hängt formal von y = (y1, . . . , ykN ) ab,
essenziell abhängig aber nur von k Bits in y.
D. h.: Funktion vom Typ {0, 1}k → {0, 1}.
Funktionen f0, . . . , fN−1 codieren Verhalten des
Beweisverifizierers auf 3-SAT-Instanz ϕ.
427
Codierung des Beweisverifizierers (3/3):
Eigenschaften der Funktionen f0, . . . , fN−1
(aus Definition von PCP-Beweisverifizierern):
• ϕ erfüllbar: Es gibt Beweis y ∈ {0, 1}kN , sodass für
alle Zufallsbitstrings z: fz (y) = 1.
′
kN
• ϕ nicht erfüllbar: Für alle Beweise y ∈ {0, 1} :
Höchstens Hälfte aller Zufallsbitstrings z erfüllt fz (y ′) = 1.
Das ist die benötigte Lückeneigenschaft!
Noch zu tun:
Funktionen f0, . . . , fN−1 durch MAX-3-SAT-Formel ausdrücken.
Muss das auch effizient tun können (polynomielle Reduktion).
428
Polynomielle Reduktion 3-SAT → MAX-3-SAT:
Für jedes z = 0, . . . , N − 1, N = 2r = 2⌊c log n⌋ = poly(n) und
Funktion fz vom Typ {0, 1}k → {0, 1}, k = O(1):
1. Wertetabelle aus Beweis y ∈ {0, 1}kN generieren.
Beweispositionen durch effizienten
Verifizierer bestimmen, nur k = O(1) viele in
Beweis der Länge kN = poly(n).
2. KNF für fz aus Wertetabelle generieren.
Maximal 2k Minterme der Länge k.
3. Polynomielle Reduktion SAT → 3-SAT anwenden:
∗
k = max{1, k − 2} Klauseln der Länge 3 für jede
ursprüngliche Klausel, insgesamt also ≤ k ∗ · 2k für fz .
Sei ψ Konjunktion aller erhaltenen Klauseln,
insgesamt höchstens N · k ∗ · 2k Stück.
429
Was passiert mit der Lücke zwischen
positiven und negativen Eingaben?
Lückeneigenschaft:
• ϕ erfüllbar: Für jedes fz alle Klauseln erfüllbar.
• ϕ nicht erfüllbar: Mindestens N/2 Werte z mit fz (y) = 0.
Für festes z: fz (y) = 0, dann mindestens eine der
2k Klauseln in der KNF und auch mindestens eine der
3-SAT-Klauseln nicht erfüllbar.
Also insgesamt mindestens N/2 nicht erfüllte Klauseln,
von höchstens N · k ∗ · 2k vielen Klauseln in ψ.
N/2
1
> 0, konstant.
=
Definiere δ :=
∗
k
k+1
N ·k ·2
max{1, k − 2} · 2
Dann höchstens (1 − δ)-Anteil aller Klauseln erfüllt.
2
430
Bemerkungen:
• Beweis zeigt, dass Anzahl k gelesener Beweispositionen
essenziell für Lücke und damit die ausschließbare Güte.
• Was passiert für k = 2? Dann Klauseln der Länge 2.
Aber damit erzeugte SAT-Instanz effizient lösbar
und P = NP! Vermutung also: k ≥ 3 notwendig.
• Konstanter Faktor bei Zufallsbits geht nur in Exponenten
des Rechenzeitpolynoms für Reduktionsalgorithmus ein.
431
Herunterladen