X - TU Dortmund, Informatik 2

Werbung
Effiziente Algorithmen und Komplexitätstheorie
mit dem Schwerpunkt
Komplexitätstheorie
Wintersemester 2008/2009
Carsten Witt
c Martin Sauerhoff, Ingo Wegener, Carsten Witt (2003–2009).
Zur Veranstaltung:
KT/EA
• hat im WS den Schwerpunkt KT
• baut auf der Veranstaltung GTI auf
• und fragt nach den Grenzen der Effizienz von Algorithmen
• → Gegenstück zur Veranstaltung Effiziente Algorithmen“.
”
Stellung im Informatikstudium
• Hauptstudium/Masterstudium
• Diplom Informatik: Wahlpflichtveranstaltung, Katalog B
• Diplom Angewandte Informatik: Wahlpflichtveranstaltung
• Master Informatik/Angew. Informatik: Basismodul
• Leistungsnachweis durch mündliche Prüfung
2
Technische Daten:
Vorlesung
• Montags und mittwochs, 12.15 Uhr, HS E23/OH 14 (hier)
• Vorlesungsfrei: 22. 12. 2008–04. 01. 2009
(Fortsetzung am 05. 01. 2009)
• Letzter Vorlesungstag: 04. 02. 2009
Übungen
• Gruppe 1: Mittwoch, 16.15-17.45 Uhr, OH 14, 304
• Gruppe 2: Freitag, 12.15-13.45 Uhr, OH 14, 104
• Veranstalter: Martin Sauerhoff/Robin Nunkesser
• Erste Übung am 22. 10.
• Austeilung der Übungsblätter und Abgabe der Lösungen
in der Mittwochsvorlesung
Webseite: http://ls2-www.cs.uni-dortmund.de/winter200809/kt
3
Literatur:
I. Wegener, Komplexitätstheorie – Grenzen der Effizienz von
”
Algorithmen“. Springer, 2003.
Ergänzung:
• R. Reischuk, Komplexitätstheorie, Band I: Grundlagen“.
”
Teubner, 1999.
• J. Hopcroft, R. Motwani, J. D. Ullman, Introduction to
”
Automata Theory, Languages, and Computation“,
2. Auflage. Addison-Wesley, 2001.
•
• • •
4
A. Einleitung
Ziel:
Für algorithmische Lösung von Problemen notwendige
Mindestressourcen (z. B. Rechenzeit) bestimmen.
→ Nachweis von unteren Schranken.
Praktischer Nutzen von unteren Schranken:
• Steuern die Richtung beim Algorithmenentwurf.
• Eventuell sogar neue Ideen für Algorithmen.
5
Beweise von unteren Schranken typischerweise schwer:
Muss alle Algorithmen für das konkrete Problem betrachten.
Möglichst handliches“ formales Modell
”
für Algorithmenbeschreibung wichtig.
6
Komplexitätstheorie heute – Stand der Dinge
• Praktisch sinnvolle Modelle, mit denen Algorithmen
und Verbrauch verschiedener Ressourcen formalisierbar
und analysierbar.
• Aber: Viele der wichtigsten Probleme ungelöst.
P 6= NP“-Problem. Untere-Schranken-Problematik.
”
Was wir trotzdem (ganz gut) können:
• Schwierigkeit von praktischen Problemen unter bisher
unbewiesenen Annahmen, z. B. P 6= NP.
• Ergebnisse für eingeschränkte Modelle:
→ Weiterentwicklung von Techniken für untere Schranken.
7
Übersicht über die Vorlesung (1/2)
• Wiederholung GTI (Kap. 1–6);
• Pseudopolynomielle Algorithmen und starke
NP-Vollständigkeit (Kap. 7.2)
• Die Komplexität von Approximationsproblemen –
klassische Resultate (Kap. 8);
• Die Komplexität von Black-Box-Problemen (Kap. 9)
• Polynomielle Hierarchie (Auswahl aus Kap. 10)
• Interaktive Beweise (Auswahl aus Kap. 11)
8
Übersicht über die Vorlesung (2/2)
• Das PCP-Theorem und die Komplexität von
Approximationsproblemen (Auswahl aus Kap. 12)
• Nichtuniforme Komplexität (Auswahl aus Kap. 14)
• Kommunikationskomplexität (Auswahl aus Kap. 15)
• Komplexität boolescher Funktionen (Auswahl aus Kap. 16)
9
Wiederholung GTI:
B.
Grundlegende Modelle und Begriffe
C. Randomisierung und Nichtdeterminismus
D.
NP-Vollständigkeitstheorie
10
B. Grundlegende Modelle und Begriffe
Konkretisierung des Begriffes Problem:
• Meist gemeint: Entscheidungsproblem.
• Ganz allgemein: Algorithmisches Problem (Suchproblem).
Abbildung von zulässigen Eingaben auf nichtleere Menge
der jeweils zugehörigen korrekten Ausgaben.
Algorithmus löst das Problem, wenn er zu jeder
zulässigen Eingabe eine korrekte Ausgabe produziert und
nichtzulässige Eingaben als ungültig zurückweist.
11
Standardrechnermodell: Turingmaschinen (TMs)
Details siehe GTI bzw. z. B. Hopcroft, Motwani, Ullman.
Bauteile ( Syntax“):
”
• Einseitig unendliches Arbeitsband mit Schreib-/Lesekopf.
Eingaben aus Σ∗, Σ endliches Eingabealphabet.
∗
Bandinschriften aus Γ , Γ ⊇ Σ ∪ {Blank}
endliches Bandalphabet.
• Endliche Zustandsmenge Q mit Startzustand q0 ∈ Q und
Haltezuständen Q′ ⊆ Q;
• Endliches Programm / Zustandsüberführungsfunktion:
δ : Q × Γ → Q × Γ × {−1, 0, +1}.
12
Turingmaschinen (Forts.)
Rechnung einer Turingmaschine
auf einer Eingabe ( Semantik“):
”
• Anfang mit Startzustand q0 und Eingabe auf
Band ab Positionen 0, Rest Blanks.
• Rechenschritt: Abhängig von Zustand und gelesenem
Zeichen neues Zeichen schreiben und Kopf bewegen,
gemäß δ : Q × Γ → Q × Γ × {−1, 0, +1}.
• Ende bei Erreichen von Haltezustand
aus Q′. Ausgabe auf Band ab Position 0.
Für Entscheidungsprobleme:
Akzeptieren / Verwerfen mit Ausgabe 1 bzw. 0 oder
mit speziellen Zustandsmengen (wie im Buch).
13
Definition: Ressourcen für Turingmaschinen
Sei Turingmaschine M gegeben.
Rechenzeit für Eingabe x:
tM (x) := Anzahl Rechenschritte auf Eingabe x.
Speicherplatz für Eingabe x:
sM (x) := Anzahl bei Rechnung auf x besuchter Speicherzellen.
Im Folgenden Konzentration auf Rechenzeit.
14
Vergröberte Ressourcenmessung:
• Nur Abhängigkeit von der Eingabelänge n,
Worst-Case-Eingaben:
tM (n) := max{ tM (x) | |x| ≤ n}.
• Asymptotische Analyse:
tM (n) = Ω(L(n)), tM (n) = O(U(n)).
Im Folgenden: Genaues Algorithmenmodell oft nicht erwähnt.
Algorithmus A → tA(x), tA(n) usw.
15
Klassischer Begriff des effizient lösbaren Problems
Definition: Klasse P
Probleme, die von TMs mit polynomieller Rechenzeit gelöst
werden können.
Klassische Komplexitätstheorie (1970er Jahre):
Effizient lösbare Probleme sind genau die in P.
Motivation:
• Praxis;
• Abschlusseigenschaften von Polynomen, Simulationen:
→ unabhängig von Details des Rechnermodells.
16
C. Randomisierung und Nichtdeterminismus
Definition: Randomisierte Algorithmen
Syntax:
Zusätzlich randomisierte Rechenschritte erlaubt:
Im Programm zwei alternative Aktionen spezifiziert.
Semantik:
• Bestimme in randomisiertem Rechenschritt auszuführende
Aktion durch zufälligen, fairen Münzwurf.
• Münzwürfe für verschiedene Entscheidungen bei einer
Rechnung unabhängig voneinander.
17
Randomisierte Algorithmen (Forts.)
Rest der Semantik über die für deterministische Algorithmen:
Ausgabe und Rechenzeit werden zu Zufallsvariablen.
Formal: Randomisierte Turingmaschinen (RTMs).
Neue Zustandsüberführungsfunktion vom Format
2
δ : Q × Γ → Q × Γ × {−1, 0, 1} .
Physikalische Realisierung: Spezialhardware.
(Philosophische Frage: Gibt es echten“ Zufall?)
”
18
Oft hilfreiche Sichtweise von randomisierten TMs
für Entscheidungsprobleme:
Baum der möglichen Rechnungen:
• Knoten stellen Konfigurationen dar,
Wurzel: Startkonfiguration.
• Für zufällige Entscheidungen Verzweigung,
an den Kanten Wahrscheinlichkeiten.
• Blätter: Ausgaben.
Wahrscheinlichkeit, z. B. die Ausgabe 1 zu produzieren:
Summe der Wahrscheinlichkeiten aller Pfade (= Produkt der
Wsktn. an den Kanten), die Blätter mit Ergebnis 1 erreichen.
19
Mögliche abgeschwächte Anforderungen für Lösung
von Problemen:
• Immer korrekt, aber nur noch maximale
erwartete (durchschnittliche) Rechenzeit beschränkt.
Maximum über alle Eingaben fester Länge (wie immer),
Erwartungswert über Zufallsentscheidungen des
Algorithmus.
• Algorithmus darf versagen (Ausgabe ?“) oder
”
Fehler machen (legale, aber nicht korrekte Ausgabe).
Maximum der Rechenzeit über alle Eingaben und über alle
Wahlen der zufälligen Entscheidungen beschränkt.
Im Folgenden alles nur für Entscheidungsprobleme.
20
Randomisierte Komplexitätsklassen für
beschränkte Versagens- bzw. Fehlerwahrscheinlichkeit
Hier: • Betrachte randomisierten Algorithmus A für Entsch.-Problem L.
• Schranken für Versagen/Fehler jeweils Konstante ε.
• Maximale Rechenzeit jeweils durch Polynom beschränkt.
Algorithmentyp:
fehlerfrei:
A gibt ?“ mit Versagenswskt. ≤ ε aus,
”
0 ≤ ε < 1; ansonsten korrekt.
einseitiger Fehler ε, 0 ≤ ε < 1:
x ∈ L: Pr{A(x) = 1} ≥ 1 − ε;
x 6∈ L: Pr{A(x) = 0} = 1.
zweiseitiger Fehler ε, 0 ≤ ε < 1/2:
x ∈ L: Pr{A(x) = 1} ≥ 1 − ε;
x 6∈ L: Pr{A(x) = 0} ≥ 1 − ε.
Komplexitätsklasse:
ZPP
(zero-error probabilistic
polynomial time)
RP
(randomized polynomial time)
BPP
(bounded error probabilistic
polynomial time)
21
Bekannte Tatsachen:
• ZPP = RP ∩ co-RP.
Erinnerung: Für Klasse C von Entscheidungsproblemen:
co-C := {L | L ∈ C}.
• Alternative Charakterisierung von ZPP:
Entscheidungsprobleme mit immer korrektem
randomisierten Algorithmus, der erwartete
polynomielle Rechenzeit hat.
22
Probability Amplification:
Für ZPP-, RP- oder BPP-Algorithmus:
Kann die Fehlerwahrscheinlichkeit durch polynomiell viele
−p(n)
Wiederholungen auf 2
, p beliebiges Polynom, senken.
Ideen:
• ZPP: Exponentiell kleine Wskt. für Ereignis
Versagen bei allen Wiederholungen“.
”
• RP: Nimm ODER-Verknüpfung von allen Ergebnissen.
• BPP: Mehrheitsentscheidung über alle Ergebnisse
durchführen. Benutze Chernoff-Schranke.
GTI / Buch: Sogar nur polynomiell kleine Lücke zwischen
gegebener Fehlerschranke und jeweiliger trivialer
Fehlerschranke erforderlich.
23
Aktueller Begriff des effizienten Algorithmus
Randomisierte Polynomialzeit-Algorithmen mit beschränktem
Fehler für viele Anwendungen ausreichend:
Wähle z. B. Fehlerwahrscheinlichkeit 2−100.
Großzügigste Wahl:
Identifiziere effizient lösbare Probleme mit denen in BPP.
Eventuell neue Erweiterung notwendig für Quantenrechner.
24
Unbeschränkter einseitiger Fehler
Definition: Klasse RP∗
Entscheidungsprobleme L mit randomisiertem Algorithmus A,
der polynomielle maximale Rechenzeit hat und für den gilt:
x ∈ L: Pr{A(x) = 1} > 0;
x 6∈ L: Pr{A(x) = 0} = 1.
Alternative Sichtweise: Nichtdeterminismus.
25
Definition: Nichtdeterministische Algorithmen
Syntax:
Nichtdeterministische Rechenschritte erlaubt:
Im Programm zwei alternative Aktionen spezifiziert.
Syntax genau wie bei randomisierten Algorithmen.
Mehrere mögliche Rechnungen (Rechenwege).
Semantik:
• Eingabe x wird akzeptiert, falls mindestens ein
akzeptierender Rechenweg existiert;
• Eingabe x wird verworfen, falls alle Rechenwege
verwerfend.
26
Nichtdeterministische Algorithmen (Forts.)
Nichtdeterministischer Algorithmus löst ein Entscheidungsproblem L, falls er genau die Wörter in L akzeptiert.
Formal: Nichtdeterministische Turingmaschinen (NTMs).
Definition: Klasse NP
Entscheidungsprobleme, für die es einen
nichtdeterministischen Algorithmus mit polynomieller
maximaler Rechenzeit gibt.
Satz: NP = RP∗.
27
Vereinfachte Variante von randomisierten TMs
Annahmen:
• polynomielle Schranke p(n) für maximale Rechenzeit;
• genügend Platz.
Modifizierte Maschine:
• Zufallsentscheidungen alle am Anfang:
Erzeuge maximal benötigte Anzahl von p(n) Zufallsbits,
auf separatem Teil des Bandes notieren
(z. B. Zellen −1, −2, . . .).
• Deterministische Simulation der TM:
Simuliere TM für gewählte Zufallsbits.
Im Wesentlichen Verdoppelung der Rechenzeit
(bis auf Auswertung von p(n)).
28
Speziell für nichtdeterministische Turingmaschinen:
Rate-Verifikations-NTM:
• Rate“ Zufallsbits.
”
• “Verifiziere“, ob für diese Eingabe akzeptiert werden muss.
Wichtige Technik zum Nachweis, dass Entscheidungsproblem in NP.
29
Logikorientierte Charakterisierung von NP und co-NP
• L ∈ NP genau dann, wenn es ein Entscheidungsproblem L′ ∈ P und ein Polynom p gibt, sodass
L = { x | ∃ r ∈ {0, 1}p(|x|) : (x, r) ∈ L′ }.
• L ∈ co-NP genau dann, wenn es ein Entscheidungsproblem L′ ∈ P und ein Polynom p gibt, sodass
L = { x | ∀ r ∈ {0, 1}p(|x|) : (x, r) ∈ L′ }.
30
D. NP-Vollständigkeitstheorie
Für viele schwere praktische Entscheidungsprobleme:
Gegebene Lösung verifizieren ist einfach.
Für viele solche Probleme
NP-Vollständigkeit nachweisbar.
Unter P 6= NP“-Hypothese haben NP-vollständige
”
Probleme keine Polynomialzeit-Algorithmen.
31
Zunächst alles für Entscheidungsprobleme.
Für Optimierungsprobleme betrachte
jeweils Entscheidungsvarianten.
Definition: Polynomielle Reduktion
Für Entscheidungsprobleme L und L′ gilt L ≤p L′
′
(L polynomiell reduzierbar auf L ), falls es Polynomialzeitberechenbare Abbildung f gibt, die alle Eingaben von L auf
′
die von L abbildet, sodass:
Für alle Eingaben x von L: x ∈ L ⇔ f (x) ∈ L′.
(Eselsbrücke für richtige Richtung: L′ nicht leichter als L“.)
”
32
Definition:
Entscheidungsproblem L heißt
• NP-schwer (NP-schwierig, NP-hart) bezüglich ≤p“, falls
”
′
′
für alle L ∈ NP gilt: L ≤p L;
• NP-vollständig (bezüglich ≤p“), falls
”
L ∈ NP und L ist NP-schwer bezüglich ≤p“.
”
Erinnerung: L NP-vollständig: L ∈ P ⇔ P = NP.
33
Nachweis der NP-Vollständigkeit:
• Satz von Cook: SAT ist NP-vollständig.
• Polynomielle Reduktionen auf andere Probleme.
• Transitivität von polynomiellen Reduktionen:
L1 ≤p L2 und L2 ≤p L3 ⇒ L1 ≤p L3.
Reduktionstechniken:
• Restriktion;
• lokale Ersetzung;
• verbundene Komponenten.
34
Reduktion durch Restriktion
NP-vollständiges Ausgangsproblem ist Spezialfall / Variante
des neuen Zielproblems.
Beispiel: PARTITION ≤p BP.
PARTITION:
Eingabe: a1, . . . , an ∈ N.
P
P
Frage:
Existiert I ⊆ {1, . . . , n}: i ∈I ai = i 6∈I ai ?
BP (Bin Packing):
Eingabe: Objektgrößen a1, . . . , an, Kistengröße b,
Kistenanzahl k.
Frage:
Objekte in k Kisten verpackbar?
35
Reduktion durch lokale Ersetzung
Wesentliche Bestandteile des Ausgangsproblems in
(ähnliches) Zielproblem hineinkodieren“.
”
Beispiel: DHC ≤p HC.
(DHC = Directed Hamiltonian Circuit,
HC = Hamiltonian Circuit.)
36
Reduktion durch verbundene Komponenten
Komponenten des Ausgangsproblems auf neu
zu entwerfende Komponenten im Zielproblem abbilden.
Beispiel: 3-SAT ≤p SSS.
SSS (Subset Sum):
Eingabe: a1, . . . , an ∈ N, s ∈ N.
P
Frage:
Existiert I ⊆ {1, . . . , n}: i ∈I ai = s?
Spezialfall von KP (Knapsack, Rucksackproblem):
Nutzenwerte = Gewichtswerte, exaktes Erreichen der
Gewichtsschranke. Also SSS ≤p KP.
Auch PARTITION ≤p SSS (trivial) und SSS ≤p PARTITION.
37
Reduktion 3-SAT → SSS (Beispiel):
SSS-Instanz:
3-SAT-Instanz:
c1 = x1 +x2 +x3
c2 = x1 +x2 +x4
c3 = x1 +x2 +x3
a1
a2
a3
a4
b1
b2
b3
b4
d1
d2
d3
e1
e2
e3
s
c1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
3
c2
0
1
0
0
1
0
0
1
0
1
0
0
1
0
3
c3
0
0
0
0
1
1
1
0
0
0
1
0
0
1
3
x1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
x2
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
x3
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
x4
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
38
Behandlung allgemeiner algorithmischer Probleme
Definition: Turingreduktion
Für algorithmische Probleme A, B gilt A ≤T B
(A turingreduzierbar auf B), falls:
Für A gibt es Algorithmus, der Algorithmus für B als
Unterprogramm benutzt, wobei
• Anzahl Aufrufe polynomiell beschränkt;
• Rechenzeit ohne Aufrufe polynomiell beschränkt;
• Eingabelänge für B-Algorithmus bei jedem Aufruf
polynomiell beschränkt.
39
Definition:
Algorithmisches Problem A heißt
• NP-schwer (NP-schwierig, NP-hart) (bezüglich ≤T “), falls
”
für alle B ∈ NP gilt: B ≤T A;
• NP-leicht (NP-einfach) (bezüglich ≤T ), falls
”
es ein B ∈ NP gibt mit: A ≤T B;
• NP-äquivalent (bezüglich ≤T “), falls
”
A NP-schwer und NP-leicht.
Konvention:
Diese Begriffe ohne bezüglich ≤T “.
”
NP-Vollständigkeit ohne bezüglich ≤p“.
”
40
Beziehungen zwischen Problemvarianten
Optimierungsproblem A gegeben.
Adec: Entscheidungsvariante (Schranke für Qualität
der Lösung vorgegeben);
Aeval: Auswertungsvariante (will Wert der optimalen Lösung);
Aopt: Optimierungsvariante (will optimale Lösung selbst).
Für viele natürliche Probleme:
Adec =T Aeval =T Aopt.
41
Hier nur am Beispiel von MAX-SAT.
• MAX-SATdec ≤T MAX-SATeval, MAX-SATeval ≤T MAX-SATopt:
Klar.
• MAX-SATeval ≤T MAX-SATdec:
Binäre Suche nach optimalem Wert.
• MAX-SATopt ≤T MAX-SATeval:
Maximal erfüllbare Klauselzahl berechnen. Setze Variablen
sukzessive auf passende Werte (Backtracking mit kurzen
Sackgassen).
42
7. Die Komplexitätsanalyse von Problemen
7.2 Pseudopolynomielle Algorithmen und
starke NP-Vollständigkeit
Praxis:
Viele Einschränkungen für Parameter eines Problems,
evtl. nur Spezialfall eines NP-vollständigen Problems.
Tatsächlich relevantes Problem kann einfach sein.
2-SAT ↔ 3-SAT
EC
↔ VC
2-DM ↔ 3-DM
. . . usw.
43
Hier: Werden Probleme leichter bei Einschränkung der
Größe der Zahlen in der Eingabe?
Bitlänge n → Zahlen aus {0, 1, . . . , 2n − 1}.
Beobachtung: Reduktion 3-SAT ≤p SSS:
n Variablen, m Klauseln →
2n + 2m Dezimalzahlen der Länge n + m.
Müssen diese Zahlen so lang sein?
Ist SSS nur für große Zahlen schwierig?
Notation: Für Eingabe x:
• |x|: Länge der Eingabe;
• max(x): größte Zahl in x (ganzzahlig und nichtnegativ).
44
Definition: Algorithmus A hat pseudopolynomielle Rechenzeit, falls Rechenzeit tA(x) durch Polynom in |x| und max(x)
beschränkt. Auch: A pseudopolynomieller Algorithmus.
Rucksackproblem KP:
Eingabe: Gewichte g1, . . . , gn, Gewichtsschranke G,
Nutzenwerte a1, . . . , an.
Ziel:
Max. Nutzen bei Einhaltung der Gewichtsschranke.
Algorithmen mit dynamischer Programmierung:
DAP2: O(nG);
EA:
O(n2 · max{a1, . . . , an}).
Beides pseudopolynomiell und praktisch relevant.
45
Notation:
Für algorithmisches Problem A und Polynom p sei Ap
das Problem, das aus A durch Einschränkung auf
Eingaben x mit max(x) ≤ p(|x|) entsteht.
Definition:
Entscheidungsproblem L heißt stark NP-vollständig, falls
Polynom p existiert, sodass Lp NP-vollständig ist.
46
Nur sinnvoll für Probleme, die überhaupt große Zahlen
in der Eingabe erlauben:
Also nicht: SAT, CLIQUE, VC, IS, VC, DHC, . . .
(Nicht sinnvoll, für Knotennummern in Graphen
große Zahlen zu verwenden.)
Aber: SSS, PARTITION, KP
BP
TSP
47
Satz 7.2.3:
P 6= NP ⇒ SSS, PARTITION, KP
nicht stark NP-vollständig.
Beweis:
Variante eines der Probleme mit polynomiell beschränkter
Zahlengröße gegeben: Bekannter pseudopolynomieller
Algorithmus hat sogar polynomielle Rechenzeit.
2
Umgekehrt also auch:
Falls P 6= NP ist, gibt es für stark NP-vollständige Probleme
nicht einmal pseudopolynomielle Algorithmen.
48
Satz 7.2.2:
TSP ist stark NP-vollständig.
Beweis:
Erinnerung: HC ≤p TSP2,∆,symm.
(TSP mit Distanzen ≤ 2, Dreiecksungl., Symmetrie.)
Knotenanzahl für HC sei n (keine großen Zahlen sinnvoll).
Die polynomielle Reduktion erzeugt
n Städte mit Distanzwerten 1 und 2.
Frage: Existiert Tour der Länge höchstens n?
2
49
Hatten für Rucksack- und Aufteilungsprobleme:
3-SAT ≤p SSS
≤ p PARTITION ≤p BP
≤
p
KP
SSS, PARTITION, KP haben pseudopolynomielle
Algorithmen.
Auch BP für zwei Kisten. Aber:
Satz 7.2.5: BP ist stark NP-vollständig.
Beweis hier nicht. . .
50
Zeige dazu, dass bereits folgender Spezialfall
stark NP-vollständig.
3-PARTITION:
Eingabe:
Objektgrößen a1, . . . , an, Kistengröße b.
Es sei n = 3k, a1 + · · · + an = kb und für alle i = 1, . . . , n:
b/4 < ai < b/2.
Frage: Objekte in k Kisten verpackbar?
Pro Kiste passen maximal drei, mindestens zwei Objekte.
Existiert Bepackung, sodass jeweils genau drei?
Wichtig als Basisproblem für Nachweis von starker
NP-Vollständigkeit.
51
8. Die Komplexität von Approximationsproblemen –
klassische Resultate
Wichtige Lösungsstrategie für NP-äquivalente
Optimierungsprobleme:
Versuche, fast optimale“ Lösung effizient zu berechnen.
”
Hilfreich für Rechtfertigung:
• Problemformulierung beinhaltet evtl. zwangsläufig
Approximation (z. B. TSPd -Euklid).
• Eingabedaten können ungenau bekannt / fehlerhaft sein.
Was heißt fast optimal“?
”
Ziel: Schranke für Abweichung vom optimalen Wert, Güte“.
”
52
Zunächst Notation für Optimierungsprobleme.
Definitionen:
Sei Eingabe x gegeben.
• S(x) = nichtleere Menge der (zulässigen) Lösungen für x.
• Für alle Lösungen s ∈ S(x):
v(x, s) = Wert von s bezüglich x.
• vopt(x) = optimaler Wert (Optimum) für x.
Wie gehabt, nur mit neuer Notation:
Optimierungsproblem: Algorithmisches Problem, bei dem für
Eingabe x korrekte Ausgaben die Lösungen s ∈ S(x) mit
v(x, s) = vopt(x) sind.
53
Unterscheide Minimierungsproblem (immer v(x, s) ≥ vopt(x))
und Maximierungsproblem (immer v(x, s) ≤ vopt(x)).
Statt optimaler Wert / Optimum auch entsprechend
passend minimaler Wert / Minimum bzw.
maximaler Wert / Maximum.
Optimierungsvarianten zu Entscheidungsproblem L:
MIN-L: Minimierungsvariante;
MAX-L: Maximierungsvariante.
54
Technische Annahmen:
•
Für alle x, s: v(x, s) > 0.
Für die betrachteten Probleme Werte nichtnegativ, jedoch:
v(x, s) = 0 möglich.
Meist nicht relevant:
– triviale Instanz oder
– auf triviale Weise bessere Lösungen.
Schlimmstenfalls als Spezialfall behandeln.
•
Für alle x, s: Bitlänge von s und v(x, s) polynomiell in |x|.
55
Erster Versuch einer Definition der Güte:
Additive Abweichung vom optimalen Wert:
Nimm |v(x, s) − vopt(x)| als Maß für Güte.
Schön: Genaue Messung!
Weniger schön für viele Anwendungen:
Nicht robust gegenüber Skalierung / Wahl von Einheiten.
Beispiel: Bin Packing
vopt(x) = 1800, v(x, s) = 1810 : – )
vopt(x) = 18,
v(x, s) = 28
:–(
Ähnlich: Euro vs. Cent, km vs. m usw.
56
Betrachtung von relativer Abweichung löst das Problem:
Definition:
• r(x, s) := v(x, s)/vopt(x) für Minimierungsproblem;
• r(x, s) := vopt(x)/v(x, s) für Maximierungsproblem.
Name: Approximationsgüte (oder kurz: Güte) für x und s.
(Engl.: approximation ratio.)
Fallunterscheidung → Güte immer ≥ 1.
Beachte: Je kleiner, desto besser!
57
Jargon:
• r(x, s) ≤ c, c ≥ 1:
Nenne s eine c-Approximation.
• r(x, s) ≤ 1 + ε, ε ≥ 0:
Nenne s eine ε-optimale Lösung.
Für Minimierungsproblem:
Wert von s höchstens 100 · ε % über dem Minimum.
Für Maximierungsproblem:
Maximum höchstens 100 · ε % über dem Wert von s, d. h.,
ε
% unter dem Maximum.
Wert von s höchstens 100 · 1+ε
58
Jetzt: Algorithmus A für das betrachtete Problem.
Für feste Eingabe x:
• Algorithmus A berechne zulässige Lösung sA(x) ∈ S(x).
• Approximationsgüte von Algorithmus A auf Eingabe x:
rA(x) := r(x, sA(x)).
Wie bei Rechenzeit: Worst-Case-Analyse.
Definition: Für Algorithmus A sei
rA(n) := max{rA(x) | |x| ≤ n}
die maximale Approximationsgüte von A.
59
Jargon (Forts.):
• Für ε ≥ 0 und alle n sei rA(n) ≤ 1 + ε:
Algorithmus A berechnet eine ε-optimale Lösung.
• Für c ≥ 1 und alle n sei rA(n) ≤ c:
Algorithmus A berechnet c-Approximation bzw.
approximiert das vorgegebene Problem
bis auf den Faktor c.
60
Gewohnt: Asymptotische Analyse bezüglich Parameter n.
Hier: Manchmal asymptotische Güte bezüglich
optimalem Wert aussagekräftiger als maximale Güte.
Beispiel:
BFD (best fit decreasing) polynomieller Algorithmus, der
Lösung für Bin Packing berechnet mit (siehe EA)
v(x, sBFD(x)) ≤
11
· vopt(x) + 4.
9
Damit:
11
4
rBFD(x) ≤
.
+
9
vopt(x)
O. B. d. A. vopt(x) ≥ 2 → rBFD(x) ≤ 29/9.
Für große Werte vopt(x) aber eher rBFD(x) ≈
11
.
9
61
Definition:
Für Algorithmus A definiere
∞
rA := inf{ b | ∀ ε > 0 ∃ v(ε) > 0
∀ x, vopt(x) ≥ v(ε) : rA(x) ≤ b + ε},
die asymptotische maximale Approximationsgüte von A.
Im Beispiel für BFD:
Da
4
→ 0 für vopt(x) → ∞ (x geeignet):
vopt(x)
∞
≤
rBFD
11
.
9
62
Definition:
Nenne algorithmisches Problem, bei dem korrekte Ausgaben
die Lösungen mit einer vorgegebenen Approximationsgüte
sind, Approximationsproblem. Algorithmus, der so etwas löst:
Approximationsalgorithmus.
Für welche Approximationsgüte bei vorgegebenem Problem:
NP-äquivalent → polynomiell lösbar?
Auswertungsvariante zu Approximationsproblem:
Für Eingabe x und vorgegebenes ε > 0 berechne b mit
• vopt(x) ∈ [b, b · (1 + ε)] für Maximierungsproblem;
1
• vopt(x) ∈ [b · 1+ε
, b] für Minimierungsproblem.
Dann z. B. bei Minimierung: vopt ≤ b ≤ (1 + ε) · vopt.
63
Wie Entscheidungsvariante definieren?
Betrachte hier Maximierungsprobleme.
Idee: Für Eingabe x und b, ε entscheide, ob
vopt(x) ∈ [b, b · (1 + ε)].
Ist das sinnvoll?
Typischerweise nicht. Wertebereich beschränkt:
Erhalte für hinreichend großes ε Test, ob vopt(x) ≥ b.
Also mindestens so schwer wie übliche
Entscheidungsvariante, keine Vereinfachung.
64
Beispiel: Triviale Algorithmen für CLIQUE
Betrachte Graphen mit n Knoten.
• Algorithmus T RIVIAL 1 gibt einen beliebigen Knoten des
Graphen als Clique der Größe 1 aus.
Maximale Approximationsgüte n.
• Algorithmus T RIVIAL 2 testet für feste Konstante k ∈ N alle
nichtleeren, höchstens k-elementigen Teilmengen, ob sie
Cliquen sind.
Maximale Approximationsgüte n/k.
Ziel für nichttriviale Algorithmen:
Möglichst konstante Güteschranke in polynomieller Zeit.
(Später mit PCP-Theorem: Für CLIQUE nicht möglich.)
65
Definition 8.1.1:
Sei r : N → [1, ∞) mit r(n + 1) ≥ r(n) für alle n gegeben.
Die Klasse APX(r(n)) enthält alle Approximationsprobleme,
die mit maximaler Approximationsgüte rA(n) ≤ r(n) durch
einen Polynomialzeit-Algorithmus A gelöst werden können.
[
APX :=
APX(c) (mit konstanter Approximationsgüte
Konstanten
in polynomieller Zeit approximierbar)
c≥1
\
∗
APX :=
APX(c) (für jedes c > 1 in polynomieller
Konstanten
Zeit approximierbar)
c>1
66
Beachte zur Definition von APX∗:
Verlangt für jede Konstante c > 1 die Existenz eines APX(c)Algorithmus – aber im Allgemeinen sind das verschiedene!
Also nicht: Existenz eines einzigen Algorithmus,
der für alle c > 1 ein APX(c)-Algorithmus ist.
(Der müsste immer eine optimale Lösung berechnen.)
Schön wäre aber: c > 1 von uns beliebig wählbar. . .
67
Definition 8.1.2:
Ein polynomielles Approximationsschema (PTAS) für ein
Optimierungsproblem Π ist ein Algorithmus mit Eingaben der
Form (x, ε), x eine Eingabe für Π und ε > 0 eine rationale
Zahl, der in polynomieller Zeit in |x| eine (1+ε)-optimale Lösung
für Π berechnet.
Die Komplexitätsklasse PTAS enthält alle Optimierungsprobleme, für die es ein PTAS gibt.
68
Leider immer noch nicht perfekt:
1/ε
Z. B. Rechenzeiten Θ(n
), Θ(n · 2
1/ε
) erlaubt.
Hätten also am liebsten Folgendes.
Definition 8.1.3:
Ein echt polynomielles Approximationsschema (FPTAS) ist
ein PTAS, bei dem für ein geeignetes Polynom p die Rechenzeit
für jede Eingabe (x, ε) höchstens p(|x|, 1/ε) ist.
Die Komplexitätsklasse FPTAS enthält alle Optimierungsprobleme, für die es ein FPTAS gibt.
Beobachtung: P ⊆ FPTAS ⊆ PTAS ⊆ APX.
69
8.2 Approximationsalgorithmen
Hier ausnahmsweise einige Algorithmen und obere
Schranken. Ausführlicher behandelt in EA und
Spezialvorlesung(en).
Ziel: Gefühl für Definitionen. Sehen, was geht.
Danach sehen, was nicht geht.
Zunächst ohne Details:
2
MAX-CLIQUE ∈ APX(O(n/ log n));
MIN-SC ∈ APX(ln n + 1) (→ EA).
70
Vertex Cover (MIN-VC): (→ auch in EA)
Idee: Maximales (nicht vergrößerbares) Matching
mit Greedy-Algorithmus.
G REEDY -M ATCHING:
1. Starte mit leerer Kantenmenge M.
2. Solange Kante existiert, deren beide Endknoten nicht zu
Kanten in M gehören:
Wähle Kante und füge sie zu M hinzu.
3. Gib Endknoten der Kanten in M aus.
71
Satz: G REEDY -M ATCHING berechnet Lösung für MIN-VC
mit Güte 2.
Beweis: Für berechnete Kantenmenge M sei |M| = k.
• Die konstruierte Knotenüberdeckung hat dann
höchstens 2k Knoten.
• Es sind bei der minimalen Lösung mindestens k Knoten zur
Überdeckung allein der Kanten in M erforderlich.
2
72
MAX-3-SAT
Jede Klausel mit genau drei verschiedenen Literalen.
Maximiere Anzahl erfüllter Klauseln.
Satz: MAX-3-SAT ∈ APX(8/7).
(Es gibt einen Approximationsalgorithmus mit polynomieller
Rechenzeit und maximaler Approximationsgüte 8/7.)
Auch in EA. Dort auch ausführlicher noch MAX-SAT.
Beweis: Übersicht:
1. Randomisierter Approximationsalgorithmus.
2. Derandomisieren mit Methode der bedingten
Wahrscheinlichkeiten.
73
Randomisierter Approximationsalgorithmus (1/2)
Variablen x1, . . . , xn, Klauseln c1, . . . , cm.
Idee:
Variablen mit unabhängigen, gleichverteilten
Zufallsbits belegen.
Wahrscheinlichkeit, dass einzelne Klausel erfüllt:
8 Belegungen, davon 7 erfüllend → Wahrscheinlichkeit 7/8.
Wahrscheinlichkeit, dass viele Klauseln erfüllt sind?
74
Randomisierter Approximationsalgorithmus (2/2)
Für i = 1, . . . , m:
Xi := [ Klausel ci erfüllt ] :=
(
1, Klausel ci erfüllt;
0, sonst.
Dann: E Xi = Pr{Xi = 1} = 7/8.
X := X1 + · · · + Xm ist (zufällige) Anzahl erfüllter Klauseln.
Linearität des Erwartungswertes ⇒
X
X
m
m
E Xi = (7/8)m.
EX = E
Xi =
i =1
i =1
Beobachtung:
Es ex. feste Belegung mit k ≥ (7/8)m erfüllten Klauseln.
Approximationsgüte
kopt
k
≤
m
(7/8)m
=
8
.
7
75
Derandomisieren (1/2)
Plan: Fixiere Variablen sukzessive. Sicherstellen, dass für
zufällige Wahl der restlichen Variablen erwartete Anzahl
erfüllter Klauseln immer noch mindestens (7/8)m.
Im Laufe des Verfahrens Klauseln mit 0–3 fixierten Literalen.
Betrachte Fixierung xn = b ∈ {0, 1}.
Berechne ai := E (Xi | xn = b) für i = 1, . . . , m.
Falls xn = b Klausel ci erfüllt: ai = 1.
Sonst: • Noch k ∈ {1, . . . , 3} unfixierte Literale in ci ⇒
ai = (2k − 1)/2k = 1 − 1/2k .
• Falls alle Literale falsch“ fixiert: ai = 0.
”
Damit: E (X | xn = b) = a1 + · · · + an berechenbar in Zeit O(m).
76
Derandomisieren (2/2)
Mit Satz von der totalen Wahrscheinlichkeit:
1
1
E (X ) = · E (X | xn = 0) + · E (X | xn = 1).
2
2
E (X ) ≥ (7/8)m ⇒
E (X | xn = 0) ≥ (7/8)m oder E (X | xn = 1) ≥ (7/8)m.
Wähle xn = bn mit E (X | xn = bn) ≥ (7/8)m.
Iterieren → b1, . . . , bn ∈ {0, 1} mit
E (X | x1 = b1, . . . , xn = bn) ≥ (7/8)m.
Damit feste Belegung mit Güte 8/7.
Rechenzeit insgesamt O(nm).
2
77
Bin Packing (MIN-BP)
F IRST -F IT (FF):
Packe Objekte der Reihe nach ein.
Nimm neue Kiste, sobald aktuelles Objekt in keine der
vorhandenen Kisten passt.
In DAP 2 bewiesen:
F IRST -F IT liefert 2-Approximation von BP.
Außerdem:
• Aufwändigere Analyse: vFF ≤
17
17
∞
· vopt + 3, rFF ≤ .
10
10
• Für Worst-Case-Beispiel x:
vFF(x)
5
≈ 1,667.
≥
3
vopt(x)
78
B EST -F IT -D ECREASING (BFD):
Sortiere Objekte der Größe nach absteigend.
Packe das aktuelle Objekt in die Kiste mit dem geringsten
verbliebenen Freiraum. Falls nicht möglich, neue Kiste.
Ohne Details:
• BFD erreicht Approximationsgüte 3/2.
∞
11
• vBFD ≤ 9 · vopt + 4, rBFD ≤ 11
≈ 1.222.
9
Außerdem sogar mit polynomiellem Algorithmus
(Karmarkar und Karp 1982):
∞
2
vKK ≤ 1 + O (log vopt)/vopt , rKK = 1.
So genanntes asymptotisches FPTAS.
79
TSP-Varianten:
MIN-TSP∆
∈ APX(3/2) und sogar
MIN-TSPd -Euklid ∈ PTAS.
(Wieder ohne Details.)
Konkrete Algorithmen bisher nur vom APX-Typ.
Daher nun noch zur Demonstration
ein PTAS und ein FPTAS.
80
Makespan Scheduling für zwei identische Prozessoren
Eingabe: Berechnungszeiten t1, . . . , tn für n Jobs.
Ziel:
Verteile Jobs auf zwei Prozessoren so, dass das Maximum
über die Belastungen der Prozessoren minimiert wird:
Finde I ⊆ {1, . . . , n}, sodass
nX X o
ti minimal.
ti ,
Makespan := max
i ∈I
i 6∈I
Ziel: PTAS für dieses Problem.
81
Greedy-Algorithmus:
L EAST -L OADED:
Verteile Jobs in irgendeiner Reihenfolge.
Ordne aktuellen Job jeweils dem Prozessor mit der
bisher geringsten Belastung zu.
In EA wird gezeigt:
Liefert 2-Approximation von Makespan-Scheduling
(sogar für beliebige Prozessorenzahl).
Idee für Verbesserung: Große Jobs zuerst.
82
T := t1 + · · · + tn Gesamtdauer aller Jobs.
Job heißt groß, falls er Rechenzeit mindestens εT hat.
Restliche Jobs klein.
Beobachtung: Es gibt höchstens 1/ε große Jobs.
PTAS für Makespan bei zwei Prozessoren:
⌊1/ε⌋
Für jede der höchstens 2
möglichen Zuordnungen
der großen Jobs:
Wende Least-Loaded-Heuristik auf kleine Jobs an.
Gib gefundene Lösung mit kleinstem Makespan aus.
Noch eine Beobachtung: Rechenzeit O(n 2
1/ε
).
83
Analyse der Güte:
• Triviale untere Schranke für optimale Lösung:
vopt (x) ≥ T/2.
• Betrachte Versuch des Algorithmus, bei dem große Jobs so
verteilt wie in einer optimalen Lösung.
– Kleine Jobs alle auf einem Prozessor: fertig, optimal.
– Sonst ist letzter Job auf später fertig werdendem
Prozessor klein. Greedy-Vorgehen ⇒
Unterschied der Belastungen höchstens εT .
Abstand des später fertig werdenden Prozessors von T/2
also höchstens (ε/2)T . Damit:
v(x, s) ≤ T/2 + (ε/2)T = (1 + ε) · T/2 ≤ (1 + ε) · vopt(x).
Methode: Glättung des Lösungsraumes“.
”
2
84
Neues Ziel: FPTAS für das Rucksackproblem
(hier nur Ideen, ausführlich in EA).
Vorgehensweise: Glättung des Suchraumes“.
”
• Vorverarbeitung abhängig von ε, die Problem vereinfacht.
• Dann exakten Algorithmus anwenden.
Exakter Algorithmus:
Dynamische Programmierung mit Minimierung des Gewichts
für vorgegebenen Nutzen.
Rechenzeit: O(n2 · max{a1, . . . , an}).
Vorverarbeitung: Abschneiden von Stellen der Nutzenwerte.
Für t ∈ N geeignet und i = 1, . . . , n:
ai → a′i := ⌊ai /2t ⌋.
85
Wahl von t: Tradeoff.
′
′
• Falls t zu klein: Zahlen a1, . . . , an zu groß,
Rechenzeit der dynamischen Programmierung,
O(n2 · max{a′1, . . . , a′n}),
zu groß.
• Falls t zu groß: Güte zu schlecht.
Es gibt geeignetes t, sodass
′
′
max{a1, . . . , an} = Θ(n/ε),
also Rechenzeit O(n3 · (1/ε)). Güte 1 + ε.
86
8.3 Die Lückentechnik
Ziel: Nichtapproximierbarkeitsergebnisse, falls P 6= NP.
FPTAS
PTAS
A 6∈
APX(c), c > 1 geeign. Konst.,
APX
Nahe liegende Idee:
Approximationsalgorithmus für Optimierungsproblem →
Lösung von NP-vollständigem Entscheidungsproblem.
Problem:
Ausgabewerte 0/1 zu dicht beieinander.
87
Abhilfe: Problem, bei dem für alle Eingaben x entweder
• vopt(x) ≤ a oder
• vopt(x) ≥ b > a
gilt und es NP-schwer ist, beide Eingabetypen voneinander zu
unterscheiden. Nenne dies (a, b)-Lückenproblem.
Kann Approximationsalgorithmus mit Güte kleiner als b/a
benutzen, um Eingabetypen zu unterscheiden.
O. B. d. A. für Minimierungsproblem.
• vopt ≥ b: Algorithmus berechnet Lösung mit Wert v ≥ b.
• vopt ≤ a: Algorithmus berechnet Lösung mit Wert v, sodass
v
b
< ,
vopt
a
b
also v < · vopt ≤ b.
a
88
Bemerkung 8.3.1:
Falls ein (a, b)-Lückenproblem NP-schwer ist und der Wert der
Lösung in Polynomialzeit berechenbar: Für zugehöriges
Optimierungsproblem ist es NP-schwer, eine Approximationsgüte kleiner als b/a zu erreichen.
Wie anwenden? Ideal wäre:
Universell verwendbares Basis-Lückenproblem,
dann (geeignete) Reduktionen.
MAX-SAT als Basis-Lückenproblem?
Beweis des Satzes von Cook:
x ∈ L: Alle m Klauseln erfüllt.
x 6∈ L: Kann trotzdem Variablen so belegen,
dass m − 1 Klauseln erfüllt. : – (
Später: Abhilfe durch PCP-Theorem.
89
Hier klassische“ Möglichkeiten, Lückentechnik zu nutzen.
”
Beobachtung: Lücken auf natürliche Weise bei einigen
polynomiellen Reduktionen.
HC ≤p TSP:
Kanten → Distanz 1, Nichtkanten → Distanz 2;
Lösung ist Hamiltonkreis → Tour der Länge n,
Lösung kein Hamiltonkreis → Tour der Länge ≥ n + 1.
Ein (n, n + 1)-Lückenproblem! Na ja.
Aber: Beliebige, in n polynomiell lange Zahlen
in Distanzmatrix wählbar.
90
HC ≤p TSP (Forts.):
Kanten → Distanz 1, Nichtkanten → Distanz n 2n;
Lösung ist Hamiltonkreis → Tour der Länge n,
Lösung kein Hamiltonkreis → Tour der Länge ≥ n − 1 + n 2n.
Damit (n, n 2n + n − 1)-Lückenproblem. Und:
Satz 8.3.2:
Falls P 6= NP ist, hat MIN-TSP keinen polynomiellen
Approximationsalgorithmus mit Güte 2n.
Begriffe erlauben, Schwierigkeit“ von NP-äquivalenten
”
Optimierungsproblemen feiner als bisher zu messen.
91
Jetzt: Lückentechnik für ganze Problemklassen.
Definition:
Problem hat kleine Lösungswerte, falls Polynom p existiert,
sodass für alle x und s der Wert v(x, s) ganzzahlig, positiv
und höchstens p(|x|) ist.
Z. B. erfüllt für Aufteilungsprobleme wie MIN-BP,
Überwachungsprobleme wie MIN-VC,
Teambildungsprobleme wie 3-DM,
MAX-SAT,
usw.
Auch für Rundreise- und Rucksackprobleme, falls
zusätzliche polynomielle Beschränkung der Zahlen in
der Eingabe.
92
Satz 8.3.3: Falls P 6= NP ist, haben NP-schwere Probleme
mit kleinen Lösungswerten kein FPTAS.
Beweis:
Es ex. Polynom p, sodass Lösungswerte aus {1, . . . , p(n)}
für Eingabelänge n.
Annahme: FPTAS A gegeben, anwenden für ε(n) = 1/p(n).
Rechenzeit dann polynomiell und Güte 1 + ε(n).
Problem NP-schwer, A polynomiell, P 6= NP ⇒
Es ex. Eingabe x, sodass A für x Lösung s berechnet mit
v(x, s) 6= vopt(x).
Lösungswerte aus {1, . . . , p(n)} ⇒
rA(x) ≥ p(n)/(p(n) − 1) = 1 + 1/(p(n) − 1) > 1 + ε(n).
Widerspruch!
2
93
Stark NP-schwere Probleme:
Spezialfall der Anwendung des letzten Satzes:
Optimierungsprobleme, für die Entscheidungsvariante
stark NP-vollständig ist. Nenne solche Probleme
stark NP-schwer.
Für viele natürliche Optimierungsprobleme:
Auf polynomiell große Zahlen in der Eingabe eingeschränkte
Problemvariante hat auch kleine Lösungswerte.
(Wert der Zielfunktion für feste Anzahl von Parametern
beschränkt durch Polynom in Parameterwerten.)
Beispiele: Bin Packing, Makespan Scheduling.
Für diese Probleme damit kein FPTAS, wenn P 6= NP.
94
Satz 8.3.4:
Falls P 6= NP ist, für ein Minimierungsproblem nur
ganzzahlige Lösungen existieren und die Entscheidung
vopt(x) ≤ k NP-schwer ist, dann gibt es keinen Approximationsalgorithmus mit Güte kleiner als 1 + 1/k.
Analog für Maximimierungsproblem und die Entscheidung,
ob vopt(x) ≥ k + 1.
Beweis: Erhalte wg. Ganzzahligkeit (k, k + 1)-Lückenproblem.
Bemerkung 8.3.1 ⇒ Behauptung.
2
Folgerung 8.3.5: P 6= NP ⇒
MIN-GC 6∈ APX(c) mit c < 4/3;
MIN-BP 6∈ APX(c) mit c < 3/2.
Beachte: MIN-BP hat dennoch asymptotisches FPTAS und
asymptotische Approximationsgüte ist 1.
95
Im Gegensatz dazu für MIN-GC:
Satz:
Falls P 6= NP ist, gibt es keinen Approximationsalgorithmus
für MIN-GC mit asymptotischer Approximationsgüte kleiner
als 4/3.
Beweis: Boosting-Technik.
Sei χ (G) Färbungszahl von gegebenem Graphen G = (V, E ).
Konstruiere in polynomieller Zeit aus G einen Graphen
Gk = (Vk , Ek ) mit χ (Gk ) = k · χ (G).
Dann: Lücke (3, 4) → Lücke (3k, 4k).
96
Konstruktion:
• Erzeuge k disjunkte Kopien von G.
• Verbinde je zwei Knoten aus verschiedenen Kopien
mit einer Kante.
G
G
G
G
k=4
97
Noch zeigen: χ (Gk ) = k · χ (G).
• χ (Gk ) ≤ k · χ (G):
Für jede Kopie reichen χ (G) Farben.
Benutze für Kopien jeweils disjunkte Farbsätze.
• χ (Gk ) ≥ k · χ (G):
Benötige für jede Kopie χ (G) Farben.
Keine Farbe in mehr als einer Kopie erlaubt.
2
98
Zusammenfassung:
P 6= NP ⇒
MAX-KP ∈ FPTAS − P;
MIN-BP ∈ APX − PTAS;
MIN-GC 6∈ PTAS;
MIN-TSP 6∈ APX.
99
8.4 Approximationserhaltende Reduktionen
Ziel: (Nicht-)Approximierbarkeitsergebnisse auf andere
Probleme übertragen, Verwandschaft zwischen Problemen
(bez. Approximierbarkeit) entdecken.
Polynomielle Reduktionen?
Beispiel: IS ≤p VC
G = (V, E ),
|V | = n:
Independent Set
V′ ⊆V
n−k
Vertex Cover
V ′′ = V − V ′
k
• 2-Approx. von VC mit G REEDY -M ATCHING: k ≤ 2kopt.
• Für IS: Wert n − k ≥ n − 2kopt, Güte (n − kopt)/(n − 2kopt).
···
kopt = n/2, k = n
100
Hier: PTAS-Reduktionen.
Will: Optimierungsprobleme A, B mit A ≤PTAS B, dann:
• B hat PTAS ⇒ A hat PTAS; damit natürlich auch
• A hat kein PTAS ⇒ B hat kein PTAS.
Problem A:
Problem B:
f
x
x ′ = f (x)
PTAS für B
g
′
s = g(s ) ∈ SA(x)
′
′
′
s ∈ SB (x )
′
Dabei für Güten: rB (x , s ) ≤ 1 + α(ε) ⇒ rA(x, s) ≤ 1 + ε.
101
Definition 8.4.1: PTAS-Reduktion
PTAS-Reduktion von A auf B, A ≤PTAS B, ist Tripel von
Abbildungen (f , g, α):
• Für Eingabe x für A ist Eingabe f (x) für B in
Polynomialzeit berechenbar.
• Für Eingabe x für A, Lösung s ∈ SB (f (x)) und ε ∈ Q+ ist
Lösung g(x, s, ε) ∈ SA(x) in Polynomialzeit berechenbar.
+
+
• α : Q → Q surjektiv und in Polynomialzeit berechenbar,
sodass
rB (f (x), s) ≤ 1 + α(ε) ⇒ rA(x, g(x, s, ε)) ≤ 1 + ε.
102
Lemma 8.4.2: B ∈ PTAS, A ≤PTAS B ⇒ A ∈ PTAS.
Beweis:
PTAS für A: Eingaben x und Güteparameter ε.
• Wende PTAS für B auf f (x) und Güteparameter α(ε) an.
Erhalte α(ε)-optimale Lösung s für B.
• Berechne Lösung g(x, s, ε) für A und gib sie aus.
Ist ε-optimal wegen dritter Eigenschaft von PTAS-Reduktionen.
Außerdem alles wirklich in Polynomialzeit berechenbar.
2
103
Lemma 8.4.3: B ∈ APX, A ≤PTAS B ⇒ A ∈ APX.
Beweis:
B ∈ APX: Es gibt polynomiellen Approximationsalgorithmus X
für B, der c-Approximation berechnet, c ≥ 1 Konstante.
α aus PTAS-Reduktion, insbesondere surjektiv ⇒
Es gibt ein c′ ≥ 1, sodass α(c′ − 1) = c − 1.
Ist Konstante wg. Def. von α unabhängig von Eingaben.
Algo. X anstelle von PTAS im Bew. von Lemma 8.4.2 →
Polynomieller Approximationsalgorithmus für B, der
c′-Approximation berechnet.
2
104
Wichtige Eigenschaften der Relation ≤PTAS:
Reflexivität: Wähle f (x) = x, g(x, s, ε) = s, α(ε) = ε.
Transitivität: (f1, g1, α1) PTAS-Reduktion A → B,
(f2, g2, α2) PTAS-Reduktion B → C:
Problem A
(x, ε)
Problem B
f1, α1
(f1(x), α1 (ε))
Problem C
f2, α2
((f2 ◦ f1)(x), (α2 ◦ α1)(ε))
PTAS für C
s = g1(x, s1, ε)
ε-optimal für A
g1
s1 = g2(f1 (x), s2, α1(ε))
α1(ε)-optimal für B
g2
s2 ∈ SC ((f2 ◦ f1)(x))
(α2 ◦ α1)(ε)-optimal für C
Damit ist ≤PTAS partielle Ordnung auf Äquivalenzklassen
bezüglich =PTAS (A =PTAS B :⇔ A ≤PTAS B ∧ A ≥PTAS B).
105
Satz 8.4.4:
MAX-3-SAT
≤PTAS MAX-CLIQUE und
MAX-CLIQUE =PTAS MAX-IS.
Beweis MAX-CLIQUE =PTAS MAX-IS:
f
G = (V, E )
→
G = (V, E )
g = id
′
V Clique (unabh. Menge)
→
V ′ unabh. Menge (Clique)
α = id
ε
→
ε
2
106
Beweis MAX-3-SAT ≤PTAS MAX-CLIQUE:
Benutze alte polynomielle Reduktion, Erinnerung:
Klauseln:
c1
c2
··
·
cm
1.Lit.: 2.Lit.: 3.Lit.:
··
·
··
·
··
·
Kanten nur zwischen
verschiedenen Zeilen und
sich nicht widersprechenden
Literalen
f
3-SAT-Formel ϕ → f (ϕ) = G, G = (V, E )
Bisher ausgenutzt: ϕ erfüllbar ⇔ f (ϕ) hat m-Clique.
107
Beobachtung: Mind. k Klauseln erfüllbar ⇔
Clique in f (ϕ) mit mind. k Knoten.
Klauseln ci1 , . . . , cik erfüllt:
Für Zeilen i1, . . . , ik existiert erfülltes Literal.
Zugehörige Knoten alle durch Kanten verbunden.
Knoten vi1,j1 , . . . , vik ,jk bilden k-Clique:
Literale an Positionen (i1, j1), . . . , (ik , jk ) gemeinsam
erfüllbar. Wähle Variablenbelegung konsistent zu diesen
Literalen. Dann (mind.) Klauseln ci1 , . . . , cik erfüllt.
′
Aus Eingabe ϕ und k-Clique V ⊆ V in G = f (ϕ)
Variablenbelegung g(ϕ, V ′) berechenbar in Polynomialzeit.
(Beachte: Abbildung g hier unabhängig von ε.)
Wähle α(ε) := ε.
108
Haben bisher:
ϕ = c1 ∧ · · · ∧ cm
k-Clique in G
ε
f
→
g
→
G = (V, E )
Belegung, die mind.
k Klauseln erfüllt
α = id
→
ε
Außerdem:
MAX-CLIQUE
MAX-3-SAT
(f (ϕ)).
(ϕ) = vopt
vopt
Damit liefert (1 + ε)-optimale Lösung für MAX-CLIQUE auf G
auch (1 + ε)-optimale Lösung für MAX-3-SAT.
2
109
Negatives Beispiel: MAX-4-SAT → MAX-3-SAT
Spezialfall der alten Reduktion SAT ≤p 3-SAT:
ϕ → ϕ′ = f(ϕ):
Neue Variablen z1, . . . , zm. Für i = 1, . . . , m:
ci = (ℓi ,1 + ℓi ,2 + ℓi ,3 + ℓi ,4) → (ℓi ,1 + ℓi ,2 + zi )(zi + ℓi ,3 + ℓi ,4).
Insgesamt: m Klauseln für 4-SAT → 2m Klauseln für 3-SAT.
Dumm: Bereits m Klauseln trivial erfüllbar in f (ϕ)!
Damit triviale 2-Approximation für MAX-3-SAT-Instanzen.
110
Also: Abbildung f nicht für PTAS-Reduktion geeignet.
Z. B.: Maximale Anzahl erfüllbarer Klauseln in ϕ sei m.
In Lösung für f (ϕ) nur eine richtig“ erfüllt, m trivial“ erfüllt:
”
”
MAX-4-SAT
/v = m.
vopt
Maximale Güte für MAX-4-SAT also mindestens m.
Für MAX-3-SAT 2-Approximation, bräuchte konstantes ε > 0
mit α(ε) = 1 und Güte für MAX-4-SAT höchstens 1 + ε.
111
8.5 Vollständige Approximationsprobleme
Identifiziere schwierigste“ natürliche Optimierungsprobleme
”
wie bei NP-Vollständigkeitstheorie.
Brauche zunächst Analogon zur Klasse NP.
NP: Einfach, wenn Beweis“ für x ∈ L gegeben.
”
NPO: Einfach, wenn Lösung vorgegeben.
112
Definition 8.5.1:
Optimierungsproblem A gehört zur Klasse NPO, falls:
• Für alle x und s:
Wert der Lösung, v(x, s), ganzzahlig.
• Für alle x und s:
Test, ob s ∈ S(x) (zulässige Lösung) in Polynomialzeit.
• Für alle x und s ∈ S(x):
Berechnung des Lösungswertes v(x, s) in Polynomialzeit.
MIN-NPO: Einschränkung auf Minimierungsprobleme;
MAX-NPO: Einschränkung auf Maximierungsprobleme.
Natürliche Eigenschaften, auch schon früher
manchmal gefordert (Ganzzahligkeit → Abschnitt 8.3).
Beachte: Zusätzlich Eigenschaften vom Anfang von Kap. 8
(positive Werte, Längenbeschränkung für s und v(x, s)).
113
Beobachtung: Alte Komplexitätsklassen zu groß“.
”
Die Klasse APX enthält alle Entscheidungsprobleme.
Maximierungsvariante von L ⊆ Σ∗:
Für Eingabe x ∈ Σ∗:
S(x) := {0, 1}.
Für s ∈ {0, 1}:
(
1, falls s 6= [x ∈ L];
v(x, s) :=
2, falls s = [x ∈ L].
Triviale 2-Approximation: Immer Ausgabe 1.
Also L ∈ APX(2).
114
Anpassung der Definitionen der Komplexitätsklassen:
Ab jetzt nur noch NPO-Probleme betrachten. Definiere z. B.
APXneu := APXalt ∩ NPO.
Beobachtung: Für die neuen Klassen gilt
P ⊆ FPTAS ⊆ PTAS ⊆ APX ⊆ NPO.
(Anmerkung: P enthält Optimierungsprobleme)
Damit alle natürlichen Optimierungsprobleme eingefangen“.
”
115
Definition 8.5.2:
Optimierungsproblem A heißt NPO-vollständig, falls
• A ∈ NPO; und
• für alle B ∈ NPO: B ≤PTAS A.
Analog APX-vollständig, PTAS-vollständig.
Hätte jetzt jeweils gerne Start-Probleme für diese Begriffe,
dann Transitivität der PTAS-Reduktion ausnutzen. . .
PCP-Theorem liefert: MAX-3-SAT ist APX-vollständig.
Hier MAX-NPO-vollständiges Problem mit
klassischen Methoden.
116
Definition: MAX-W-SAT: (W → weighted“)
”
Eingabe: Klauseln c1, . . . , cm über x1, x 1, . . . , xn, x n.
Gewichte w1, . . . , wn ∈ N0 für Variablen.
Lösungsmenge: alle Belegungen a ∈ {0, 1}n.
v((c1, . . . , cm), a)
(
P
max{1, i wi ai }, falls a erfüllend;
:=
1,
sonst.
Ziel: Maximierung.
Satz 8.5.3: MAX-W-SAT ist MAX-NPO-vollständig.
117
Beweis:
Klar: MAX-W-SAT ∈ NPO.
Rest des Beweises:
Problem A ∈ NPO sei vorgegeben.
Konstruiere PTAS-Reduktion A → MAX-W-SAT.
Idee dazu:
Passe Reduktion aus dem Beweis des Satzes von Cook an.
118
Konstruiere NTM M für A:
Sei Eingabe x für A gegeben.
Nach Generalvoraussetzungen (Anfang Kap. 8) existiert
Polynom p, sodass für alle s ∈ S(x): |s| ≤ p(|x|).
1. Stecke p(|x|) Felder auf dem Band ab und generiere darin
nichtdeterministisch String s.
2. Teste, ob s ∈ S(x). Falls ja, berechne v(x, s) und schreibe
dies hinter s auf das Band, akzeptiere. Falls nicht, verwirf.
Realisiere dies in Polynomialzeit. Möglich, da A ∈ NPO.
Auch: Kodierung dieser NTM in polynomieller Zeit aus x
berechenbar.
119
Konstruktion der MAX-W-SAT-Instanz:
Anwendung der Reduktion aus dem
Beweis des Satzes von Cook:
NTM M mit poly. poly. Zeit
SAT-Instanz ϕ = c1 ∧ · · · ∧ cm
−→
Rechenzeit
ϕ erfüllbar ⇔ M akzeptiert Eingabe
Erinnerung: In ϕ (u. a.) Variablen, die Bandinhalt kodieren.
Definition der Gewichte:
• Variable, die zu Position mit Wertigkeit 2i in v(x, s) auf dem
i
Band gehört, erhält Gewicht 2 .
• Alle anderen Variablen: Gewicht 0.
Insgesamt Abbildung f für PTAS-Reduktion fertig.
120
Rücktransformation der Lösungen:
Per Definition von Optimierungsproblemen: S(x) 6= ∅.
Damit existiert erfüllende Belegung a für ϕ = f (x).
Betrachte erfüllende Belegung a.
Diese kodiert nichtdet. Rechnung der NTM M für Eingabe x.
Damit beschreibt a Inhalt des abgesteckten Bandbereiches
für Lösungen. Nenne diesen Bandinhalt sa. Es ist sa ∈ S(x).
Sei sDummy irgendeine Lösung aus S(x).
(
sa,
falls a erfüllend;
g(x, a, ε) :=
sDummy, sonst.
121
Gütetransformation:
Wähle α(ε) = ε.
Z. z.: rMAX-W-SAT(f (x), a) ≤ 1 + ε ⇒ rA(x, g(x, a)) ≤ 1 + ε.
Dies ist erfüllt:
• Mengen der Lösungswerte und insbes. Optima gleich.
Denn (wieder Generalvoraussetzungen und NPO-Def.):
Wert v(x, s) für A immer ganzzahlig und positiv.
• Falls a erfüllend, ist g(x, a) = sa und Wert für
MAX-W-SAT-Instanz f (x) und Lösung a ist genau der
Lösungswert v(x, sa) für A.
• Falls a nicht erfüllend, ist Wert für MAX-W-SAT = 1,
rücktransformierte Lösung ist sDummy. Diese hat in A Wert
mindestens 1.
2
122
Ähnlich: MIN-W-SAT ist MIN-NPO-vollständig.
Technischer Beweis: MAX-W-SAT =PTAS MIN-W-SAT.
Folgerung:
Satz 8.5.4:
MAX-W-SAT und MIN-W-SAT sind NPO-vollständig.
123
9. Die Komplexität von Black-Box-Problemen
Übersicht:
• Black-Box-Optimierung
• Das Minimax-Prinzip von Yao
• Untere Schranken für die Black-Box-Komplexität
• No-free-Lunch-Theorem
124
9.1 Black-Box-Optimierung
Randomisierte (und auch deterministische) Suchheuristiken
sind in den Anwendungen sehr beliebt, aber sie garantieren
nichts – die Güte der Lösung ist unbekannt.
Zu anwendungsrelevanten Algorithmentypen sollte es eine
passende Komplexitätstheorie geben.
Geht das bei Heuristiken?
125
Was sind Heuristiken?
• lokale Suche
• randomisierte lokale Suche
• Metropolis-Algorithmus
• Simulated Annealing
• Tabu Search
• evolutionäre Algorithmen
(1+1), (1+λ), (µ+1), (µ+λ) EA
Mutationsoperatoren
Selektionsverfahren
Rekombination / Crossover
Diversitätserhaltung
u. v. a.
126
Die Metaheuristik für Funktionen f : Sn → R
↓
endlich, z. B. {0, 1}n,
alle Touren auf {1, . . . , n},
...
1. Wähle eine Wahrscheinlichkeitsverteilung p1 auf Sn,
wähle x1 zufällig gemäß p1, berechne f (x1).
2. Für t > 1 wird nur in Abhängigkeit von
It = ((x1, f (x1)), . . . , (xt−1, f (xt−1))) gearbeitet:
• Stoppe, wenn Stoppkriterium erfüllt.
• Ansonsten wähle in Abhängigkeit von It eine W.verteilung
pt auf Sn, wähle xt zufällig gemäß pt , berechne f (xt ).
127
• Alle genannten Heuristiken passen in dieses Schema.
• Fast alle von ihnen beschränken die Information It über die
Vergangenheit, nur s(n) Paare (xi , f (xi )), neue Suchpunkte
können nun gespeichert werden, wenn alte eliminiert
werden.
• Unsere Probleme sind aber doch anders“,
”
keine Funktion oder . . . ?
128
Probleme können stets als Funktionenklassen
aufgefasst werden:
• MIN-TSP auf n Städten:
Für Distanzmatrix D betrachte
fD : Σn → R mit
fD (π) := Kosten der Rundreise π bezüglich D.
• MAX-CLIQUE auf Graphen mit n Knoten:
Für Graphen G betrachte
fG (V ′) :=
(
|V ′|
0
falls V ′ Clique in G
sonst.
129
Nun aber auch strukturelle“ Klassen:
”
• alle Polynome f : {0, 1}n → R vom Grad höchstens d ;
n
• alle unimodalen Funktionen f : {0, 1} → R, d. h. , jeder
nicht global optimale Suchpunkt hat einen besseren
Hamming-Nachbarn.
Was unterscheidet Heuristiken von anderen
randomisierten Algorithmen?
130
Normale Algorithmen kennen das Problem, also die betrachtete
Klasse von Funktionen, die Dimensionen n des Suchraums und
die betrachtete Probleminstanz f .
Black-Box-Algorithmen (randomisierte Suchheuristiken)
verzichten“ auf die Kenntnis von f und erhalten Information
”
über f nur durch Sampling x → f (x).
Anschaulich: f ist in einer black box“ eingesperrt,
” x
f (x)
−→
f
die befragt werden kann. −→
Begriff: Black Box ← Ernst Mach (1905).
131
Einwand: Aber es gibt doch auch Heuristiken,
die Kenntnisse über f verwenden.
Das sind hybride Algorithmen, die Heuristiken mit problemspezifischem Wissen verbessern.
Erst einmal: Analyse reiner Heuristiken.
Einwand: Warum sollten wir uns künstlich dumm stellen und
Kenntnisse über die Probleminstanz nicht verwenden?
Prinzipiell sollten wir alles tun, um Algorithmen schnell zu
machen, aber es gibt Szenarien, in denen Heuristiken die
richtige Wahl sind.
132
Szenario 1:
Algorithmische Probleme sind Teilprobleme in Projekten.
Lösungen, also Algorithmen, werden schnell gebraucht.
Heuristiken sind eine gute Alternative, wenn
Geld, Zeit oder Expertise
nicht ausreichen, um einen problemspezifischen
Algorithmus zu entwerfen.
Aber:
Der beste problemspezifische Algorithmus übertrifft
normalerweise alle Heuristiken.
133
Szenario 2:
Die zu optimierende Funktion ist tatsächlich unbekannt.
Optimierung einer Maschine, z. B. Rührmaschine:
Jede Parametereinstellung x ∈ Sn definiert eine Maschine,
f (x) beschreibt ihre Qualität, f viel zu komplex, um analytisch
beschreibbar zu sein.
x → f (x) durch Experiment oder
Simulation des Experimentes
(z. B. Verhalten von Robotern
bei wechselndem Untergrund)
134
Wie bewerten wir die von Heuristiken
verbrauchten Ressourcen?
Anfragen an die Black Box sind teuer,
nur sie werden mit jeweils Kosten 1 bewertet.
→ untere Schranke aussagekräftig,
→ obere Schranken, weitere Ressourcen messen.
Stoppkriterien in den Anwendungen unkritisch.
→ analysiere Heuristik ohne Stoppen, also unendlichen
stochastischen Prozess, und bewerte sie z. B. mit der
erwarteten Zeit, bis optimaler Suchpunkt (oder
guter Suchpunkt) der Black Box vorgelegt wird.
135
Black-Box-Komplexität einer Funktionenklasse Fn auf Sn
= inf
A : A ist Black-Box-Algo auf Sn
sup
f ∈ Fn
Erwartungswert
von XA,f
bester Algorithmus
Worst-case-Eingabe
(bezüglich Zufallsbits der Heuristik)
(Zufallsvariable, die die Anzahl der
Black-Box-Anfragen bis zum ersten
optimalen Suchpunkt misst.)
136
Obere Schranken können zu klein“ sein, z. B. polynomiell für
”
NP-schwierige Probleme.
Maximierung quadratischer pseudoboolescher
n
Polynome f : {0, 1} → R :
f (x) = w0 +
X
1≤i ≤n
wi xi +
X
wi j xi xj .
1≤i <j ≤n
Das Problem ist als NP-schwierig bekannt, MAX-2-SAT
ist ein Spezialfall.
2
n
n
n
Ziel des Black-Box-Algo: Mit 0 + 1 + 2 = O(n ) Anfragen
die Gewichte herausfinden, dann f durch Ausprobieren
optimieren, dann als nächste Anfrage xopt.
137
n
f (0 ) = w0
f (0i −110n−i ) = w0 + wi
f (0
i −1
10
j −i −1
10
n−j
)
berechne wi für alle i
) = w0 + wi + wj + wi j → berechne wi j .
Also: Das Black-Box-Modell kann zu mächtig sein.
→
Beschränke Rechenzeit pro Schritt polynomiell.
→
Beschränke Information – was ist, wenn wir nur
n Paare (x, f (x)) abspeichern dürfen?
Hier: Untere Schranken im unbeschränkten Modell!
WIE?
138
Ein Ausflug in Zwei-Personen-Nullsummenspiele
Beispiel
Zeilenspieler I und Spaltenspieler II wählen unabhängig,
II zahlt an I
I







II

−4
7 −2
1 10

0
2
1
4
1 

−1
6 −10 −7
3 

−5 −1 −8
5 −4 
−2 −4 −1 −2
8
Nullsummenspiel: I bekommt, was II abgibt.
139
Beispiel 2:
I





II

Stein Schere Papier

Stein
0
1
−1 

Schere −1
0
1

Papier
1
−1
0
140
Pessimistische Analyse von Spieler I:
Strategien sind Wahrscheinlichkeitsverteilungen p auf {1, . . . , m}
bei m Zeilen der Matrix, Gegenstrategien sind W.verteilungen q
auf {1, . . . n} bei n Spalten.
Erwartete Auszahlung X (p, q).
Sp. I wählt p, ein allwissender Gegner kann die Auszahlung
auf minq X (p, q) drücken.
Beachte: Bei festem p gibt es für II eine beste reine Strategie
(Wkt. 1 für eine Spalte).
Grund: Satz von der totalen Wkt. liefert
Pn
X (p, q) = i =1 Prob(q = i ) · X (p, i ).
141
Also kann sich Spieler I eine erwartete Auszahlung von
vI = maxp minq X (p, q) = maxp minq
rein X (p, q)
sichern.
Dual: Spieler II kann sichern, dass die erwartete Auszahlung
nicht höher als
vII = minq maxp X (p, q) = minq maxp rein X (p, q)
ist.
Nullsummenspiel ⇒ vI ≤ vII.
Minimax-Theorem (von Neumann): vI = vII.
Hier genügt der einfache Teil vI ≤ vII.
142
Ausführlich:
vI = maxp minq rein X (p, q) ≤ minq maxp rein X (p, q) = vII.
Insbesondere:
′
′
∀ p, q : minq′ rein X (p, q ) ≤ vI ≤ vII ≤ maxp′ rein X (p , q)
Wir erhalten eine untere Schranke (aus Sicht von Spieler I) für
den Wert des Spiels, indem wir eine W.verteilung p wählen und
die beste deterministische Gegenstrategie betrachten.
143
9.2 Das Minimax-Prinzip von Yao
Was haben die Betrachtungen mit Algorithmen zu tun?
Black-Box-Komplexität ist als
infA Algorithmus supf Probleminstanz erwartete Fragezahl(A, f )
definiert.
Wenn Sn endlich, Menge deterministischer Algorithmen ohne
doppelte Fragen endlich: inf → min.
Wenn Eingabemenge endlich (Graphen auf n Knoten, Distanzmatrizen der Größe n × n mit Werten aus {1, . . . , N}, . . . ):
sup → max.
144
Algorithmenentwurf ist ein Zweipersonen-Nullsummenspiel
gegen den Teufel, der die Probleminstanz auswählt. Wir zahlen
für jeden Rechenschritt (hier: jede Black-Box-Frage).
Also: f ∈ Fn Probleminstanz
fp, gemäß p zufällige Eingabe
A deterministischer Suchalgorithmus
Aq , randomisierter Algorithmus (stets Verteilung über
deterministische Algorithmen)
T (fp, Aq ) := erwartete Rechenzeit für Aq und fp.
145
Satz 9.2.1:
Fn endliche Funktionenmenge auf endlichem Suchraum Sn.
A endliche Menge von deterministischen Algorithmen auf Fn.
Für jede W.verteilung p auf Fn und jede W.verteilung q auf A
gilt:
minA∈A T (fp, A) ≤ maxf ∈Fn T (f , Aq )
Wir erhalten untere Schranken für die Worst-Caseerwartete Rechenzeit randomisierter Algorithmen, indem
wir untere Schranken für die erwartete Rechenzeit
deterministischer Algorithmen bezüglich einer beliebigen
Verteilung auf der Eingabemenge beweisen.
146
Wir haben die Freiheit, eine uns geeignet erscheinende
Verteilung auf den Eingaben zu wählen.
Dies ist in solchen Situationen heutzutage die einzige Methode
für konkrete exponentielle untere Schranken ohne Annahmen
wie NP 6= P.
Und nun wollen wir die Methode anwenden!
147
9.3 Untere Schranken für die
Black-Box-Komplexität
Deterministische Suchstrategien lassen sich durch
Entscheidungsbäume beschreiben.
x1
a
x2(a)
b
x2(b)
c
1. Suchpunkt
mögliche Antworten
x2(c)
2. Suchpunkt
Für jedes f ∈ Fn, jede Probleminstanz, eindeutiger Suchpfad
von der Wurzel aus.
Suchzeit: Anzahl der Knoten, bis optimaler Suchpunkt gefragt
wird, nicht unbedingt ein Blatt.
148
Randomisierte Suchheuristiken:
Option 1: Randomisierte Entscheidungsbäume
1. Zufallsentscheidung
Kosten 0
r1
a
x1(a)
α
β
r2(a, α)
A
x2(a, α, A)
B
b
c
x1(b)
x1 (c)
γ
d
x1(d )
1. Suchpunkt
Kosten 1
2. Zufallsentscheidung
Kosten 0
2. Suchpunkt
Kosten 1
149
Option 2: Zufällige Auswahl eines deterministischen
Entscheidungsbaums
ZZG
...
deterministische
Entscheidungsbäume
Alle Zufallsentscheidungen vorab, praktisch ineffizient,
abstrakt hilfreich.
150
DAP 2:
• Jedes allgemeine Sortierproblem benötigt im Worst Case
mindestens ⌈log(n!)⌉ Vergleiche.
• Eingabeverteilung auf allen Ordnungstypen →
durchschnittliche Rechenzeit deterministischer Algorithmen.
Gleichverteilung → durchschnittliche Anzahl an Vergleichen
mindestens ⌈log(n!)⌉ − 1.
• Minimax-Prinzip → durchschnittliche Anzahl Vergleiche
randomisierter Algorithmen für Worst-Case-Eingabe mindestens ⌈log(n!)⌉−1.
151
Hier: Untere Schranke auf ähnliche Weise, aber
• nicht nur zwei Antworten wie bei Vergleichen,
• Antworten nicht notwendigerweise an Blättern.
Ohne weitere Annahmen gelingen keine besseren Schranken
als ⌈log |Sn|⌉.
Wie erhalten wir größere Schranken?
• Entscheidungsbäume müssen ziemlich unbalanciert“ sein.
”
• Dafür geeignete Eingabeverteilungen, nicht unbedingt
Gleichverteilung.
152
Ein einfaches Beispiel: die Nadel im Heuhaufen (needle in
the haystack):
n
N = {Na | a ∈ {0, 1} },
Na(x) =
(
1 x = a;
0 x 6= a.
Satz 9.3.1:
Die Black-Box-Komplexität von N beträgt 2n−1 + 1/2.
Beweis: Obere Schranke:
n
Wähle nach Gleichverteilung Permutation π auf {0, 1} und
wähle die Suchpunkte in Reihenfolge bzgl. π.
Erwartete Anzahl an Suchpunkten bis a:
n
n−1
1
(1
+
2
+
·
·
·
+
2
)
=
2
+ 1/2.
2n
153
Untere Schranke:
Minimax-Prinzip und Gleichverteilung auf N.
Aussehen aller deterministischen Suchstrategien ohne Wiederholung von Fragen:
a1
0
a2
0
0
STOP, Funktion Na1 W’keit 1/2n
STOP, Funktion Na2 W’keit 1/2n
...
a2n
1
1
1
passiert nicht STOP, Funktion Na2n W’keit 1/2n
Erwartete Fragenzahl:
1
(1
2n
+ 2 + · · · + 2n) = 2n−1 + 1/2.
2
154
Randomisierte lokale Suche und einfache evolutionäre
n
Algorithmen benötigen erwartete Zeit Θ(2 ), die Konstanten
sind größer als 1/2, da Fragen wiederholt werden.
Allgemeines Statement in Büchern: Evolutionäre Algorithmen
sind schlecht auf der Funktionenklasse N.
Aber wir wissen jetzt: Das Szenario Nadel im Heuhaufen“
”
hat eine hohe Komplexität und einfache Suchheuristiken sind
fast optimal.
155
Ein weiteres Beispiel: Fallen (trap functions).
2n
x = a;
n
T = {Ta | a ∈ {0, 1} }, Ta(x) =
x1 + · · · + xn x =
6 a.
Satz 9.3.2:
Die Black-Box-Komplexität von T beträgt 2n−1 + 1/2.
Beweis:
Obere Schranke: wie Satz 9.3.1.
Untere Schranke: Fast wie in Satz 9.3.1.
Nur die möglichen Antworten für die Frage b lauten
b1 + · · · + bn statt 0 und 2n statt 1.
2
156
Randomisierte lokale Suche versagt mit hoher Wahrscheinlichkeit auf T (für die meisten Ta mit hoher Wahrscheinlichkeit).
Evolutionäre Algorithmen haben für die meisten Ta eine
erwartete Suchzeit von 2Θ(n log n).
n
Zufällige Suche hat eine erwartete Suchzeit von 2 .
Das Szenario Falle“ hat eine hohe Komplexität und
”
evolutionäre Algorithmen sind schlecht.
157
Gängiges Statement: Evolutionäre Algorithmen haben es bei
”
unimodalen Funktionen leicht“.
Hier: Black-Box-Komplexität ist groß, aber evolutionäre
Algorithmen und randomisierte lokale Suche kommen dieser
Schranke nahe.
U(b(n)) := {f : {0, 1}n −→ {−n, . . . , b(n)} | f unimodal}
Obere Schranke: O(n · (b(n) + n))
Beweis: Zufälliger Anfangspunkt, danach stets zufälliger
Hammingnachbar des aktuellen Punktes, nur bessere Punkte
ersetzen den aktuellen Punkt.
158
Kann untere Schranken zeigen:
• 2n/2/ poly(n)
für b(n) = 2n.
• b(n)/log2 b(n) für b(n) = 2o(n).
Hier etwas schwächeres Ergebnis:
Satz 9.3.4:
Sei δ(n) = o(n).
Black-Box-Komplexität (U(2δ(n))) = 2Ω(δ(n)).
O(δ(n))
−Ω(n)
Erfolgswahrscheinlichkeit nach 2
Schritten ist 2
.
159
Beweis:
δ(n)
Gleichverteilung auf U(2 ) ?
Wie viele Funktionen enthält U(2δ(n)) ? – Ungeeignet.
Andere Verteilung:
Wir erzeugen einen zufälligen einfachen (d. h. kreisfreien) Pfad
P = (p0, p1, . . . , pm) mit Startpunkt p0 = 1n und H(pi , pi +1) = 1
(H = Hammingabstand).
fP (a) :=
i,
a = pi ;
a1 + · · · + an − n, a ∈
/ P.
160
Zwischenbemerkung: fP ist unimodal.
Beweis:
pm ist optimal,
pi hat besseren Hammingnachbarn pi +1,
a∈
/ P , also a 6= 1n, hat besseren Hammingnachbarn b,
definiert durch:
Sei aj = 0, dann bj = 1 und bk = ak für k 6= j .
Falls b ∈ P , ist fP (b) > fP (a).
Falls b ∈
/ P , ist fP (b) = fP (a) + 1 > fP (a).
161
Aber: Wie erhalten wir P ?
Einfacher: Zufälliger Pseudopfad R = (r0, r1, . . . , rk ), k = 2o(n).
r0 := 1n.
ri +1 := zufälliger Hammingnachbar von ri .
P entsteht aus R durch Herausschneiden der Kreise:
n
p0 := r0 = 1 .
Ist pi = rj , wähle maximales m mit rm = rj und
setze pi +1 := rm+1.
P sollte nicht viel kürzer“ als R sein.
”
162
Lemma 9.3.3: R = (r0, . . . , rk ) zufälliger Pseudopfad, k = 2
∀β > 0 ∃α = α(β) > 0 ∀a ∈ {0, 1}n : Prob(Ea) = 2−Ω(n),
wobei Ea = {∃j ≥ βn : H(a, rj ) ≤ αn}.
o(n)
.
Aussage: Wo man nach mindestens linearer Zeit ist,
weiß man kaum“.
”
Konsequenz:
Es ist sehr unwahrscheinlich, dass a
auf einem großen Kreis liegt.
Also: P ziemlich lang“, später genauer.
”
163
Beweis von Lemma 9.3.3:
Ea,j := {H(a, rj ) ≤ αn}
−Ω(n)
Prob(Ea,j ) = 2
S
Dann: Ea =
Ea,j ,
Ziel:
βn≤j ≤k
also
Prob(Ea) ≤
.
P
Prob(Ea,j )
βn≤j ≤k
−Ω(n)
≤ k·2
=2
−Ω(n)
, da k = 2
o(n)
.
164
Wir untersuchen die Zufallsvariable Ht := H(a, rt ).
Ist Ht groß“, ist Ht+i für kleines i auch noch groß.
”
Ist Ht klein“, ist es wahrscheinlicher, den Hammingabstand zu
”
vergrößern als ihn zu verkleinern.
Genauer:
Prob(Ht+1 = Ht + 1) = 1 − Ht /n,
Prob(Ht+1 = Ht − 1) = Ht /n.
Parameterwahl:
γ := min{β, 1/10}, α := α(β) := γ/5.
→ Ea,j := {H(a, rj ) ≤ (γ/5)n}, wobei j ≥ βn.
165
1.Fall:
Hj −⌊γn⌋ ≥ 2γn.
Dann mit Wahrscheinlichkeit 1: Hj ≥ γn
Hammingabstand sinkt pro Schritt maximal um 1.
2.Fall:
Hj −⌊γn⌋ < 2γn.
3
Während des Abschnitts j − ⌊γn⌋, . . . , j ist Ht < 3γn ≤ 10
n.
Also
7
und
Prob(Ht+1 = Ht + 1) ≥ 10
3
Prob(Ht+1 = Ht − 1) ≤ 10
während dieses Zeitintervalls.
Erwartete Anzahl abstanderhöhender Schritte ≥
7
⌊γn⌋.
10
6
γn abstanderhöhende Schritte)
Prob(≤ 10
Chernoffsche
⇒
Ungleichung
= 2−Ω(n).
166
Wenn ≥
≤
6
γn
10
4
γn
10
abstanderhöhende Schritte, dann
abstandsenkende Schritte, also
Abstand erhöht sich um mindestens
und ist mindestens αn.
6
γn
10
4
− 10
γn = 15 γn ≥ αn
2
167
Beweis von Satz 9.3.4:
Minimax-Prinzip für zufällige unimodale Funktionen,
Verteilung wie beschrieben.
Länge von R ist 2δ(n).
Lemma 9.3.3
Prob(in ri startet ein Kreis der Länge ≥ n)
=
2−Ω(n).
δ(n) −Ω(n)
−Ω(n)
Prob(es gibt einen Kreis der Länge ≥ n) ≤ 2 2
=2
.
Also:
Prob(Länge von P ≤
δ(n)
2
/n
| {z }
) = 2−Ω(n).
2Ω(δ(n)) in nicht trivialen
Situationen.
Wir nehmen in Zukunft an: Länge von P = 2Ω(δ(n)).
168
Minimax-Prinzip:
Untere Schranke für deterministische Algorithmen gegen fP .
Es reicht: Untere Schranke für Algorithmen mit
Zusatzinformationen, die nicht einmal das Optimum
erreichen müssen.
Information zum Zeitpunkt t: t − 1 Suchpunkte mit
Funktionswerten,
→ einige Punkte auf dem Pfad, z. B. pi1 , . . . , pij mit
i1 < i2 < · · · < ij , j ≤ t, da pi1 = p0 geschenkt wurde,
nun p0, p1, . . . , p(t−1)n, kurz i = (t − 1)n,
(bis zu n Punkte geschenkt)
→ einige Punkte neben“ dem Pfad, gesammelt in N.
”
169
Zu Beginn: i = 0, N = ∅.
Suchpunkt x, dann
Erfolg, falls x = pj mit j ≥ i + n,
kein Erfolg sonst, aber i := i + n und N := N ∪ {x}, falls x ∈
/ P.
δ(n)
2
Ziel: Erfolgswahrscheinlichkeit in 2 /n Schritten = 2
−Ω(n)
Genügt: Erfolgswahrscheinlichkeit pro Schritt = 2
.
−Ω(n)
.
Können Lemma 9.3.3 anwenden auch auf P anwenden,
da P Teilsequenz von R.
Also für den ersten Suchpunkt x:
Lemma 9.3.3 ⇒ Erfolgswahrscheinlichkeit 2−Ω(n).
170
Später weiß“ der Algorithmus mehr, nach t Schritten:
”
• p0, . . . , ptn,
• N mit |N| ≤ t.
Sei y := ptn und M = {p0, . . . , ptn} ∪ N.
Mnah := {x ∈ M | H(x, y) ≤ α(1)n},
Mfern := {x ∈ M | H(x, y) > α(1)n}.
Zunächst: Algorithmus kennt nur Mfern, d. h.
E = {Mfern ∩ {ptn+1, . . . , pm} = ∅}.
Lemma 9.3.3 ⇒ Prob(E ) = 1 − 2
−Ω(n)
.
E ist so wahrscheinlich, dass sein Eintreten die Situation kaum“
”
verändert, genauer:
171
Sei x ein möglicher Suchpunkt und x ∗ das Ereignis, dass x
einen Erfolg ergibt.
∗
Lemma 9.3.3 ⇒ Prob(x ) = 2
−Ω(n)
.
Prob(x ∗ | E ) = Prob(x ∗ ∩ E )/ Prob(E )
∗
≤ Prob(x )/ Prob(E )
= 2−Ω(n)/(1 − 2−Ω(n)) = 2−Ω(n).
Aber: Der Algorithmus hat auch Kenntnis von Mnah.
172
Uns interessieren Punkte, die erst nach mindestens n Schritten
konstruiert werden.
Betrachte erst n/2 Schritte.
Lemma 9.3.3, nun für β = 1/2, y ∈ M,
Prob(H(y, ptn+n/2) ≥ α(1/2) · n) = 1 − 2−Ω(n).
Also Prob(∃y ∈ M : H(y, ptn+n/2) < α(1/2) · n) = 2
−Ω(n)
.
Bezüglich y = ptn+n/2 und der Periode der nächsten n/2 Schritte sind alle zum Zeitpunkt t bekannten Punkte fern“ zu y
”
bezüglich des Mindestabstandes α(1/2) · n.
Also sind nun die Argumente für Mfern“ anwendbar:
”
173
Übertragung der Argumente für Mfern“:
”
Die Kenntnis des Algorithmus bezieht sich auf den Zeitpunkt t,
er soll ein pj mit j ≥ tn + n finden.
Bezogen auf den unbekannten Punkt ptn+n/2 und β = 1/2 und
α(1/2) sind alle bekannten Punkte mit hoher W.keit fern
(mindestens Hammingabstand α(1/2) · n) von ptn+n/2.
Wir betrachten P als startend in ptn+n/2, es soll ein Punkt
p(tn+n/2)+j mit j ≥ n/2 gefunden werden.
Jeder Suchpunkt hat nur eine Erfolgswahrscheinlichkeit von
2−Ω(n). Dies wurde unter der Rubrik Algorithmus kennt nur
”
Mfern“ bewiesen (für Mindestabstand α(1) · n und
Zeitabstand n).
2
174
9.4 No-free-Lunch-Theorem
Nun: sehr große Funktionenklassen → alle Funktionen
Motivation: intuitive Vorstellung, randomisierte Suchheuristiken
seien im Durchschnitt über alle Funktionen besser als problemspezifische Ansätze.
Entgegnung: No-free-Lunch-Theorem (Wolpert/McReady, 1997)
Formalisierung: Betrachte Funktionenklasse
Y X := {f | f : X → Y }
mit X und Y endlich.
Weiter: Einschränkung auf deterministische Black-Box-Algos
(wie zuvor, randomisierte Algos = Verteilung auf det. Algos)
175
NFL-Theorem: Alle det. Black-Box-Algos führen im DurchX
schnitt über alle Funktionen f ∈ Y dieselbe Zahl unterschiedlicher Funktionsauswertungen bis zum Erreichen eines beliebigen Optimierungsziels aus.
Noch zu formalisieren: Optimierungsziel
(z. B Optimum gefunden“)
”
Dazu: Verhalten von det. Black-Box-Algos formalisieren
Def.: Betrachte det. Black-Box-Algo A auf f ∈ Y X .
Dann Spur TA(f ) = h(x1, f (x1)), (x2, f (x2)), . . . , (xℓ , f (xℓ ))i
deterministisch mit xi 6= xj für j 6= i
Nun: Annahme ℓ = |X |, da alle Optimierungsziele erlaubt
176
Optimierungsziel hängt nur von f -Werten ab.
Def.: Zu Spur TA(f ) = h(x1, f (x1)), (x2, f (x2)), . . . , (x|X |, f (x|X |))i
definiere Wertevektor VA(f ) = hf (x1), f (x2), . . . , f (x|X |)i
Außerdem: Beschränkung auf t ≤ |X | Schritte des BBA
TA(f , t) = h(x1, f (x1)), (x2, f (x2)), . . . , (xt , f (xt ))i
VA(f , t) = hf (x1), f (x2), . . . , f (xt )i
Def.: Ein Optimierungsziel ist eine Abbildung
M : {VA(f , t) | A, f , t} → R.
Beispiel: M(VA(f , t)) = min i ≤ t | f (xi ) = max{f (x) | x ∈ X } .
(= ∞, falls kein solches i )
177
Damit NFL-Theorem formal erfasst:
NFL:
∀ BBA A, A′ für f ∈ Y X und ∀ M : {VA(f , t) | A, f , t} → R :
P
f ∈Y X
M(VA(f , |X |))
|Y X |
=
P
f ∈Y X
X
M(VA′ (f , |X |))
|Y X |
X
Zeige dazu: {M(VA(f , |X |)) | f ∈ Y } = {M(VA′ (f , |X |)) | f ∈ Y }
(jeweils als Multimengen aufgefasst)
Daher Summation über identische Multimengen → Theorem.
178
Zu zeigen: {M(VA(f , |X |)) | f ∈ Y X } = {M(VA′ (f , |X |)) | f ∈ Y X }
Beobachtung: f 6= g ⇒ VA(f , |X |) 6= VA(g, |X |)
Grund: mit Induktion über t: det. BBA werden betrachtet, gleiche Wertevektoren implizieren gleiche Funktionen
Also: für jeden festen BBA A Bijektion ϕ zwischen Wertevektoren VA(f , |X |) = hf (x1), . . . , f (x|X |)i und Funktionen f ∈ Y X .
Konsequenz: Für alle det. BBA A:
{ϕ(VA(f , |X |)) | f ∈ Y X } = {f | f ∈ Y X }
Damit und weil VA(f , |X |) Wertevektoren ⇒ Behauptung
⇒ NFL-Theorem
2
179
10. Komplexitätslandschaft zwischen
polynomieller Zeit und polynomiellem Platz
Übersicht:
• Komplexitätsklassen innerhalb von NP und co-NP;
• polynomielle Hierarchie;
• BPP, NP und die polynomielle Hierarchie.
Komplexitätsklassen, die nicht durch praktisch relevante
Algorithmentypen motiviert sind:
Trotzdem wichtig, z. B. für tieferes Verständnis der
P 6= NP“-Hypothese und für NP versus BPP“-Frage.
”
”
180
10.2 Komplexitätsklassen innerhalb von NP und co-NP
∗
Bis auf weiteres nur Entscheidungsprobleme in Σ , Σ endlich.
Definition:
NPC := Klasse der NP-vollständigen Probleme (bez. ≤p“)
”
(NP-complete problems)
Äquivalenzklassen bezüglich =p“ innerhalb von NP:
”
NP
≤p
NPC
P
∗
<p
<
p
P − {∅, Σ }
{∅}
6≤p, 6≥p
Weitere?
∗
{Σ }
Dabei:
A =p B ⇔ A ≤p B ∧ A ≥p B
A <p B ⇔ A ≤p B ∧ A 6=p B
181
Definition:
NPI := NP − (P ∪ NPC) (NP-incomplete problems)
Satz 10.2.1 (Ladner 1975):
P 6= NP ⇒ NPI 6= ∅ und es existieren innerhalb NPI
unendlich viele Äquivalenzklassen bez. =p“.
”
(Ohne Beweis.)
Folgerung: P 6= NP ⇔ NPI 6= ∅.
Konkrete Beispiele für Probleme in NPI?
182
Kandidaten für NPI-Probleme laut Garey, Johnson (1979):
• Lineare Programmierung (LP);
• Primzahltest (PRIMES);
• Graphisomorphie (GI).
Erkenntnisse bisher:
• LP ∈ P:
Khachiyan (1979) – Ellipsoidmethode,
Karmarkar (1984) – Innere-Punkte-Methode
(interior point method);
• PRIMES:
– ∈ co-NP: trivial; Rabin-Miller (1970er Jahre): ∈ co-RP;
– ∈ NP: rate erz. Element von Z∗p, Ordnung verifizieren;
– ∈ P: Agrawal, Kayal, Saxena (2002).
• GI: ??? (Später: Gründe, warum vermutlich nicht in NPC.)
183
Beziehung zwischen NP und co-NP
Motivation für co-NP:
Natürliche Probleme mit Formulierung
Allquantor + Polynomialzeittest“,
”
z. B. Korrektheitstest von Programmen.
Vermutung: NP 6= co-NP.
Klar: P = NP ⇒ co-NP = co-P = P = NP.
Damit auch: NP 6= co-NP ⇒ P 6= NP.
Weitere Beobachtungen:
• co-(co-NP) = NP.
• NP = co-NP oder (NP 6⊆ co-NP und co-NP 6⊆ NP).
(Denn: NP ⊆ co-NP ⇒ co-NP ⊆ co-(co-NP) = NP.)
184
Satz 10.2.2: Falls ein L existiert, sodass L NP-vollständig ist
und L ∈ co-NP, folgt NP = co-NP.
Beweis: Es existiere ein Problem L wie in der Voraussetzung.
Es reicht zu zeigen: L′ ∈ NP ⇒ L′ ∈ co-NP.
′
∗
∗
Da L NP-vollständig: L ≤p L, d. h., es existiert f : Σ → Σ
Polynomialzeit-berechenbar, sodass
∗
′
für alle x ∈ Σ : x ∈ L ⇔ f (x) ∈ L ⇔
′
x 6∈ L ⇔ f (x) 6∈ L ⇔
′
x ∈ L ⇔ f (x) ∈ L .
Es ist L ∈ co-NP, also L ∈ NP.
Unterprogramm-Sichtweise liefert L′ ∈ NP und
′
damit L ∈ co-NP.
2
185
Bemerkung: Allgemeines Prinzip:
• Definition: Klasse C abgeschlossen unter ≤“:
”
′
′
L ≤ L und L ∈ C ⇒ L ∈ C.
(Erfüllt für P und NP bez. ≤p“ mit Unterprogramm”
Sichtweise, für co-NP im Beweis von Satz 10.2.2 gezeigt.)
• L C ′-vollständig bez. ≤“, L ∈ C und C abgeschlossen
”′
unter ≤“, dann folgt C ⊆ C.
”
Folgerungen aus Satz 10.2.2 für NP vs. co-NP:
Falls NP 6= co-NP:
• NPC ∩ co-NP = ∅ und co-NPC ∩ NP = ∅.
• Für L ∈ NP ∩ co-NP:
L weder NP-vollständig noch co-NP-vollständig.
186
Komplexitätslandschaft innerhalb von NP ∪ co-NP
unter der Annahme, dass NP 6= co-NP
NP
co-NP
co-NPC
NPC
NPI ∩ co-NPI
NPI
co-NPI
P
187
10.3 Orakelklassen
Turingreduktionen ≤T “ unter neuem Blickwinkel.
”
Noch einmal Erinnerung:
A ≤T B heißt: Algorithmus für A mit B-Unterprogramm,
dieses polynomiell oft aufrufbar für polynomiell beschränkte
Eingabelänge, Rechenzeit ohne Unterprogrammaufrufe
polynomiell beschränkt.
Hier: Welche Berechnungskraft erhalten Algorithmen,
wenn sie auf diese Weise Unterprogramme für
schwere Probleme B aufrufen dürfen?
188
Hilfsmittel für formale Beschreibung von Algorithmen
mit Aufrufen eines fest vorgegebenen Unterprogrammes
(der Einfachheit halber nur für Entscheidungsprobleme):
Definition:
∗
Eine Orakelturingmaschine (OTM) mit Orakel L ⊆ Σ ist
eine TM M mit einem zusätzlichen Orakelband und
zusätzlichen Zuständen q?, q+ und q−. Bei Betreten des
Zustands q? liest M das Wort x auf dem Orakelband (durch
Blanks begrenzt) und ändert ihren Zustand in q+, falls x ∈ L,
und in q−, falls x 6∈ L. Dieser Schritt wird bei der Bestimmung
der Rechenzeit nicht mitgezählt.
Genauso randomisierte Orakelturingmaschine (ROTM):
Darf Zufallsbits benutzen und Fehler machen, wie immer.
Damit auch nichtdeterministische Orakelturingmaschine (NOTM).
189
Definition 10.3.1:
Für Entscheidungsproblem L:
P(L) := Klasse aller Entscheidungsprobleme L′ mit L′ ≤T L.
Für Klasse von Entscheidungsproblemen C:
[
P(L′).
P(C) :=
L′ ∈C
Anders formuliert:
P(L) sind diejenigen Entscheidungsprobleme, die von OTM
mit Orakel L (= Unterprogramm für L) in Polynomialzeit gelöst
werden können.
190
Anmerkungen zur Definition von Orakelturingmaschinen:
• Polynomielle Gesamtrechenzeit bedeutet:
– Rahmenalgorithmus ohne Orakel polynomiell;
– polynomiell viele Orakelaufrufe;
– Eingabelänge für Orakelanfragen
polynomiell beschränkt.
• Orakel antwortet immer korrekt.
191
Etwas Herumspielen mit den Definitionen:
Zunächst: Orakel L ∈ P liefert nichts Neues: P(L) = P.
Damit auch P(P) = P.
Also mächtigere Orakel: Was bringt z. B. L = SAT?
Beobachtung: P(SAT) = P(NP).
( ⊆“: Trivial.
”
⊇“: SAT NP-vollständig: L ∈ NP, dann L ≤p SAT.
”′
L ∈ P(L): Ersetze Anfragen an L-Orakel durch normale Unterprogramme, die polynomielle Transformation berechnen und
(an ihrem Ende) SAT-Orakel aufrufen. Damit L′ ∈ P(SAT). 2)
Allgemeinere Aussage:
L∗ C-vollständig bezüglich ≤T “ oder ≤p“, dann P (L∗) = P (C).
”
”
192
Wie mächtig ist die Klasse P(SAT) = P(NP)?
Klar: NP ⊆ P(NP) (wähle triviales Rahmenprogramm“).
”
Aber in P(NP) mehr Möglichkeiten“ als in NP:
”
Z. B. auch Negation der Orakelantwort zur Verfügung.
Beobachtung: NP ∪ co-NP ⊆ P(NP).
Damit auch: NP 6= co-NP ⇒ NP 6= P(NP).
Vermutung: NP ∪ co-NP $ P(NP).
Verschachteln von P-Rahmenprogrammen liefert keine
neuen Algorithmentypen, P(P(C)) = P(C).
Was passiert, wenn wir nichtdeterministische
Rahmenprogramme erlauben?
193
Definition 10.3.2:
Für ein Entscheidungsproblem L enthält die Klasse NP(L)
alle Entscheidungsprobleme L′, die sich von einer NOTM mit
Orakel L in Polynomialzeit entscheiden lassen.
Für Klasse von Entscheidungsproblemen C:
[
NP(L′).
NP(C) :=
L′ ∈C
Beobachtung: NP(P) = NP.
Vermutung: NP(NP) 6= NP.
Beachte: Es ist z. B. auch NP(co-NP) ⊆ NP(NP):
NOTM mit Orakel L ∈ co-NP: Dann L ∈ NP.
Ersetze Orakel L durch Orakel L, Antworten negieren.
194
Beispiel: Minimal Equivalent Circuit (MEC)
Eingabe: Boolescher Schaltkreis C mit einem Ausgang,
Bausteine aus {AND, OR, NOT}, AND- und ORBausteine mit Eingangsgrad 2; Zahl k ∈ N.
Frage:
Gibt es einen Schaltkreis C ′, der dieselbe Funktion
wie C berechnet und höchstens k Bausteine hat?
Setze k := (Größe von C) − 1: Test, ob C minimal.
Vermutlich ist MEC 6∈ NP:
′
Können Schaltkreis C raten, aber was dann?
Äquivalenztest schwierig.
Satz 10.3.3’: MEC ∈ NP(NP).
195
Beweis:
Problem SATCIR als Orakel:
Erfüllbarkeitstest für Schaltkreise der hier betrachteten
Bauart. SATCIR ist NP-vollständig.
NOTM mit SATCIR-Orakel für MEC:
Eingabe: (C, k).
1. Rate nichtdeterministisch Schaltkreis C ′ mit
höchstens k Bausteinen.
2. Frage Orakel, ob C ′′ = C ′ ⊕ C erfüllbar.
3. Akzeptiere Eingabe (C, k) genau dann, wenn
Orakelantwort nein“ lautet.
”
Also MEC ∈ NP(SATCIR) = NP(NP).
2
196
10.4 Die polynomielle Hierarchie
Hatten bereits logische Charakterisierungen
von NP und co-NP.
Herumspielen mit Orakelklassen:
MEC hat logische Darstellung der Bauart
Existenzquantor – Allquantor – Prädikat in P“,
”
wobei Quantifizierung über polynomiell viele Bits.
Ziel: Charakterisierung der Schwierigkeit von Problemen
mit Hilfe von Logikdarstellung.
Meyer & Stockmeyer (1972).
197
Definition 10.4.1:
•
Σ1 := NP, Π1 := co-NP, ∆1 := P.
• Für alle k ∈ N:
Σk+1 := NP(Σk ), Πk+1 := co-Σk+1, ∆k+1 := P(Σk ).
• PH :=
[
Σk , polynomielle Hierarchie.
k∈N
Hatten bereits:
∆2 = P(NP);
Σ2 = NP(NP).
Wildere“ Beispiele:
”
Σ4 = NP(Σ3) = NP(NP(NP(NP)));
Π4 = co-Σ4 = co-NP(NP(NP(NP)));
∆4 = P(Σ3) = P(NP(NP(NP))).
In neuer Notation: MEC ∈ Σ2.
198
Kann auch Σ0, Π0, ∆0 konsistent definieren:
Σ0 := Π0 := ∆0 := P.
Dann: Σ1 = NP(Σ0) = NP(P) = NP;
Π1 = co-Σ1 = co-NP;
∆1 = P(Σ0) = P(P) = P.
199
Lemma 10.4.2, Teil I:
(3)
(2)
triv.
(1)
∆k = co-∆k ⊆ Σk ∩ Πk ⊆ Σk ∪ Πk ⊆ ∆k+1.
Beweis:
Def.
Def.
(1): ∆k = P(Σk−1), damit co-∆k = co-P(Σk−1) = P(Σk−1) = ∆k ,
da Ergebnis von det. Rechnung negiert werden kann.
Def.
Def.
(2): ∆k = P(Σk−1) ⊆ NP(Σk−1) = Σk ,
Komplementbildung ⇒ co-∆k = ∆k ⊆ co-Σk = Πk .
Def.
(3): Σk ⊆ P(Σk ) = ∆k+1 und per Komplementbildung
co-Σk = Πk ⊆ co-∆k+1 = ∆k+1.
2
200
Komplexitätslandschaft innerhalb von PH
PH
∆3
Σ2 ∪ Π 2
Σ2
Π2
Σ2 ∩ Π 2
∆2
Σ1 ∪ Π1 = NP ∪ co-NP
Σ1 = NP
Π1 = co-NP
Σ1 ∩ Π1 = NP ∩ co-NP
P = Σ0 = Π0 = ∆0 = ∆1
201
Lemma 10.4.2, Teil II:
(1) ∆k = P(∆k ), ∆k = P(Πk−1);
(3) Πk+1 = co-NP(Πk ) = co-NP(∆k+1);
(2) Σk+1 = NP(Πk ) = NP(∆k+1);
(4) Σk ⊆ Πk ⇒ Σk = Πk .
Beweis:
Def.
Def.
(1): P(∆k ) = P(P(Σk−1)) = P(Σk−1) = ∆k ;
Def.
∆k = P(Σk−1) = P(Πk−1), da Orakel L ∈ Σk−1
denselben Nutzen bringt wie Orakel L ∈ Πk−1.
Def.
(2): Σk+1 = NP(Σk ) = NP(Πk ) wie zweiter Teil von (1);
Def.
Def.
NP(∆k+1) = NP(P(Σk )) = NP(Σk ) = Σk+1, da
Verschachtelung von nichtdet. und det. Rahmenalgorithmus durch nichtdet. Rahmenalgo. ersetzbar.
(3): Mit Komplementbildung aus (2).
(4): Σk ⊆ Πk ⇒ co-Σk = Πk ⊆ co-Πk = Σk , also Σk = Πk .
2
202
Jetzt: Logikcharakterisierung der Klassen in der
polynomiellen Hierarchie.
Satz 10.4.3 (Wrathall 1976):
Für alle k ≥ 0 gilt: L ∈ Σk ⇔
Es existiert Polynom p und L′ ∈ P, sodass für A = {0, 1}p(|x|):
n
L = x ∃ y1 ∈ A ∀ y2 ∈ A ∃ y3 ∈ A . . . Q yk ∈ A :
o
′
(x, y1, y2, y3 . . . , yk ) ∈ L ,
wobei Q = ∃, falls k ungerade, und Q = ∀, falls k gerade.
Intuition also: Anzahl der zur Beschreibung benötigten
Quantorenalternierungen misst Schwierigkeitsgrad
des Problems.
203
Beweis:
Mit vollständiger Induktion über k.
Induktionsanfang k = 0 trivial (bzw. k = 1 in GTI).
Für Induktionsschritt k−1 → k zwei Teile:
1. Teil: Logikcharakterisierung für L gelte, zeige L ∈ Σk .
2. Teil: L ∈ Σk , zeige Logikcharakterisierung.
204
1. Teil:
L = { x | ∃ y1 ∈ A ∀ y2 ∈ A ∃ y3 ∈ A . . . Q yk ∈ A :
′
(x, y1, y2, y3 . . . , yk ) ∈ L },
wobei Q = ∃, falls k ungerade, und Q = ∀, falls k gerade.
Definiere für beliebiges y1 ∈ A:
L∗ = { (x, y1) | ∀ y2 ∈ A ∃ y3 ∈ A . . . Q yk ∈ A :
(x, y1, y2, y3 . . . , yk ) ∈ L′}.
Mit De-Morgan-Regeln folgt:
L∗ = { (x, y1) | ∃ y2 ∈ A ∀ y3 ∈ A . . . Q′ yk ∈ A :
(x, y1, y2, y3 . . . , yk ) ∈ L′},
′
′
wobei Q = ∀, falls k ungerade, und Q = ∃, falls k gerade.
Da L′ ∈ P, folgt aus der Induktionsvoraussetzung:
L∗ ∈ Σk−1, also L∗ ∈ co-Σk−1 = Πk−1.
205
Müssen für diesen Teil zeigen, dass L ∈ Σk = NP(Σk−1).
Da auch Σk = NP(Πk−1) (Lemma 10.4.2 II(2)) und L∗ ∈ Πk−1:
Kann L∗ als Orakel für NOTM verwenden.
NOTM für L mit Orakel L∗: Eingabe x.
1. Rate nichtdeterministisch y1 ∈ A.
2. Rufe Orakel für (x, y1) auf und gib dessen Antwort aus.
Offensichtlich akzeptiert diese NOTM genau L.
Damit erster Teil erledigt.
206
2. Teil:
Hier L ∈ Σk = NP(Σk−1) bekannt, d. h. NOTM gegeben.
Diese mit Formel beschreiben.
(Vgl. den Beweis des Satzes von Cook.)
Übersicht:
• Kodierung der Rechnung der NOTM;
• Kodierung des Orakels.
207
Ausnutzen der Voraussetzungen:
L ∈ Σk = NP(Σk−1): Dann gibt es L′ ∈ Σk−1 und
eine NOTM ML mit Orakel L′, die L akzeptiert.
Aufgrund der I.V. erhalten wir Polynom p und B ∈ P,
sodass für A = {0, 1}p(|x|):
L′ = { x | ∃ y1 ∈ A ∀ y2 ∈ A ∃ y3 ∈ A . . . Q yk−1 ∈ A :
(x, y1, y2, y3 . . . , yk−1) ∈ B},
wobei Q = ∃, falls k − 1 ungerade, und Q = ∀, falls k − 1 gerade.
Für Polynom q und jede Eingabe x befragt NOTM ML das
Orakel höchstens q(|x|)-mal.
O. B. d. A.: Für alle x genau q(|x|) Anfragen.
208
Kodierung der Rechnung von ML:
x ∈ L ⇔ Es gibt
• einen akzeptierenden Rechenweg w von ML
für Eingabe x mit
• Orakelanfragen b1, . . . , bq(|x|) sowie
• Antworten a1, . . . , aq(|x|) zu diesen Anfragen.
Logikcharakterisierung von L wird daher beginnen mit
∃ w, b1, . . . , bq(|x|), a1, . . . , aq(|x|) . . .
209
Kodierung der Rechnung von ML (Forts.):
∗
Definiere C als Menge aller
(x, w, b1, . . . , bq(|x|), a1, . . . , aq(|x|)) mit:
• Für Eingabe x ist w ein akzeptierender
Rechenweg von ML, sodass die Maschine ML
• die Orakelanfrage bi stellt, wenn sie zuvor
b1, . . . , bi −1 gestellt hat und darauf Antworten
a1, . . . , ai −1 bekommen hat, wobei i ∈ {1, . . . , q(|x|)}.
∗
Einfach zu sehen: C ∈ P.
Fehlt noch: Kodierung des richtigen Orakelverhaltens.
210
Kodierung des Orakels:
′
Überprüfen, ob für Anfrage bi an L -Orakel tatsächlich
′
Antwort ai korrekt. Benutze Logikdarstellung von L .
• Falls ai = 1: Prüfe, ob
i
∈ A:
∃ y1i ∈ A ∀ y2i ∈ A ∃ y3i ∈ A . . . Q yk−1
i
i
i
i
(bi , y1, y2, y3 . . . , yk−1) ∈ B.
• Falls ai = 0: Prüfe, ob
i
i
i
′
i
∀ y2 ∈ A ∃ y3 ∈ A ∀ y4 ∈ A . . . Q yk ∈ A :
(bi , y2i , y3i , y4i . . . , yki ) ∈ B.
Vorab nicht bekannt, ob ai = 0 oder ai = 1 . . .
211
∗
i
i
i
i
i
Definiere B als Menge aller (bi , ai , y1 , y2, y3, y4 . . . , yk ),
sodass
• ai = 1 und (bi , y1i , y2i , y3i , y4i . . . , yk−1i ) ∈ B oder
i
i
i
i
• ai = 0 und (bi , y2 , y3, y4 . . . , yk ) ∈ B.
Test, ob für Anfrage bi an L′-Orakel tatsächlich
Antwort ai korrekt:
∃ y1i ∈ A ∀ y2i ∈ A ∃ y3i ∈ A . . . Q yk i ∈ A :
∗
i
i
i
i
(bi , ai , y1, y2, y3 . . . , yk ) ∈ B .
Beobachtung: Auch B∗ in P. Beachte: Benötige i nicht für Defi∗
nition von B .
Führe nun all diese Tests parallel“ aus. . .
”
212
Formel für L:
• Erster Quantor ∃“, über Variablen
” i
w und alle bi , ai , y1 für i = 1, . . . , q(|x|);
• Zweiter Quantor ∀“, über Variablen
”
i
y2 für i = 1, . . . , q(|x|);
• . . . usw., bis zum k-ten Quantor.
Prädikat am Ende: Testet, ob
• (x, w, b1, . . . , bq(|x|), a1, . . . , aq(|x|)) ∈ C ∗ und
• für alle i = 1, . . . , q(|x|): (bi , ai , y1i , . . . , yki ) ∈ B∗.
Da B∗, C ∗ ∈ P, ist dieses Prädikat ebenfalls
Polynomialzeit-berechenbar.
Aufräumen: Sorge dafür, dass Bitlänge von Vektoren hinter
den Quantoren einheitlich p′(|x|) für ein Polynom p′.
2
213
Mit De-Morgan-Regeln:
Folgerung 10.4.4:
Für alle k ≥ 0 gilt: L ∈ Πk ⇔
Es existiert Polynom p und L′ ∈ P, sodass für A = {0, 1}p(|x|):
n
L = x ∀ y1 ∈ A ∃ y2 ∈ A ∀ y3 ∈ A . . . Q yk ∈ A :
o
(x, y1, y2, y3 . . . , yk ) ∈ L′ ,
wobei Q = ∀, falls k ungerade, und Q = ∃, falls k gerade.
214
Weitere wichtige Folgerungen:
Satz 10.4.5:
Für alle k ≥ 0: Σk = Πk ⇒ PH = Σk .
Folgerung 10.4.6: Für alle k ≥ 0: Σk = Σk+1 ⇒ PH = Σk .
PH = Σk : Zusammenbruch der polynomiellen Hierarchie
”
auf der k-ten Stufe“.
Also:
Σk 6= Σk+1 stärkere“ Annahme als Σk−1 6= Σk .
”
P 6= NP ist (in diesem Sinne) schwächste“ Annahme:
”
Σ0 = P = NP = Σ1 ⇒ (Folgerung 10.4.6) PH = Σ0 = P.
215
Beweis von Satz 10.4.5:
Voraussetzung ist Σk = Πk . Zeige Σk+1 = Πk+1 = Σk .
Benutze Logikdarstellungen, informell:
Σk+1 = (∃poly : Πk ),
wobei ∃poly“ Existenzquantor über polynomiell viele Variablen.
”
Σk+1 = (∃poly : Πk )
= (∃poly : Σk ) (Voraussetzung)
(Existenzquantoren zusammenschieben“)
”
Analog Πk+1 = Πk = Σk .
2
= Σk
216
Beweis von Folgerung 10.4.6:
Voraussetzung ist Σk = Σk+1. Zeige PH = Σk .
Σk ⊆ Πk+1 ⇒ (Voraussetzung) Σk+1 ⊆ Πk+1.
Lemma 10.4.2, Teil II(4): ⇒ Σk+1 = Πk+1.
⇒ PH = Σk+1.
Satz 10.4.5:
Damit auch PH = Σk .
2
217
Natürliche Probleme, die in Σk − Σk−1 vermutet werden
Für Σ1 − Σ0 siehe NP-Vollständigkeitstheorie.
Für Σ2 − Σ1 z. B. MEC (Minimum Equivalent Circuit).
Idee allgemein: Suche nach Σk -vollständigen Problemen.
Erfüllbarkeitsproblem k-ter Stufe, SATkCIR:
Eingabe: Schaltkreis C mit Eingängen, die durch k Variablenvektoren x1, . . . , xk jeweils der Länge n beschrieben
werden.
Frage: Für A = {0, 1}n:
∃ x1 ∈ A ∀ x2 ∈ A . . . Q xk ∈ A : C(x) = 1 ?,
wobei C(x) die Ausgabe von C für die
Eingabe x = (x1, . . . , xk ) ist.
Satz 10.4.7: SATkCIR ist Σk -vollständig. (O. Bew.)
218
Polynomielle Hierarchie und polynomieller Platz
Bisher Σk nur durch Orakelmaschinen und logische Formeln
charakterisiert. Wie abstrus“ sind diese Klassen?
”
Definition:
PSPACE ist die Klasse aller Entscheidungsprobleme, die von
deterministischen Algorithmen mit polynomiellem Speicherplatz gelöst werden können.
(Erinnerung: Für TM Speicherplatz formal als maximale
Anzahl während einer Rechnung auf dem Band besuchter
Felder.)
219
Beobachtungen:
• P ⊆ PSPACE.
Denn: In polynomieller Zeit werden nur polynomiell viele
Speicherzellen beschrieben / Bandfelder besucht.
• NP ⊆ PSPACE.
Simulation von nichtdet. Algorithmen durch det. aus GTI:
Für Polynomialzeit-NTM M gibt es Polynom p, sodass
M für Eingabe x maximal p(|x|) Zufallsbits benötigt.
Probiere nacheinander (lexikographische Reihenfolge)
alle Zufallsbitstrings aus, simuliere jeweils dafür
deterministisch M.
220
Satz 13.2.6:
Für alle k gilt Σk ⊆ PSPACE und Πk ⊆ PSPACE, also auch
PH ⊆ PSPACE.
Beweis: Induktion über k.
k = 0: Σ0 = Π0 = P ⊆ PSPACE.
k−1 → k: Sei L ∈ Σk . Dann gibt es Polynom p und L′ ∈ Πk−1:
L = { x | ∃ y ∈ {0, 1}p(|x|) : (x, y) ∈ L′}.
′
Nach I.V. (x, y) ∈ L testbar mit Speicherplatz
q(|x| + |y|) = q(|x| + p(|x|)), q Polynom.
p(|x|)
Alle y ∈ {0, 1}
nacheinander ausprobieren, dafür jeweils
L′-Algo. auf (x, y) laufen lassen. Insgesamt Speicherplatz
O p(|x|) + q(|x| + p(|x|)) = poly(|x|).
Analog: L ∈ Πk ⇒ L ∈ PSPACE.
2
221
Alternative Sicht auf letzten Beweis (nur Σk ⊆ PSPACE):
k−1 → k:
′
Sei L ∈ Σk . Dann gilt nach Definition L = NP(L ) für ein
L′ ∈ Σk−1. Nach I.V. folgt L′ ∈ PSPACE.
Es gibt also für L einen Algorithmus, der aus einem nichtdeterministischen Rahmenalgorithmus besteht, der einen
′
PSPACE-Algorithmus (für L ) aufruft.
Nun wie bei Simulation von NP den nichtdeterministischen
Rahmenalgorithmus durch deterministischen Algorithmus
ersetzen, der für alle nichtdeterministischen Zufallsbitstrings jeweils die deterministische Variante des Rahmenalgorithmus
simuliert.
2
222
10.5 BPP, NP und die polynomielle Hierarchie
Haben NP-vollständige Probleme effiziente
randomisierte Algorithmen?
→ Gilt NP ⊆ BPP?
(Beachte: BPP ist abgeschlossen unter ≤p“,
”
daher gilt NP ⊆ BPP ⇔ NPC ⊆ BPP.)
Umgekehrt: Obere Schranke für die Rechenkraft
von effizienten randomisierten Algorithmen?
→ Gilt BPP ⊆ NP?
Zunächst die zweite Fragestellung. . .
223
Klar: BPP ⊆ PSPACE.
Analog zu NP ⊆ PSPACE: Simuliere BPP-Algorithmus für
jeden möglichen Zufallsbitstring deterministisch.
Anschließend Mehrheitsentscheid über erhaltene Ergebnisse.
Einordnung in der polynomiellen Hierarchie?
Satz 10.5.1 (Sipser, Gács, Lautemann 1983):
BPP ⊆ Σ2 ∩ Π2 .
BPP ⊆ Π2 folgt direkt aus BPP ⊆ Σ2 wegen Abschluss von
BPP unter Komplement. Also nur Letzteres zu zeigen.
224
Beweis:
Sei L ∈ BPP gegeben, also existiert randomisierter
Polynomialzeit-Algorithmus für L mit durch Konstante < 1/2
beschränkter Fehlerwahrscheinlichkeit.
Kann zusätzlich annehmen:
• Fehlerwahrscheinlichkeit sogar höchstens 2−(n+1)
(mit Probability-Amplification, Θ(n) unabh. Wiederhlgn.)
• Für geeignetes Polynom p:
p(n)
Für Eingaben der Länge n genau 2
Rechenwege.
Wollen zeigen: L ∈ Σ2.
Brauchen also (Satz von Wrathall) Charakterisierung der
Form ∃poly ∀poly Polynomialzeit-Prädikat“.
”
225
Beweisidee:
Naive deterministische Simulation ermittelt Ergebnis für
p(n)
alle 2
Rechenwege. Stattdessen nur noch Ergebnisse
für polynomiell viele Rechenwege ermitteln.
• Auswahl der Rechenwege:
Nichtdeterministisch raten (mit Existenzquantor).
• Auf erhaltene, polynomiell große Stichprobe von
Rechenwegen Rechenwegtester vom Typ
∀poly Polynomialzeit-Prädikat“
”
anwenden.
Für x ∈ L muss eine Stichprobe existieren, sodass
Algorithmus ja“ antwortet, für x 6∈ L darf es keine solche
”
Stichprobe geben.
226
Entwurf des Rechenwegtesters (1/3):
Wähle k(n) := p(n)/n Rechenwege nichtdeterministisch aus.
• O. B. d. A. p(n)/n ∈ N (sonst mit n · p(n) statt p(n) arbeiten).
n
• Will außerdem für später: k(n) = p(n)/n ≤ 2 .
Zweite Eigenschaften sicher erfüllt für alle n ≥ c,
Konstante c passend zu p gewählt.
Teste vorab für Eingaben der Länge n < c mit trivialem
Polynomialzeit-Algorithmus, der alle Rechenwege
durchprobiert, ob x ∈ L.
Für restlichen Beweis: k(n) → k, p(n) → p usw.
227
Entwurf des Rechenwegtesters (2/3):
p(n)
−(n+1)
akzeptierende Rechenwege.
·2
• x ∈ L: ≥ 1 − 2
→ Menge A(x)
• x 6∈ L: ≥ 1 − 2
→ Menge N(x)
−(n+1)
·2
p(n)
verwerfende Rechenwege.
Also (wg. kleiner Fehlerwahrscheinlichkeit) jeweils
überwältigende Mehrheit richtiger Rechenwege.
Dies ausnutzen. . .
228
Entwurf des Rechenwegtesters (3/3):
Jetzt der Algorithmus.
• Fixiere Eingabe x.
• Nichtdeterministisch ausgewählte Rechenwege seien
r1, . . . , rk , wobei k = p/n.
Erinnerung: Rechenwege alle durch p(n) Bits beschreibbar,
also r1, . . . , rk ∈ {0, 1}p, r := (r1, . . . , rk ) ∈ {0, 1}kp.
R ECHENWEGTEST (r, x) = 1 :⇔
Prädikat in P
_ p
∀ z ∈ {0, 1} :
ri ⊕ z ∈ A(x) = 1.
1≤i ≤k
Dabei: a ⊕ b bitweises EXOR von Vektoren a, b.
Und (Erinnerung): A(x) akzeptierende Rechenwege für x.
229
Intuition hinter Rechenwegtester (1/3)
Erster Fall: x ∈ L, A(x) groß.
_
p
[ri ⊕ z ∈ A(x)] = 1.
∀ z ∈ {0, 1} :
1≤i ≤k
1 2
Rechenwege
{0, 1}p
···
p
1
2
·
·
·
ausgewählte
RechenwegStichprobe
k
230
Intuition hinter Rechenwegtester (2/3):
Erster Fall: x ∈ L, A(x) groß.
_
[ri ⊕ z ∈ A(x)] = 1.
∀ z ∈ {0, 1}p :
1≤i ≤k
1 2
Rechenwege:
{0, 1}p
···
p
p
Lineare Verschiebung um z ∈ {0, 1} :
r1 ⊕ z, . . . , rk ⊕ z
Für alle Verschiebungen z:
Es gibt mindestens ein i , sodass
ri ⊕ z im grünen (akzeptierenden)
Bereich.
231
Intuition hinter Rechenwegtester (3/3):
Zweiter Fall: x 6∈ L, N(x) groß.
^
[ri ⊕ z ∈ N(x)] = 1.
∃ z ∈ {0, 1}p :
1≤i ≤k
1 2
Rechenwege:
{0, 1}p
···
p
Es gibt eine Verschiebung z:
Für alle i liegt
ri ⊕ z im roten (verwerfenden)
Bereich.
232
Korrektheit der Konstruktion (1/2):
Erster Fall, x ∈ L:
Sei R(x) die Menge der schlechten Rechenweg-Stichproben,
für die der Rechenwegtester versagt. D. h.:
W
R(x) = { r | ∃ z : 1≤i ≤k ri ⊕ z ∈ A(x) = 0}.
Umformen ergibt:
V
R(x) = { r | ∃ z : 1≤i ≤k ri ⊕ z ∈ N(x) = 1}
V
= { r | ∃ z : 1≤i ≤k ri ∈ (N(x) ⊕ z) = 1}
n o
p
= r ∃ z ∈ {0, 1} : r ∈ N(x) ⊕ z) × · · · × (N(x) ⊕ z .
{z
}
|
k-mal
Damit:
p
k
p
|R(x)| ≤ 2 ·|N(x)| ≤ 2 · 2
−(n+1)
·2
p k
=2
kp+p−kn−k
1≤k=p/n
≤
1 kp
·2
2
Also gibt es insbes. mindestens eine geeignete Stichprobe.
233
Korrektheit der Konstruktion (2/2):
Zweiter Fall, x 6∈ L:
Sei r = (r1, . . . , rk ) ∈ {0, 1}kp beliebig vorgegeben.
Will zeigen: Es gibt ein z ∈ {0, 1}p, sodass
V
1≤i ≤k [ri ⊕ z ∈ N(x)] = 1.
Sei Z(x) die Menge aller schlechten z-Vektoren, d. h.:
W
Z(x) = { z | 1≤i ≤k [ri ⊕ z ∈ A(x)] = 1}
W
= { z | 1≤i ≤k z ∈ (A(x) ⊕ ri ) = 1}
S
= 1≤i ≤k (A(x) ⊕ ri ).
Damit: |Z(x)| ≤ k · |A(x)| ≤ k · 2
k≤2n
−(n+1)
·2
p
≤ 2n · 2−(n+1) · 2p = 12 · 2p.
Also gibt es insbes. mindestens ein geeignetes z.
2
234
Weiteres Ausschlachten des Beweises:
Haben gezeigt:
• x ∈ L: Jeweils die Hälfte aller Wahlen von r = (r1, . . . , rk )
ist geeignet.
Damit sogar mit Wahrscheinlichkeit mindestens 1/2
Ausgabe insgesamt korrekt.
• x 6∈ L: Alle Wahlen von r geeignet, es gibt immer dazu geeignete Wahl von z.
Damit Ausgabe in diesem Fall immer korrekt.
Also sogar gezeigt: Rahmenalgorithmus ist vom RP-Typ,
ruft Rechenwegtester auf, der ein Algorithmus vom Typ
∀poly Polynomialzeit-Prädikat“ ist.
”
235
Definition 10.5.2:
Für ein Entscheidungsproblem L enthält die Klasse RP(L)
′
alle Entscheidungsprobleme L , für die es eine randomisierte
Orakelturingmaschine (ROTM) M mit Orakel L gibt, die in
Polynomialzeit eine Ausgabe berechnet mit:
x ∈ L′ :
x 6∈ L′ :
Pr{M(x) = 1} ≥ 1/2;
Pr{M(x) = 0} = 1.
(Also kurz: RP-Algorithmus mit Orakel L.)
Für eine Klasse von Entscheidungsproblemen C sei
[
RP(L′).
RP(C) :=
L′ ∈C
236
Wir haben also sogar gezeigt:
Satz 10.5.3: BPP ⊆ RP(NP) ∩ co-RP(NP).
Einschränkung der Mächtigkeit von BPP-Algorithmen.
Weiteres Ergebnis in diese Richtung:
Satz 10.5.4: BPP(BPP) = BPP.
Indiz, dass BPP weniger mächtig als NP:
• Gemäß früherer Vermutung: Σ2 = NP(NP) % NP = Σ1.
(Sonst – siehe Folgerung 10.4.6: PH = Σ1.)
• Aber: P(P) = P.
237
Beweis von Satz 10.5.4:
Sei L ∈ BPP(BPP). Dann gibt es BPP-Algorithmus AL für L
mit Orakel L′ und BPP-Algorithmus AL′ für das Orakel L′.
Ersetze Orakel L′ durch gegebenen BPP-Algorithmus AL′ .
Dann: Orakelaufrufe in AL können alle Fehler machen.
Aber nicht zu viele Orakelaufrufe: Anzahl durch Polynom p
beschränkt.
• Probability-Amplification: Fehlerwahrscheinlichkeit für
Algorithmus AL′ bei Eingabe x höchstens 1/(8 · p(|x|).
• Wieder mit Probability-Amplification: Auch Rahmenalgorithmus AL hat Fehler höchstens 1/8.
Für Eingabe x Fehler insgesamt also höchstens
p(|x|) ·
1
1
+
8p(|x|) 8
=
1
.
4
2
238
Diskussion: NP versus BPP
• Gilt BPP ⊆ NP“?
”
Mehr oder weniger verbreitete Vermutung: ja“.
”
Indizien:
– Strukturelle Aussagen wie die gerade gezeigten
(weitere später).
– Nichtuniforme Variante (Kap. 14)
→ bei Schaltkreisen P = BPP“.
”
• Gilt NP ⊆ BPP“?
”
Verbreitete Vermutung: nein“.
”
Analog zu P 6= NP: Entwurf effizienter rand. Algorithmen für
NP-vollständige Probleme bisher gescheitert.
Weitere wichtige Indizien jetzt.
239
Satz 10.5.6: NP ⊆ BPP ⇒ NP = RP.
Entscheidende Folgerung ist NP ⊆ RP, da RP ⊆ NP klar.
Also:
Falls NP-vollständige Probleme BPP-Algorithmen haben,
kann auch einseitiger unbeschränkter Fehler immer zu
einseitigem beschränktem Fehler verbessert werden.
240
Beweis:
Voraussetzung ⇒ SAT hat BPP-Algorithmus A.
Es reicht zu zeigen:
SAT hat auch RP-Algorithmus. Dann NP ⊆ RP.
SAT-Instanz:
Formel ϕ = c1 ∧ · · · ∧ cm,
Klauseln c1, . . . , cm über n Variablen.
O. B. d. A. Fehlerwahrscheinlichkeit von A höchstens 1/(2n)
(mit Probability-Amplification).
241
Algorithmus für SAT:
Verwalte Belegung a = (a1, . . . , an) und aktuelle Formel ψ.
ψ := ϕ;
for i := 1 to n do
ai := 0; berechne ψ0 = ψ|xi =0;
wende A auf ψ0 an;
if Antwort ja“ (ψ0 erfüllbar)
”
then ψ := ψ0
else ai := 1; ψ := ψ|xi =1
fi
od;
if a erfüllende Belegung für ϕ
then Ausgabe ja“
”
else Ausgabe nein“
”
fi.
242
Rechenzeit: Offensichtlich polynomiell.
Fehlerschranke:
ϕ nicht erfüllbar: Algorithmus gibt nein“ aus.
”
ϕ erfüllbar:
Insgesamt n Aufrufe des BPP-Algorithmus A:
Wahrscheinlichkeit, dass einer davon falsches Ergebnis liefert,
ist höchstens
1
1
= .
n·
2n
2
Falls alle Ergebnisse korrekt, wird erfüllende Belegung
konstruiert.
2
243
Ausgenutzte Eigenschaft von SAT:
Definition:
Sei L ∈ NP mit Darstellung
L = { x | ∃ y ∈ {0, 1}p(|x|) : (x, y) ∈ B}
mit einem geeigneten Polynom p und B ∈ P.
Dann heißt L selbstreduzierbar, falls es eine PolynomialzeitOTM mit Orakel L gibt, die für Eingaben x ∈ L ein y mit
(x, y) ∈ B berechnet und ansonsten eine beliebige Ausgabe
produzieren darf.
Also (letzter Beweis):
• SAT ist selbstreduzierbar.
• L ∈ NP selbstreduzierbar: L ∈ BPP ⇒ L ∈ RP.
244
Satz 10.5.5: NP ⊆ BPP ⇒ PH ⊆ BPP.
Wir benutzen für den Beweis folgendes Lemma:
Vertauschungslemma: NP(BPP) ⊆ BPP(NP).
Beweis von Satz 10.5.5:
Aus dem Lemma folgt unter der Voraussetzung NP ⊆ BPP
sogar NP(BPP) ⊆ BPP. Denn:
NP⊆BPP
BPP(NP)
⊆
BPP(BPP)
Satz 10.5.3
=
BPP.
Wir zeigen damit, dass Σk ⊆ BPP für alle k.
Für k = 0 klar, für k = 1 aus der Voraussetzung.
245
Hatten: NP(BPP) ⊆ BPP. (∗)
Für k ≥ 2 gilt:
Σk = NP(NP(· · · NP(NP(NP))
{z
}
|
(∗)
k-mal NP“
”
(∗)
NP⊆BPP
⊆
NP(NP(· · · NP(NP(BPP))
|
{z
}
(∗)
(k−1)-mal NP“
”
⊆ NP(NP(·
{z · · NP}(BPP) ⊆ · · · ⊆ BPP.
|
(k−2)-mal NP“
”
2
246
Beweis des Vertauschungslemmas:
Zeige: NP(BPP) ⊆ BPP(NP).
Sei L ∈ NP(BPP). Dann gibt es einen Algorithmus für L mit
polynomieller Gesamtrechenzeit, der aus einen nichtdet.
Rahmenprogramm besteht, der ein BPP-Unterprogramm
aufruft.
Betrachte Eingaben der Länge n. Fixiere nichtdet. geratene
p(n)
Bits y ∈ {0, 1}
des Rahmenprogramms, p ein geeignetes
Polynom.
Ergebnis: P(BPP)-Algorithmus. Diesen (Satz 10.5.4)
ersetzen durch BPP-Algorithmus.
247
Haben damit:
Für Polynom p und geeignetes Problem B ∈ BPP:
x ∈ L ⇔ ∃ y ∈ {0, 1}p(n) : (x, y) ∈ B.
Algorithmus AB für B mit (o. B. d. A.) folgenden Eigenschaften:
• Rechenzeit und Anzahl Zufallsbits höchstens q(n),
q Polynom;
• Fehlerwahrscheinlichkeit höchstens 2−p(n)−2.
248
′
Sei AB (x, y, r) = 1, falls Eingabe (x, y) von AB akzeptiert bei
Zufallsbitstring r und A′B (x, y, r) = 0 sonst.
Dann: A′B (x, y, r) in Polynomialzeit berechenbar und
p(n)
x ∈ L: ∃ y ∈ {0, 1}
:
x 6∈ L: ∀ y ∈ {0, 1}p(n) :
′
Prr∈{0,1}q(n) {AB (x, y, r)
Prr∈{0,1}q(n) {A′B (x, y, r)
= 1} ≥ 1 − 2
−p(n)−2
= 1} ≤ 2−p(n)−2.
Algorithmus A: Eingabe x, |x| =: n.
1. Wähle r ∈ {0, 1}q(n) zufällig.
2. Benutze Orakel, um zu entscheiden, ob
∃ y ∈ {0, 1}p(n) : A′B (x, y, r) = 1.
Behauptung: A ist BPP(NP)-Algorithmus für L.
249
;
Beweis der Behauptung:
p(n)
x ∈ L: Dann existiert yx ∈ {0, 1}
, sodass (x, yx ) ∈ B und
Prr { A′B (x, yx , r) = 1} ≥ 1 − 2−p(n)−2.
Damit:
Prr { ∃ y ∈ {0, 1}p(n) : A′B (x, y, r) = 1}
≥ Prr { A′B (x, yx , r) = 1} ≥ 1 − 2−p(n)−2.
x 6∈ L: Dann gilt für alle y ∈ {0, 1}p(n), dass (x, y) 6∈ B und
′
Prr {AB (x, y, r) = 1} ≤ 2
−p(n)−2
.
Also:
Prr { ∃ y ∈ {0, 1}p(n) : A′B (x, y, r) = 1}
≤
X
y
Prr { A′B (x, y, r)
= 1} ≤ 2
p(n)
·2
−p(n)−2
1
= .
4
2
250
Zusammenfassung der Ergebnisse für BPP:
Ergebnisse, die Mächtigkeit von BPP-Algorithmen
einschränken:
• BPP ⊆ Σ2 ∩ Π2 (sogar: BPP ⊆ RP(NP) ∩ co-RP(NP));
• BPP(BPP) = BPP.
Aber: Selbst BPP 6= EXP (= in Zeit 2
bisher nicht bewiesen!
poly(n)
lösbare Probleme)
Ergebnisse, die Hypothese NP 6⊆ BPP“ stützen:
”
• NP ⊆ BPP ⇒ NP = RP;
• NP ⊆ BPP ⇒ PH ⊆ BPP.
251
Relativierte Komplexitätstheorie
Fixiere Orakel A. Betrachte für alle gewohnten Komplexitätsklassen entsprechende Variante, die über TMs mit Orakel A
definiert ist.
→ Komplexitätsklassen/-theorie relativ zum Orakel A
Beziehungen zwischen Komplexitätsklassen?
Satz: Es gibt Orakel A1 und A2, sodass
P(A1) = NP(A1) und P(A2) 6= NP(A2).
(Ohne Beweis.)
Beweistechnik für Trennung von Komplexitätsklassen
funktioniert auch für relativierten Fall:
⇒ Technik ungeeignet für Beweis von P 6= NP.
252
Exkurs I: Hierarchiesätze
Für alle Inklusionen wichtiger Komplexitätsklassen unbekannt,
ob diese echt sind? Antwort: Nein!
Aussagen ohne Beweise, Details siehe Reischuk, Kapitel 3.
Beruhen auf allgemeiner Diagonalisierungstechnik.
Betrachte vernünftige“ Zeit- und Platzschranken:
”
• Ziel ist Überwachung der Ressourcen durch TM.
• Will für Eingabelänge n Rechnung abbrechen können, falls
mehr als Zeit T (n) bzw. mehr als Platz S(n) verbraucht.
253
Definition:
n
• Zeit T : N → N zeitkonstruierbar, falls 1 7→ bin(T (n)),
bin(T (n)) Binärdarstellung von T (n), in Zeit O(T (n))
durch deterministische TM berechenbar.
• S : N → N platzkonstruierbar, falls 1n 7→ 1S(n) mit
Platz O(S(n)) durch deterministische TM berechenbar.
Für sublineare Platzschranken:
Extra-Eingabeband, das nur lesbar ist und nicht bei
Platzverbrauch berücksichtigt wird.
Beispiele:
• Zeitkonstruierbar z. B. Polynome und exponentielle Funktionen.
• Platzkonstruierbar zusätzlich auch logarithmische Funktionen.
254
Deterministischer Zeithierarchiesatz:
T1, T2 Zeitschranken, T2 zeitkonstruierbar und T2(n) ≥ (1 + α)n,
α > 0 Konstante. Außerdem T1(n) log T1(n) = o(T2(n)). Dann
gibt es Probleme, die in Zeit T2 von einer deterministischen
TM berechenbar sind, aber nicht in Zeit T1.
Wichtigste Folgerung: P $ EXP.
255
Deterministischer Platzhierarchiesatz:
S1, S2 Platzschranken, S2 platzkonstruierbar mit S2(n) ≥ log n.
Außerdem S1(n) = o(S2(n)). Dann gibt es Probleme, die mit
Platz S2 von einer deterministischen TM berechenbar sind,
aber nicht mit Platz S1.
Wichtigste Folgerung: LOGSPACE $ PSPACE.
LOGSPACE: Klasse aller Entscheidungsprobleme, die mit
logarithmischem Platz von deterministischer TM lösbar.
256
Wichtigster Teil der Komplexitätslandschaft
EXP
PSPACE
Mindestens eine dieser
Inklusionen ist jeweils echt.
(Vermutung: alle)
PH
NP
BPP
P
LOGSPACE
257
Exkurs II: Universelles Hashing
Dictionaries mit Operationen I NSERT, D ELETE, S EARCH.
Realisierung als Hashtabelle mit verketteten Listen
( offenes Hashing“):
”
4,5,6,7,9,10,12,17
h
0
10
1
6
2
17
7
9
4
5
12
3
4
Hashfunktion h : U = {0, . . . , u−1} → M = {0, . . . , m−1};
bildet Schlüssel aus Universum U auf Tabellenindizes in M ab.
Dabei |U| ≥ |M| (üblicherweise |U| ≫ |M|).
258
Übliche Analyse, z. B. in DAP 2:
Schlüssel sind gleichverteilt über Universum U,
Auswertung der Hashfunktion h kostet Zeit O(1),
Folge von Operationen mit max. n eingefügten Schlüsseln ⇒
erwartete Länge der Listen / Rechenzeit O(1 + n/m).
Erwartete Zeit dabei über zufällige Schlüssel.
Problem:
Annahme über Gleichverteilung der Schlüssel
üblicherweise nicht erfüllt.
Für jede feste Hashfunktion existieren Worst-CaseSchlüsselmengen mit langen Listen.
259
Idee (Carter, Wegman 1979):
Zufällige Wahl der Hashfunktion bei Initialisierung der Tabelle.
Neues Problem:
Zufällige Funktion aus Menge aller Funktionen U → M:
|U|
|M| Stück → ⌈|U| log |M|⌉ Bits für Beschreibung,
ebenso viele Zufallsbits für Auswahl.
Abhilfe:
Hashfunktion aus kleinerer Klasse von Funktionen,
im Folgenden Hashklasse, die wichtigste Eigenschaften
der Gleichverteilung rettet“.
”
Hash-Analysen → Vermeidung von Kollisionen entscheidend,
folgende Eigenschaft ausreichend. . .
260
Definition: Klasse H von Funktionen U → M, |M| = m,
′
′
heißt universelle Hashklasse, falls für alle x, x ∈ U mit x 6= x
gilt:
′
Prh∈H {h(x) = h(x )} =
′
|{ h | h(x) = h(x )}|
|H |
1
.
≤
m
Also:
Für verschiedene Schlüssel Wahrscheinlichkeit für Kollision
der Hashwerte für zufälliges h ∈ H höchstens so groß wie bei
zufälligem h aus allen Funktionen U → M.
261
Einfache Analyse ergibt (hier ohne Details):
Satz:
Hashtabelle mit verketteten Listen, Hashfunktion U → M mit
|M| = m zufällig aus universeller Hashklasse bei
Initialisierung.
Folge von Operationen I NSERT, D ELETE, S EARCH, bei der
maximal n Schlüssel eingefügt.
Dann erwartete Zeit für Operationen zusätzlich zu
Auswertungen der Hashfunktion O(1 + n/m).
Erwartungswert dabei über zufällige Hashfunktion.
Fazit: Keine Worst-Case-Schlüsselmengen mehr!
262
Stärkere Variante der Universalität von Hashklassen:
Definition: Klasse H von Funktionen U → M, |M| = m,
heißt k-fach unabhängige Hashklasse, k ≥ 2, falls für alle
paarweise verschiedenen x1, . . . , xk ∈ U und beliebige
y1, . . . , yk ∈ M gilt:
1
Prh∈H {h(x1) = y1, . . . , h(xk ) = yk } =
.
k
m
Für feste Wahl verschiedener Schlüssel x1, . . . , xk und
zufälliges h ∈ H sind damit Z1 = h(x1), . . . , Zk = h(xk )
unabhängige, über den m möglichen Werten gleichverteilte
Zufallsvariablen.
Beobachtung: H k-fach unabhängig, k ≥ 2 ⇒ H universell.
263
Beispiel: Die Matrixklasse
m
Sei A eine m × n-Matrix mit Einträgen aus Z2 und b ∈ Z2 .
n
m
Hashfunktion hA,b : Z2 → Z2 :
hA,b(x) := Ax + b, x ∈ Zn2 .
HMatrix := {hA,b | A m × n-Matrix über Z2, b ∈ Zm
2 }.
Satz: HMatrix ist eine 2-fach unabhängige Hashklasse.
264
Beweis:
Betrachte verschiedene Schlüssel x, x ′ ∈ Zn2 und y, y ′ ∈ Zm
2.
Zähle Matrizen A und Vektoren b mit
hA,b(x) = Ax + b = y und hA,b(x ′) = Ax ′ + b = y ′. (∗)
Gleichungen in (∗) äquivalent zu:
(1) A(x − x ′) = y − y ′ und (2) Ax ′ + b = y ′.
Bei festem A, das (1) erfüllt, gibt es offenbar
genau ein b, das (2) erfüllt, nämlich:
b := y ′ − Ax ′.
Wie viele Matrizen A, die (1) erfüllen?
265
Unterbrechung des Beweises für
Sehr wichtiges Lemma:
Sei a = [a1, . . . , an]⊤ ∈ Zn2 mit a 6= 0n (= Nullvektor in Zn2 ),
x = [x1, . . . , xn]⊤ ∈ Zn2 und b ∈ Z2 beliebig.
Dann hat die lineare Gleichung
⊤
a · x = a1 x1 + · · · + an xn = b
genau 2n−1 Lösungen x ∈ Zn2 .
Beweis: Entweder mit linearer Algebra oder so zu Fuß:
O. B. d. A. a1 = 1 6= 0. Kann x2, . . . , xn beliebig wählen,
jeweils genau eine passende Wahl für x1:
x1 = b − a2 x2 − · · · − an xn .
2
266
Weiter mit eigentlichem Beweis:
Zähle Matrizen A mit A(x − x ′) = y − y ′, x − x ′ 6= 0n.
Jede Zeile: Gleichungssystem wie in sehr wichtigem Lemma.
Zeilen von A unabhängig wählbar:
mn−m
n−1m
=2
solcher Matrizen A.
2
Anzahl aller (A, b) mit
hA,b(x) = Ax + b = y und hA,b(x ′) = Ax ′ + b = y ′
also: 2mn−m · 1 (b durch Wahl von A festgelegt).
Andererseits: |HMatrix| = 2mn · 2m. Damit:
mn−m
2
′
′
Prh∈HMatrix {h(x) = y, h(x ) = y } = mn+m = 2−2m.
2
2
267
Ressourcenverbrauch für Matrixklasse:
Beschreibung einer Hashfunktion:
m
m × n-Matrix über Z2, Vektor aus Z2
→ mn + m = O(mn) Bits.
Auswertung einer Hashfunktion:
Zeit O(mn) + O(m) = O(mn).
Variante mit weniger Matrizen in den Übungen.
Weitere Bemerkung:
Addition von Vektor b bei Matrixklasse einsparen:
Weiterhin universell, aber nicht mehr 2-fach unabhängig.
268
11. Interaktive Beweissysteme
Folgende Themen hier und in Kap. 12:
• Mathematische Beweise.
• Modell für effiziente Verifikation von Beweisen:
→ Erkenntnisse über die Komplexität des
Graphisomorphieproblems;
→ PCP-Theorem (später in Kap. 12).
• Kryptographie.
269
Effiziente Verifikation von Beweisen:
Charakterisierung von NP:
Ja-Eingaben haben effizient (in Polynomialzeit) verifizierbaren
Beweis (oder Zeugen). Nein-Eingaben nicht.
Beispiel SAT: Erfüllende Belegungen.
Beschaffung des Beweises schwierig, Verifikation einfach.
Nützliche Veranschaulichung:
• Lehrer kennt Beweis, Schüler verifiziert diesen.
• Nur sinnvoll bei asymmetrischen Rollen:
Lehrer sollte mehr wissen / können als Schüler.
270
Szenario etwas genauer:
Beweiser
Bob
Verifiziererin
Victoria
Für Entscheidungsproblem L:
• x ∈ L: Es gibt einen Beweis, mit dessen Hilfe Bob
Victoria von dieser Tatsache überzeugen kann.
• x 6∈ L: Egal, welchen Beweis Bob Victoria vorlegt –
Victoria kann diesen falsifizieren.
Bob verfügt über unbegrenzte Rechenkraft.
Victorias Aktionen in Polynomialzeit ausführbar.
271
Zwei natürliche Ideen zur Verallgemeinerung dieses
Szenarios:
• Effiziente randomisierte Algorithmen für
Bob und Victoria erlauben.
• Bei NP nur sehr eingeschränkte Interaktion
(Frontalunterricht).
Mehrere Frage-Antwort-Runden erlauben.
272
11.2 Interaktive Beweissysteme
Historische Bemerkungen:
• Goldwasser, Micali, Rackoff (1985):
Modell der interaktiven Beweissysteme (hier).
• Babai (1985):
Modell der Artus-Merlin-Protokolle (nächster Abschnitt).
273
Definition 11.2.1: Ein interaktives Beweissystem ist ein
Kommunikationsprotokoll K = (B, V ) zwischen Beweiser Bob
und Verifiziererin Victoria:
• Bob und Victoria kennen Eingabe x.
• Bob und Victoria senden sich abwechselnd Botschaften,
beginnend mit Victoria, die sie mit randomisierten
Algorithmen B bzw. V erzeugen. Diese dürfen die
Eingabe x, Zufallsbits und die bisher gesendeten
Botschaften benutzen.
• Victoria kann durch Senden einer speziellen, leeren
Botschaft zu Anfang Bob beginnen lassen.
• Victorias Algorithmus V kann zwei spezielle Botschaften
akzeptieren“ und verwerfen“ produzieren, die das Protokoll
”
”
beenden und als Ausgabe dienen.
274
Definition 11.2.1 (Forts.):
Ausgabezufallsvariable:
DB,V (x) ∈ {0, 1} mit
DB,V = 1 :⇔ Kommunikationsprotokoll akzeptiert x.
Runden:
Nenne das Senden einer Botschaft Runde des Protokolls.
Evtl. leere Botschaft von Victoria am Anfang sowie
Botschaften akzeptieren“ / verwerfen“ zählen nicht.
”
”
275
Definition 11.2.2: Die Klasse IP enthält alle Entscheidungsprobleme L, die von einem interaktiven Beweissystem K = (B, V )
auf folgende Weise berechnet werden.
• Victorias Algorithmus V hat polynomielle Rechenzeit in der
Eingabelänge und beendet das Protokoll nach polynomiell
vielen Runden in der Eingabelänge.
• Es gelten folgende Eigenschaften.
– Für alle x ∈ L:
Pr{DB,V (x) = 1} ≥ 3/4.
′
– Für alle randomisierten Algorithmen B für Bob
und alle x 6∈ L:
Pr{DB′,V (x) = 1} ≤ 1/4.
276
Bemerkung:
• Die im Kommunikationsprotokoll K vorgegebenen
Algorithmen B und V passen zueinander“, sodass im Fall
”
x ∈ L nur kleine Fehlerwahrscheinlichkeit.
• Im Fall x 6∈ L kann Bobs Algorithmus B′ beliebig ausssehen.
Egal! Er wird Victoria jedenfalls niemals mit großer
Wahrscheinlichkeit überzeugen.
277
Definition 11.2.2 (Forts.):
IP(k): Klasse aller Entscheidungsprobleme, für die es ein
interaktives Beweissystem wie beschrieben gibt, das
maximal k Runden hat.
Dabei wird das Maximum über alle Eingaben und alle Wahlen
der Zufallsbits gebildet.
278
Einige Anmerkungen zur Definition:
• Bobs Algorithmus B hat keine Ressourcenbeschränkung.
Kann daher o. B. d. A. von deterministischem Algorithmus
ausgehen. Fehlerwahrscheinlichkeit dann über Victorias
Zufallsentscheidungen.
• Robustheit der Fehlerwahrscheinlichkeiten:
Kann Fehler 1/2 − 1/p(n) zulassen und diesen auf 2−q(n)
absenken, p und q Polynome.
Probability-Amplification für interaktive Beweissysteme:
– Bob und Victoria führen polynomiell viele, unabhängige
Kopien des Protokolls parallel aus.
– Victoria akzeptiert, wenn das mehr als die Hälfte aller
Kopien tun.
279
Spezialfall der Definition:
NP ⊆ IP(1) .
• Bob sendet Beweis, Victoria verifiziert diesen und
akzeptiert oder verwirft sofort.
• Victoria benutzt keine Zufallsbits.
Was kann man dann erst alles mit polynomiell vielen Runden
und Zufall tun!?
• Nicht schwer zu sehen: IP ⊆ PSPACE.
(Probiere alle möglichen Botschaften des Beweisers und
alle möglichen Zufallsbitstrings. Insgesamt polynomiell
viele Bits. Mehrheitsentscheid über Ergebnisse.)
• Es gibt Orakel A: IP(A) $ PSPACE(A).
Trotzdem (Shamir 1990): IP = PSPACE.
280
11.3 Zur Komplexität des
Graphisomorphieproblems
Erinnerung:
GI (Graph Isomorphism):
Eingabe: Graphen G0 = (V0, E0), G1 = (V1, E1) (ungerichtet),
wobei o. B. d. A. V0 = V1 = {1, . . . , n}.
Frage:
Sind G0 und G1 isomorph, d. h., gibt es eine
Permutation π ∈ Sn, sodass
∀ u, v ∈ V : {u, v} ∈ E0 ⇔ {π(u), π(v)} ∈ E1?
Sn = Menge aller Permutationen von {1, . . . , n}
(symmetrische Gruppe vom Grad n).
Notation: G0 und G1 isomorph: G0 ≡ G1.
281
Klar: GI ∈ NP.
Keine zu effizienten Algorithmen gehörige Klasse bekannt,
die GI enthält.
Im Folgenden Indizien, warum GI vermutlich
andererseits auch nicht NP-vollständig ist.
282
11.3.1 Ein interaktives Beweissystem für GI
Satz 11.3.1: GI ∈ IP(2).
Vermutung: co-NP 6⊆ IP(2).
(Schwierigkeit, für Ja-Eingaben Allquantoren zu realisieren.)
→ Ergebnis ist Indiz, dass GI nicht NP-vollständig ist.
Hatten bereits GI ∈ IP(1).
Später noch weiteres, eingeschränktes
interaktives Beweissystem für GI.
283
Beweis:
Protokoll: Eingabe: Graphen G0, G1.
1. Victoria wählt zufällig i ∈ {0, 1} und π ∈ Sn.
Sie berechnet H := π(Gi ) und sendet H an Bob.
2. Bob berechnet j ∈ {0, 1} und sendet j an Victoria.
3. Victorial akzeptiert (G0, G1) genau dann, wenn i = j .
Beachte: Akzeptieren heißt hier (GI), dass G0 und G1 als
nicht isomorph angesehen werden.
Nicht ganz trivial: Erzeugung des zufälligen π mit Hilfe
von Zufallsbits.
Ansonsten klar: Victoria benötigt nur poly. Rechenzeit,
Protokoll von der richtigen Bauart für IP(2).
Zu überprüfen: Fehlerwahrscheinlichkeit.
284
Zufällig gleichverteilte Wahl von π ∈ Sn:
• Erzeuge nacheinander zufällig π(1), . . . , π(n).
• Seien π(1), . . . , π(i − 1) bereits gewählt.
– Benutze ⌈log(n − i + 1)⌉ Zufallsbits, um Zahl k zu wählen.
– Falls 0 ≤ k < n − i + 1, ist π(i ) die (k + 1)-te freie Zahl
aus {1, . . . , n}.
– Sonst Fehlschlag, Wskt. kleiner als 1/2.
Pro Schritt n Wiederholungen →
Wskt. für Fehlschlag insgesamt kleiner als n/2n.
Bei Fehlschlag kann Victoria beliebig entscheiden.
Der Einfachheit halber (für Fehleranalyse) akzeptiere sie
hier immer.
285
Jetzt zur Fehleranalyse.
1. Fall: G0 6≡ G1 (G0 und G1 nicht isomorph).
Dann H ≡ Gi , aber H 6≡ G1−i (i ∈ {0, 1} von Victoria gewählt).
Bob kann feststellen, ob H zu G0 oder zu G1 isomorph ist:
Probiere alle π′ ∈ Sn durch.
′
′
Teste jeweils, ob π (G0) = H oder π (G1) = H.
Damit kann Bob i bestimmen und j = i wählen
und Victoria akzeptiert.
Entscheidung immer korrekt, Fehlerwahrscheinlichkeit 0.
(Benutze hier, dass Victoria im Falle eines Fehlschlags bei
Erzeugung von π immer akzeptiert.)
286
2. Fall: G0 ≡ G1 (G0 und G1 isomorph).
Intuition: Bob kann anhand von H nicht herausfinden,
ob Victoria i = 0 oder i = 1 gewählt hat.
Lemma 3: Für alle Graphen h:
Pr{i = 0 | H = h} = Pr{i = 1 | H = h}.
Beweis von Lemma 3:
Pr{i = 0 | H = h} =
Pr{i = 0 ∧ H = h}
Lemma 2
=
Pr{H = h}
=
Pr{H = h | i = 0} · 12
Pr{H = h | i = 1} · 12
Pr{H = h}
Pr{H = h}
=
Pr{i = 1 ∧ H = h}
Pr{H = h}
= Pr{i = 1 | H = h}.
(Beweis von Lemma 3) 2
287
Lemma 2: Für alle Graphen h:
Pr{H = h | i = 0} = Pr{H = h | i = 1}.
Beweis von Lemma 2:
Pr{H = h | i = 0} =
Lemma 1
=
′
′
|{π | π (G0) = h}|
n!
|{π′ | π′(G1) = h}|
n!
= Pr{H = h | i = 1}.
(Beweis von Lemma 2) 2
288
Sei π(G0) = G1, π ∈ Sn.
Lemma 1: Für alle Graphen h:
|{π′ | π′(G0) = h}| = |{π′ | π′(G1) = h}|.
Beweis von Lemma 1:
• π′(G1) = h, dann (π′ ◦ π)(G0) = π′(G1) = h.
′
′′
′
′′
Außerdem π ◦ π = π ◦ π ⇒ π = π .
Also injektive Abbildung der rechten auf die linke Menge.
• π′(G0) = h, dann (π′ ◦ π−1)(G1) = π′(G0) = h.
Injektive Abbildung der linken auf die rechte Menge.
(Beweis von Lemma 1) 2
289
Weiter mit der Fehleranalyse für den Fall G0 ≡ G1. . .
Nach Lemma 3 gilt für alle Graphen h:
1
Pr{i = 0 | H = h} = Pr{i = 1 | H = h} = .
2
Auswirkungen für das Protokoll:
• Bob muss das Bit i von Victoria vorhersagen.
• Einzige Info, die Bob darüber hat: Zufälliger Graph H.
• Selbst bei Kenntnis dieses Graphen ist i für Bob Zufallsbit.
Egal was Bob tut, er kann mit Wahrscheinlichkeit
höchstens 1/2 das richtige Bit an Victoria senden.
Also Wahrscheinlichkeit für Verwerfen mindestens 1/2.
Durch Probability-Amplification (zwei Kopien)
verbessern auf mindestens 3/4. (Beweis von Satz 11.3.1) 2
290
11.3.2 Quantorenklassen
Seit längerem benutzt (Kap. 10), hier explizit:
Komplexitätsklassen definieren mit Quantoren.
Definition: Sei C Klasse von Entscheidungsproblemen.
∃ · C: Klasse aller Entscheidungsprobleme L, für die es ein
Polynom p und ein Problem B ∈ C gibt, sodass
L = { x | ∃ y ∈ {0, 1}p(|x|) : (x, y) ∈ B}.
∀ · C: Klasse aller Entscheidungsprobleme L, für die es ein
Polynom p und ein Problem B ∈ C gibt, sodass
p(|x|)
L = { x | ∀ y ∈ {0, 1}
: (x, y) ∈ B}.
Beachte: Variablenanzahl hinter Quantoren immer
polynomiell beschränkt.
291
Klar: ∃ · P = NP, ∀ · P = co-NP.
Auch (Satz von Wrathall): ∃ · Πk−1 = Σk , ∀ · Σk−1 = Πk .
Und: ∃ · C ⊆ NP(C), ∀ · C ⊆ co-NP(C).
Aber Vorsicht:
(Polynomiell beschränkter) ∃-Quantor ist nicht dasselbe
wie NP-Rahmenprogramm bei Orakelklassen:
Wir vermuten, dass i. A. ∃ · C = NP(C) nicht gilt!
Denn z. B.:
∃ · NP = ∃ · ∃ · P = ∃ · P = NP (= Σ1), aber
NP(NP) = Σ2!
Algorithmische Sichtweise von Quantorenklassen:
Q · C → Rahmenprogramm vom Q-Typ, das C-Unterprogramm
nur einmal am Ende aufruft und dessen Ergebnis ausgibt.
292
Jetzt: Quantorenmenagerie erweitern um Zufallsquantor;
soll zu BPP-Rahmenalgorithmen korrespondieren.
Definition:
Sei C wieder Klasse von Entscheidungsproblemen.
BP · C: Klasse aller Entscheidungsprobleme L, für die es ein
Polynom p und ein Problem B ∈ C gibt, sodass gilt:
• x ∈ L: Pry∈{0,1}p(|x|) {(x, y) ∈ B} ≥ 3/4;
• x 6∈ L: Pry∈{0,1}p(|x|) {(x, y) ∈ B} ≤ 1/4.
Bemerkungen:
1. BP · P = BPP.
2. BP · C ⊆ BPP(C).
293
Wichtiger Spezialfall im Detail: BP · ∃ · P = BP · NP
L ∈ BP · NP, falls es Polynome p, q und B ∈ P gibt, sodass
• x ∈ L: Prr∈{0,1}p(|x|) {∃ y ∈ {0, 1}q(|x|) : (x, r, y) ∈ B} ≥ 3/4;
• x 6∈ L: Prr∈{0,1}p(|x|) {∃ y ∈ {0, 1}q(|x|) : (x, r, y) ∈ B} ≤ 1/4.
Kann zur Vereinfachung p = q voraussetzen.
Was hat das mit interaktiven Beweissystemen zu tun?
294
11.3.3 Artus-Merlin-Protokolle
Eingeschränkte Variante von interaktiven
Beweissystemen (Babai 1985):
Merlin (M):
Beweiser mit unbeschränkter Rechenkraft;
König Artus (A): Verifizierer mit polynomieller Rechenzeit.
Einschränkung:
Artus sendet von ihm erzeugte Zufallsbits an Merlin,
keine anderen Botschaften für Artus erlaubt.
Spiel-Sichtweise:
• Betrachte Botschaften als Züge.
• Merlin gewinnt, wenn er Artus zum Akzeptieren
bewegen kann.
295
Unterschied zwischen den Modellen:
Unterschiedlicher Zugriff der Spieler auf Zufallsbits:
Interaktive Beweissysteme allgemein: private coins;
public coins.
Artus-Merlin-Protokolle (hier):
Bemerkung:
Privater Zufall für GI-Protokoll aus Abschnitt 11.3.1 essenziell.
(Im Fall G0 ≡ G1 kann Bob Victorias privates Zufallsbit i
nur mit Wahrscheinlichkeit 1/2 raten.)
296
Definitionen:
AM(k): Klasse der Entscheidungsprobleme, für die es
Artus-Merlin-Protokoll mit k Runden (gesendete Botschaften)
gibt, wobei Artus anfängt.
MA(k): Wie vorher, aber Merlin fängt an.
Spezialfälle:
AM = AM(2): Artus, dann Merlin senden jeweils eine Botschaft.
MA = MA(2): Merlin, dann Artus senden jeweils eine Botschaft.
Genauso: AMA, MAMA, AMAMAMAMA, usw.
297
Satz 11.3.3’: BP · NP = AM ⊆ IP(2).
Beweis:
Die Inklusion ist klar, da ein AM-Protokoll ein eingeschränktes
interaktives Beweissystem mit zwei Runden ist.
Zeige also BP · NP = AM.
298
BP · NP ⊆ AM:
′
Sei L ∈ BP · NP. Dann existieren Polynome p, q und L ∈ P,
sodass:
q(|x|)
• x ∈ L: Prr∈{0,1}p(|x|) { ∃ y ∈ {0, 1}
′
: (x, r, y) ∈ L } ≥ 3/4;
• x 6∈ L: Prr∈{0,1}p(|x|) { ∃ y ∈ {0, 1}q(|x|) : (x, r, y) ∈ L′} ≤ 1/4.
Protokoll: Eingabe ist x.
p(|x|)
1. Artus erzeugt r ∈ {0, 1}
und sendet r an Merlin.
q(|x|)
2. Merlin probiert alle y ∈ {0, 1}
durch.
′
Falls er ein y findet mit (x, r, y) ∈ L , sendet er dieses y
an Artus. Falls nicht, sendet er irgendein y.
′
3. Artus akzeptiert genau dann, wenn (x, r, y) ∈ L .
299
Klar: Artus kommt mit polynomieller Rechenzeit aus.
Fehlerwahrscheinlichkeit:
• x ∈ L:
Merlin findet passendes y mit Wahrscheinlichkeit ≥ 3/4.
• x 6∈ L:
Merlin findet passendes y mit Wahrscheinlichkeit ≤ 1/4.
Also ist das konstruierte Protokoll vom IP(2)-Typ.
Es ist sogar vom AM-Typ, denn Artus sendet nur Zufallsbits.
300
AM ⊆ BP · NP:
Sei L ∈ AM. Dann existiert ein Protokoll (M, A), sodass
• Für alle x ∈ L:
Pr{DM,A(x) = 1} ≥ 3/4;
′
• Für alle M und x 6∈ L: Pr{DM ′,A(x) = 1} ≤ 1/4.
Außerdem hat das Protokoll nur zwei Runden wie folgt:
In der ersten schickt Artus Zufallsbits an Merlin,
in der zweiten schickt Merlin irgendeine Botschaft an Artus.
301
Sei r der String aller Zufallsbits, die Artus
erzeugt. Dieser besteht aus
• dem Zufallsbitstring r1, den er an Merlin schickt;
• dem Zufallsbitstring r2, von dem er seine Entscheidung über
Akzeptieren / Verwerfen am Ende abhängig machen kann.
Es ist r ∈ {0, 1}p(|x|) für ein geeignetes Polynom p
aufgrund der Rechenzeitschranke von Artus.
Sei yx,r1 = M(x, r1) die Botschaft, die Merlin zurücksendet.
O. B. d. A. ist yx,r1 ∈ {0, 1}q(|x|), q Polynom.
(Artus kann nur polynomiell viele Bits der Botschaft lesen.)
302
Sei A(x, r, y) = 1, falls Artus für Eingabe x, Zufallsstring r
und Botschaft y von Merlin akzeptiert. Dies ist ein
deterministisch in Polynomialzeit berechenbares Prädikat.
Wie immer zwei Fälle:
• x ∈ L:
Prr∈{0,1}p(|x|) { ∃ y ∈ {0, 1}q(|x|) : A(x, r, y) = 1}
≥ Prr { A(x, r, yx,r1 ) = 1} = Pr{DM,A(x) = 1} ≥ 3/4.
• x 6∈ L:
Hier irgendeine Botschaft y von Merlin gemäß Algo. M ′.
Falls y nicht erforderliche Länge hat: A(x, r, y) = 0. Damit:
Prr∈{0,1}p(|x|) { ∃ y ∈ {0, 1}q(|x|) : A(x, r, y) = 1}
= Pr{DM ′,A(x) = 1} ≤ 1/4.
2
303
Satz: AM ⊆ Π2.
Beweisidee:
Zu zeigen: AM = BP · ∃ · P ⊆ Π2 = ∀ · ∃ · P.
Satz von Sipser-Gács-Lautemann (10.5.1):
BPP = BP · P ⊆ Π2 = ∀ · ∃ · P.
Anpassung des Beweises liefert:
BP · ∃ · P ⊆ ∀ · ∃ · ∃ · P = ∀ · ∃ · P.
• Benutze im alten Beweis Probability-Amplification für BPP.
Brauche dies jetzt für BP · ∃ · P = BP · NP = AM.
Siehe Übungen.
• Ansonsten Beweis durchgehen und überall P-Prädikat am
Ende durch ∃ · P-Prädikat ersetzen.
2
304
11.3.4 AM-Protokoll für GI
Haben bereits gesehen (11.3.1): GI ∈ IP(2).
Ziel hier: Sogar GI ∈ AM = AM(2).
Zeigen später:
Mit diesem Ergebnis folgt aus der Annahme, dass
GI NP-vollständig ist, dass polynomielle Hierarchie auf
der 2. Stufe zusammenbricht.
→ Starkes Indiz, dass GI nicht NP-vollständig ist.
305
Zur Vorbereitung:
Zählen von Graphisomorphismen (1/2)
π ∈ Sn heißt Automorphismus von G, wenn π(G) = G,
d. h. {u, v} Kante in G ⇔ {π(u), π(v)} Kante in G.
Beispiel: G: 1
2
3
Automorphismen von G:
123
123
= id,
= (12).
123
213
Definition: Menge aller Automorphismen von G,
Aut(G) := {π | π(G) = G},
bildet Untergruppe von Sn, Automorphismengruppe von G.
306
Zählen von Graphisomorphismen (2/3)
Notation: Sn(G) := {H | H ≡ G} = {H | ∃ π ∈ Sn : π(G) = H} .
Satz: |Sn(G)| = n! / |Aut(G)|.
Entweder Algebra oder zu Fuß (hier).
Bemerkung zunächst:
Aut(G) ist Untergruppe von Sn ⇒ |Aut(G)| teilt n!.
Beweis:
Sei H ≡ G und Iso(G, H) = {π | H = π(G)}.
Es reicht zu zeigen: |Iso(G, H)| = |Aut(G)|.
307
Zählen von Graphisomorphismen (3/3)
Es ist H ≡ G, also gibt es ein π ∈ Sn mit H = π(G).
• |Iso(G, H)| ≥ |Aut(G)|:
′
′
Sei π ∈ Aut(G). Dann: (π ◦ π )(G) = π(G) = H.
Also auch π ◦ π′ ∈ Iso(G, H).
′
′′
′
′′
Außerdem gilt: π ◦ π = π ◦ π ⇒ π = π ,
d. h. Abbildung zwischen Mengen ist injektiv.
• |Iso(G, H)| ≤ |Aut(G)|:
′
′
Sei π ∈ Iso(G, H), d. h. H = π (G).
−1
′
−1
Dann: (π ◦ π )(G) = π (H) = G.
−1
′
Also π ◦ π ∈ Aut(G).
Injektivität der Abbildung analog zu oben.
2
308
Weitere Vorbereitung:
Später Hashing für randomisiertes Zählen einsetzen. Dazu:
Lemma: Sei H eine 2-fach unabhängige Hashklasse
mit Funktionen vom Typ {0, 1}ℓ → {0, 1}k . Sei A ⊆ {0, 1}ℓ .
Sei h ∈ H zufällig und S = |{a | a ∈ A ∧ h(a) = 0k }|.
Dann gilt E S = |A| · 2−k und V (S) ≤ E S.
Plan für spätere Anwendung:
V (S) klein“ ⇒ Konzentration um den Erwartungswert“,
”
”
S ≈ E S mit hoher Wahrscheinlichkeit, liefert Schätzung für |A|.
309
Beweis: Für alles Folgende sei h ∈ H zufällig.
k
Für a ∈ A definiere Sa := [h(a) = 0 ] (Indikatorzufallsvariable).
k
−k
Es ist E Sa = Pr{Sa = 1} = Pr{h(a) = 0 } = 2 .
(Denn: H 2-fach unabhängig ⇒ insbesondere
k
h(a) über {0, 1} gleichverteilte Zufallsvariable.)
Haben außerdem:
X
Sa .
S=
a∈A
Linearität des Erwartungswertes:
X
E Sa = |A| · 2−k .
ES =
a∈A
310
Varianz von S:
Zunächst ist Sa Bernoulli-Zufallsvariable,
Erfolgswahrscheinlichkeit“ p = 2−k , also:
”
−k
−k
V (Sa) = p · (1 − p) = 2 (1 − 2 ).
′
′
Es gilt: Sa, Sa′ unabhängig für a, a ∈ A mit a 6= a
wegen 2-facher Unabhängigkeit der Hashklasse H .
Damit folgt (nachrechnen bzw. Anhang im KT-Buch):
X
V (Sa) = |A| · 2−k (1 − 2−k ) ≤ E S.
V (S) =
a∈A
(Beachte: Im Allgemeinen Varianz nicht linear!)
2
311
Letzte Vorbereitung:
Zählen von Isomorphismen und Entscheiden von GI.
• Y (Gi ) := { (H, π) | H ≡ Gi ∧ π ∈ Aut(Gi )} für i = 0, 1.
Beobachtung 1: Y (Gi ) = Sn(Gi ) × Aut(Gi ).
Beobachtung 2: |Y (Gi )| = n!/|Aut(Gi )| · |Aut(Gi )| = n!.
• Y (G0, G1) := Y (G0) ∪ Y (G1).
Beobachtung:
G0 6≡ G1: Y (G0) ∩ Y (G1) = ∅ ⇒ |Y (G0, G1)| = 2n!;
G0 ≡ G1: Y (G0) = Y (G1)
⇒ |Y (G0, G1)| = n!.
Erkenntnis: Kann Wert |Y (G0, G1)| benutzen, um
festzustellen, ob (G0, G1) ∈ GI.
312
Satz 11.3.4: GI ∈ AM.
Beweis:
Y := Y (G0, G1) = { (H, π) | (H ≡ G0 und π ∈ Aut(G0)) oder
(H ≡ G1 und π ∈ Aut(G1)) }.
Protokoll: Eingabe (G0, G1).
1. Artus wählt zufällige Hashfunktion h : {0, 1}ℓ → {0, 1}k
und sendet diese an Merlin.
2. Merlin wählt y = (H, π) nichtdeterministisch
und sendet y an Artus.
k
3. Artus akzeptiert, falls y ∈ Y und h(y) = 0 .
Intuition:
G0 6≡ G1: |Y | = 2n!, große Wskt., dass y ex. mit h(y) = 0k ;
G0 ≡ G1: |Y | = n!, kleine Wskt., dass y ex. mit h(y) = 0k .
Muss dazu k (später) geschickt wählen.
313
Rechnung: Justieren der Wahrscheinlichkeiten
am Ende funktioniert so noch nicht.
Brauche größeren Abstand zwischen |Y |-Werten für
positive und negative Eingaben.
Boosting-Technik: s Kopien von Y verwenden → Y s .
G0 6≡ G1: |Y s | = 2s (n!)s ;
G0 ≡ G1: |Y s | = (n!)s .
Werte unterscheiden sich um Faktor 2s und s einstellbar.
Patche Protokoll wie folgt:
2.’ Merlin wählt y1 = (H1, π1), . . . , ys = (Hs , πs ) nichtdet. und
sendet y1, . . . , ys an Artus.
3.’ Artus akzeptiert, falls
y1, . . . , ys ∈ Y und h(y1, . . . , ys ) = 0k .
314
Ressourcen:
Artus testet, ob y1, . . . , ys ∈ Y . Das sieht nicht gut aus:
yi = (Hi , πi ) → Muss testen, ob Hi ≡ G0 oder Hi ≡ G1.
Idee für Abhilfe: Für positive Eingaben kann Merlin
Isomorphismus als Zeugen für yi ∈ Y mitliefern.
Genauer:
′
′
′
′
• Merlin wählt y1 = (y1=(H1, π1), π1), . . . , ys = (ys =(Hs , πs ), πs )
′
′
nichtdet. und sendet y1, . . . , ys an Artus.
′
• Artus testet, ob yi = (Hi , πi ) ∈ Y gemäß πi , d. h., ob
(Hi = πi′(G0) und πi ∈ Aut(G0)) oder
(Hi = πi′(G1) und πi ∈ Aut(G1)), wobei i = 1, . . . , s.
Später s = O(1): Dann in Polynomialzeit machbar.
315
Ressourcen (Forts.):
Artus muss außerdem Hashfunktion zufällig generieren
und auswerten.
Wahl der Hashfunktion aus Hashklasse H :
H 2-fach unabhängige Hashklasse mit Funktionen
vom Typ {0, 1}ℓ → {0, 1}k .
Dabei ℓ Bitlänge für Kodierung von (y1, . . . , ys ) ∈ Y s .
s = O(1): ℓ = poly(|G0| + |G1|).
Z. B. Matrixklasse geeignet.
Erzeugung und Auswertung in Polynomialzeit möglich.
316
Vollständig gepatchtes Protokoll:
Eingabe (G0, G1).
ℓ
k
1. Artus wählt zufällige Hashfunktion h : {0, 1} → {0, 1}
aus der Matrixklasse H und sendet diese an Merlin.
′
′
′
′
2. Merlin wählt y1 = (y1, π1), . . . , ys = (ys , πs ) nichtdet. und
sendet y ′ = (y1′ , . . . , ys′ ) an Artus.
3. Artus akzeptiert, falls
y = (y1, . . . , ys ) ∈ Y s gemäß π1′ , . . . , πs′ und h(y) = 0k .
Noch zu erledigen: Fehleranalyse.
317
Fehleranalyse:
′
Sei A(x, h, y ) = 1, falls Artus für Eingabe x = (G0, G1),
Hashfunktion h und Merlins Informationen y ′ = (y1′ , . . . , ys′ )
′
akzeptiert und A(x, h, y ) = 0 sonst.
Wahrscheinlichkeit, dass Artus akzeptiert:
Prh{∃ y ′ : A(x, h, y ′) = 1} = Prh{∃ y ∈ Y s : h(y) = 0k }.
Sei
S := |{y | y ∈ Y s ∧ h(y) = 0k }| =
X
[h(y) = 0k ].
y∈Y s
Damit:
s
k
Prh{∃ y ∈ Y : h(y) = 0 } = Prh{S ≥ 1}.
318
Will:
G0 6≡ G1:
Wahrscheinlichkeit, dass Artus akzeptiert, mindestens 3/4:
3
Prh{∃ y ∈ Y : h(y) = 0 } = Prh{S ≥ 1} ≥ .
4
s
k
G0 ≡ G1 :
Wahrscheinlichkeit, dass Artus verwirft, mindestens 3/4:
3
Prh{∀ y ∈ Y : h(y) 6= 0 } = Prh{S = 0} ≥ .
4
s
k
319
Lemma für randomisiertes Zählen anwenden: ⇒
P
k
s
−k
ES = E
[h(y)
=
0
]
=
|Y
|
·
2
und V (S) ≤ E S.
y∈Y s
G0 6≡ G1: |Y s | = 2s (n!)s , E S = 2s (n!)s · 2−k ;
s
s
s
−k
G0 ≡ G1: |Y | = (n!) , E S = (n!) · 2 .
s
Wähle k so, dass (n!) -Faktor verschwindet und
2s gerecht“ zwischen Fällen aufgeteilt:
”
s
k := ⌈s/2 + log((n!) )⌉.
G0 6≡ G1: E S ≥ 2
s/2−1
(→ mit hoher Wskt. S ≥ 1)
G0 ≡ G1: E S ≤ 2−s/2 (→ mit hoher Wskt. S = 0).
In beiden Fällen V (S) ≤ E S.
320
1. Fall, G0 6≡ G1:
ES ≥ 2
s/2−1
, V (S) ≤ E S, zeige S ≈ E S mit hoher Wskt.
Tschebyscheffsche Ungleichung:
Für Zufallsvariable X gilt: Pr{|X −E X | ≥ d } ≤
V (X )
d2
.
Damit:
Prh{S = 0} ≤ Pr{|S − E S| ≥ E S}
s := 6 1
V (S)
1
−s/2+1
≤
≤
≤ 2
≤ .
2
4
ES
(E S)
Also: Wahrscheinlichkeit, dass Artus akzeptiert:
3
Prh{S ≥ 1} ≥ .
4
321
2. Fall, G0 ≡ G1:
E S ≤ 2−s/2.
Markoffsche Ungleichung:
Für Zufallsvariable X mit nichtnegativen Werten
und c > 0 gilt:
1
Pr{X ≥ c · E X } ≤ .
c
Damit:
Prh{S ≥ 1} = Pr{S ≥ (1/E S) · E S}
s=6 1
1
−s/2
≤ .
≤ ES ≤ 2
≤
8
4
Wahrscheinlichkeit, dass Artus verwirft:
3
Prh{S = 0} ≥ .
4
2
322
Damit erhalten wir:
Satz 11.3.5: GI NP-vollständig ⇒ Σ2 = Π2.
Also folgt unter dieser Annahme auch (Satz 10.4.5), dass die
polynomielle Hierarchie auf der 2. Stufe zusammenbricht.
Beweisskizze:
GI NP-vollständig ⇒ GI co-NP-vollständig;
GI ∈ AM (Satz 11.3.4) ⇒ co-NP ⊆ AM.
(Benutze, dass AM abgeschlossen unter ≤p“.)
”
Damit folgt: Σ2 = ∃ · ∀ · P = ∃ · (co-NP) ⊆ ∃ · AM.
Zeige: ∃ · AM ⊆ AM.
Mit früherem Satz AM ⊆ Π2, also folgt Σ2 ⊆ Π2.
Daraus ergibt sich die Behauptung mit Lemma 10.4.2.
323
Zu zeigen noch: ∃ · AM ⊆ AM.
Im Beweis des Vertauschungslemmas gezeigt (siehe Kap. 10,
Folie 247):
∃ · BP · P ⊆ BP · ∃ · P.
Anpassung des Beweises liefert analog:
∃ · AM = ∃ · BP · ∃ · P ⊆ BP · ∃ · ∃ · P = BP · ∃ · P = AM.
Im ursprünglichen Beweis wieder Probability-Amplification
für BPP, hier für BP · ∃ · P = BP · NP = AM.
2
324
Weitere Ergebnisse ohne Beweis:
Satz: Für alle Konstanten k ≥ 2: AM(k) = AM(2).
Also: AM-Hierarchie bricht auf der 2. Stufe zusammen.
Satz: Für alle Polynome p: IP(p(n)) ⊆ AM(p(n) + 2).
D. h.: Private Zufallsbits können ganz allgemein
durch öffentliche Zufallsbits simuliert werden.
(Muss zwei Extrarunden spendieren, was aber
aufgrund des ersten Satzes nichts macht.)
Hashingidee aus dem Beweis von GI ∈ AM ist auch für den
Beweis des (komplizierteren) allgemeinen Falles essenziell.
325
Folgerungen aus diesen Sätzen:
Auch IP(k) = AM(k) für alle Konstanten k ≥ 2 und
AM(poly) = IP(poly) = IP = PSPACE.
Gesamtbild:
NP ∪ BPP ⊆ AM = AM(2) ⊆ AM(poly) = IP = PSPACE
⊆
Π2
326
11.4 Zero-Knowledge-Protokolle
Interaktive Beweissysteme:
• x ∈ L: Bob kann Victoria mit hoher Wahrscheinlichkeit mit
Hilfe eines Beweises von dieser Tatsache überzeugen. In
diesem Fall kooperieren Bob und Victoria und verhalten
sich beide ehrlich“.
”
• x 6∈ L: Jeder Beweisversuch von Bob wird mit hoher
Wahrscheinlichkeit von Victoria als falsch entlarvt. In
diesem Fall wird Victoria als ehrlich vorausgesetzt,
aber Bob darf beliebig betrügerisch“ sein.
”
327
Neue Sichtweise der asymmetrischen Rollen
von Bob und Victoria:
Bob hat Geheimnis“, das nur er kennt. Typischerweise
”
NP-Problem L und Zeugen“ für x ∈ L.
”
Z. B. GI und Isomorphieabbildung.
Bob will Victoria überzeugenden Beweis liefern,
dass er das Geheimnis besitzt. Kann dazu natürlich
einfach Victoria das Geheimnis schicken.
(Bei NP-Problem Zeuge als Beweis.)
Jetzt aber:
Victoria will vielleicht das Geheimnis für sich ausnutzen.
Kann Bob Victoria überzeugen, ohne sein
Geheimnis zu verraten?
328
Anwendung: Protokolle für Identifikation
• B will eigene Identität einer nicht vertrauenswürdigen
Verifiziererin V beweisen.
• Geheimnis ist Kennwort, das die Verifiziererin nicht
erfahren soll.
• Will verhindern, dass sich Verifiziererin V sich mit
erhaltenen Informationen gegenüber anderen
Verifiziererinnen als B ausgeben kann.
Hier: Modell der Zero-Knowledge-Protokolle, liefern
Grundidee zur Lösung des Problems.
329
Zero-Knowledge-Protokoll informell:
Bobs Beweis für x ∈ L soll Victoria von dieser Tatsache
überzeugen, aber kein weiteres Wissen darüber
hinaus liefern.
Schwierigkeit für Definition:
Wie kein weiteres Wissen“ formalisieren?
”
Klar: Kann nicht im üblichen informationstheoretischen
Sinn funktionieren: Bob muss mehr als ein Bit an Victoria
schicken, sonst kann sein Beweis nicht überzeugend sein.
330
Geniale Idee (Goldwasser, Micali, Rackoff 1985) –
Simulationsparadigma:
Interaktives Beweissystem, bei dem Bob und eine
ehrliche“ Victoria Algorithmen B und V ausführen.
”
Protokoll hat Zero-Knowledge-Eigenschaft,
falls Folgendes erfüllt:
• Betrachte betrügerische“ Victoria, die anstatt V einen
”
beliebigen effizienten Algorithmus V ′ ausführt (um etwas
über Bobs Geheimnis zu erfahren).
• Es gibt dann immer einen effizienten Simulationsalgorithmus S, der ohne Kommunikation mit Bob genau
dieselben Botschaften produziert wie das Protokoll mit
′
den Algorithmen (B, V ).
Victoria erfährt also nichts, was sie nicht auch ohne Bob selbst
berechnen könnte.
331
Noch zu klären: Was bedeutet effizienter Algorithmus“?
”
• Victoria verwendet randomisierten Algorithmus mit
maximaler polynomieller Rechenzeit.
• Simulator ist randomisierter Algorithmus mit
maximaler erwarteter polynomieller Rechenzeit.
Motivation für erwartete Rechenzeit?
• Historisch. Ist das, was man hinbekommen hat.
• Unmöglichkeitsergebnis (Barak, Lindell 2002):
Interessantes“ Protokoll mit polynomieller Rechenzeit
”
im Worst Case ⇒ Problem bereits in BPP enthalten.
Dann gibt es aber sowieso triviale Zero-KnowledgeProtokolle – siehe später.
332
Definition 11.4.1:
Ein interaktives Beweissystem (B, V ) für ein Entscheidungsproblem L hat die perfekte Zero-Knowledge-Eigenschaft,
′
falls für jeden randomisierten Algorithmus V mit maximaler
polynomieller Rechenzeit ein randomisierter Simulationsalgorithmus S existiert, dessen maximale erwartete Rechenzeit polynomiell ist und der für jedes x ∈ L alles, was bei der
Kommunikation zwischen B und V ′ gesendet wird, mit
denselben Wahrscheinlichkeiten berechnet.
PZK: Klasse aller Probleme mit einem interaktiven Beweissystem, bei dem Verifikation in Polynomialzeit durchführbar und
das die perfekte Zero-Knowledge-Eigenschaft hat.
333
Vereinfachende Annahme:
Im korrekt durchgeführten Protokoll (B, V ) kontrolliert Bob,
ob die Botschaften von Victoria ein festes, effizient zu
erkennendes Format haben. Falls nicht, sendet er nur noch
eine Dummy-Botschaft, sobald er an der Reihe ist. Dann hält
auch o. B. d. A. ein beliebiger V ′-Algorithmus dieses Format ein
(ansonsten ist das nachfolgende Verhalten von B auf triviale
Weise von S effizient simulierbar).
Aber im Allgemeinen gilt:
Müssen sehr vorsichtig sein mit O. B. d. A.-Annahmen“
”
über gegnerische Algorithmen von Victoria.
334
Alle Probleme in BPP haben triviales Protokoll,
wo Victoria alles selbst berechnet.
Beobachtung: BPP ⊆ PZK.
Also nur PZK-Protokolle für Probleme
außerhalb von BPP interessant.
Gibt es die überhaupt?
335
Einführendes Beispiel: Die magische Tür
Magische
Tür
Raum 0
Raum 1
Vorraum
Außenbereich
Bob kennt geheimes Kennwort, um magische Tür zu öffnen.
Will Victoria davon überzeugen, ohne sein Kennwort zu
verraten.
336
Protokoll für magische Tür:
Bob und Victoria befinden sich zu Anfang im Außenbereich.
1. Bob betritt den Vorraum, schließt die äußere Tür und wählt
i ∈ {0, 1} zufällig. Dann betritt er Raum i und schließt die
Tür hinter sich.
2. Victoria betritt den Vorraum und wählt zufällig j ∈ {0, 1}
und ruft Bob ihre Wahl zu.
3. Bob erscheint aus einer der beiden Türen von
Raum 0 oder Raum 1.
4. Victoria akzeptiert, wenn Bob aus Raum j kommt.
Warum hat das Protokoll die geforderten Eigenschaften?
337
• Bob kennt das Geheimnis der magischen Tür:
Kann immer aus dem richtigen Raum auftauchen, indem er
notfalls die magische Tür öffnet und in den anderen Raum
wechselt.
• Bob kennt das Geheimnis der magischen Tür nicht:
Victoria erwischt ihn mit Wahrscheinlichkeit 1/2
im falschen Raum.
Also haben wir ein interaktives Beweissystem mit einseitiger
Fehlerwahrscheinlichkeit 1/2. Absenken auf 1/4 durch
Probability-Amplification.
338
Ablauf des Protokolls, wenn Bob das Geheimnis kennt:
Victoria ruft Bob Raumnummer zu und Bob erscheint
aus der richtigen Tür.
Kann diesen Ablauf ohne Bob wie folgt simulieren:
Lasse Bob-Double zufälligen Raum wählen und betreten wie
im richtigen Protokoll. Das Bob-Double sieht aus wie Bob, hat
aber keine Ahnung von dem Geheimnis der magischen Tür.
Simuliere dann Victorias Entscheidung. Falls richtiger
Raum: okay, fertig. Falls nicht, verwirf diesen Versuch und
simuliere neu. Mache dies solange, bis die simulierte Victoria
richtig entscheidet.
Perfekte Zero-Knowledge-Eigenschaft bei Vernachlässigung
der Schwierigkeiten beim Kopieren realer Vorgänge.
339
Jetzt mit richtigem“ Problem:
”
Satz 11.4.2:
Es gibt ein interaktives Beweissystem für GI mit
Verifikation in Polynomialzeit, das außerdem auch die
perfekte Zero-Knowledge-Eigenschaft hat, d. h. GI ∈ PZK.
Eingabe wieder (G0, G1), wobei
G0 und G1 Graphen auf der Knotenmenge {1, . . . , n}.
Im Fall G0 ≡ G1 ist Bobs Geheimnis Isomorphismus
zwischen G0 und G1.
Idee für Beweis: Protokoll für magische Tür anpassen.
340
Beweis:
Protokoll: Eingabe (G0, G1).
1. Bob wählt zufällig i ∈ {0, 1} und π ∈ Sn, berechnet
H = π(Gi ) und sendet H an Victoria (die letzten drei
Schritte ersetzen das Betreten des zufälligen Raumes).
2. Victoria wählt zufällig j ∈ {0, 1} und sendet j an Bob.
3. Falls G0 ≡ G1 ist, berechnet Bob π′ ∈ Sn
mit π′(Gj ) = H und sendet π′ an Victoria.
′
Falls G0 6≡ G1 ist, sendet Bob irgendein π an Victoria.
4. Victoria akzeptiert, wenn H = π′(Gj ) ist.
Nenne die entsprechenden Algorithmen B und V (wie immer).
341
Rechenzeit für Victoria: Offensichtlich polynomiell.
Korrektheit als interaktives Beweissystem:
• G0 ≡ G1 :
′
j = i:
Bob kann π = π wählen.
j = 1 − i : Sei π∗(Gj ) = G1−j = Gi . Dann π ◦ π∗(Gj ) =
π(Gi ) = H.
′
∗
Also kann Bob π = π ◦ π wählen.
• G0 6≡ G1:
j = i:
Bob hat Glück gehabt, Victoria akzeptiert
nach wie vor für π′ = π.
j = 1 − i : Für alle π′ gilt, dass π′(Gj ) 6= H = π(Gi ).
Damit akzeptiert Victoria für kein π′.
Also einseitiger Fehler 1/2.
Probability-Amplification ausführlich später.
342
Perfekte Zero-Knowledge-Eigenschaft:
Betrachte nur den Fall, dass G0 ≡ G1.
Bei korrektem Ablauf des Protokolls (B, V )
werden Tripel (H, j, π′) als Botschaften gesendet:
• H zufälliger, zu G0 und G1 isomorpher Graph;
• j ∈ {0, 1} zufälliges Bit;
• π′ Permutation mit π′(Gj ) = H.
Betrachte nun beliebigen effizienten Algorithmus V ′ für
Victoria. O. B. d. A. kommt dieser mit den Botschaften von Bob
klar und sendet eine Zahl j ∈ {0, 1} mit irgendeiner Wahrscheinlichkeitsverteilung.
343
Müssen nun Protokoll effizient simulieren, ohne
das Geheimnis von Bob (Isomorphismus) zu kennen.
Algorithmus S:
i := 0; j := 1;
while i 6= j do
– Erzeuge zufällig i ∈ {0, 1} und π ∈ Sn und
berechne H = π(Gi ).
– Simuliere V ′ für die Situation, in der Bob H gesendet hat
und nenne das Ergebnis j .
od;
Ausgabe (H, j, π), wobei dies die Werte aus dem letzten
Schleifendurchlauf mit i = j sind.
′
Behauptung: Algorithmus simuliert Protokoll (B, V ).
344
Lemma:
Nach jedem Schleifendurchlauf sind die Zufallsvariablen
i und j unabhängig und es gilt Pr{i = j } = 1/2.
Beweis:
Das Bit j kann von V ′ in irgendeiner Form mit Hilfe von H
berechnet werden. Es hängt damit auch formal von i ab.
Aber es ist G0 ≡ G1, früheres Lemma liefert
für beliebigen festen Graphen h:
1
Pr{i = 0 | H = h} = Pr{i = 1 | H = h} = .
2
Insbesondere ist damit i unabhängig von H.
′
Intuitiv folgt auch, dass aus H der V -Algorithmus
nichts über i erfahren kann“.
”
345
Formales Argument:
′
Sei R der Zufallsbitstring, den V benutzt.
Es sind i und (H, R) unabhängig voneinander.
Damit folgt für beliebige a, b ∈ {0, 1}:
Pr{i = a ∧ V ′(H, R) = b}
X
=
Pr{i = a ∧ (H, R) = (h, r)}
(h,r) : X
V ′ (h,r)=b
=
(h,r) : V ′ (h,r)=b
Pr{i = a} · Pr{(H, R) = (h, r)}
= Pr{i = a} · Pr{V ′(H, R) = b}.
Also sind auch i und j = V ′(H, R) unabhängig voneinander.
Insbesondere (da i Zufallsbit) folgt Pr{i = j } = 1/2.
(Beweis des Lemmas) 2
346
Rechenzeit:
Lemma liefert: Schleife wird mit Wahrscheinlichkeit 1/2
nach jedem Durchlauf abgebrochen.
Erwartete Anzahl Schleifendurchläufe ist daher 2.
Damit erwartete Rechenzeit insgesamt polynomiell.
Verteilung von S vs. Verteilung im Protokoll (B, V ′):
Der Graph H und das Bit j haben die gleiche Verteilung wie
im Protokoll für (B, V ′), da sie genauso erzeugt werden.
Es wird außerdem π ausgegeben. Da am Ende i = j ist,
gilt auch H = π(Gj ) wie im Protokoll (B, V ′).
347
Bis jetzt:
Einzelne Kopie des Algorithmus, einseitiger Fehler 1/2.
Probability-Amplification: k Kopien ausführen.
Am einfachsten hier: Sequenziell hintereinander.
• Interaktives Beweissystem mit ehrlichen“ Spielern
”
hat dann Fehlerwahrscheinlichkeit 2−k .
• Was passiert mit der Zero-Knowledge-Eigenschaft?
Simulationsalgorithmus S für jede Kopie,
auch sequenziell hintereinander ausführen.
Erwartete Anzahl Schleifendurchläufe 2k,
damit insgesamt polynomielle erwartete Rechenzeit.
Also perfekte Zero-Knowledge-Eigenschaft wie gehabt.
2
348
Bemerkung:
Parallele Ausführung zur Probability-Amplification ist
für perfekte Zero-Knowledge-Eigenschaft problematisch,
falls sehr kleiner Fehler gewünscht:
Für k Kopien des vorhergehenden Protokolls für GI:
Wahrscheinlichkeit 2−k für i = j in allen Kopien“.
” k
Erwartete Rechenzeit daher 2 .
Superpolynomiell gegen null konvergierender Fehler
damit nicht erreichbar bei konstanter Rundenanzahl
und erwarteter polynomieller Zeit für Simulator.
349
Also GI ∈ PZK. Hatten bereits (Abschnitt 11.3):
GI ∈ IP(1) ∩ co-IP(2).
Protokolle mit perfekter Zero-Knowledge-Eigenschaft
auch für NP-vollständige Probleme?
Satz: PZK ⊆ IP(2) ∩ co-IP(2). (Ohne Beweis.)
Gemäß Beweis von Satz 11.3.5 gilt:
co-NP ⊆ AM = IP(2) ⇒ Σ2 = Π2.
Damit folgt: Gäbe es für NP-vollständige Probleme Protokolle
mit perfekter Zero-Knowledge-Eigenschaft, dann würde die
polynomielle Hierarchie auf der 2. Stufe zusammenbrechen.
350
Schwächere Zero-Knowledge-Varianten (informell):
Def.: ε(n) vernachlässigbar, falls ε(n) superpolynomiell klein,
d. h., für jedes Polynom p und n groß genug: ε(n) < 1/p(n).
• Statistische Zero-Knowledge-Eigenschaft
(statistical zero-knowledge, SZK):
Vom Simulator erzeugte Verteilung der gesendeten
Botschaften hat vernachlässigbaren Abstand zur Verteilung
beim realen Protokoll (anstatt Abstand 0 bei PZK).
Genauer: Totalvariationsabstand / L1-Abstand.
• (allgemeine) Zero-Knowledge-Eigenschaft
(computational zero-knowledge, CZK):
Rand. Polynomialzeitalgorithmus kann die vom Simulator
erzeugte Verteilung der gesendeten Botschaften von der im
realen Protokoll nur mit Erfolgswskt. ≤ 1/2 + ε(n),
ε(n) vernachlässigbar, unterscheiden.
351
Wie bei perfekter Zero-Knowledge-Eigenschaft:
Satz: SZK ⊆ IP(2) ∩ co-IP(2). (Auch ohne Beweis.)
Damit vermutlich für NP-vollständige Probleme nicht einmal
Protokolle mit nur statistischer Zero-Knowledge-Eigenschaft.
Aber:
Unter kryptographischen Standardannahmen“ beweisbar,
”
dass alle NP-vollständigen Probleme Protokolle mit
allgemeiner Zero-Knowledge-Eigenschaft haben.
Kryptographische Standardannahmen???
352
Einwegfunktionen:
Funktion f : {0, 1}∗ → {0, 1}∗ heißt Einwegfunktion
(one-way function), falls:
• Funktion f einfach“ zu berechnen:
”
Für Eingabe x Wert f (x) deterministisch in Polynomialzeit
berechenbar.
• Funktion f −1 schwer“ zu berechnen:
”
Mit randomisiertem Polynomialzeitalgorithmus nicht
möglich, zu y ∈ f ({0, 1}∗) ein x mit f (x) = y zu berechnen.
Formal: A randomisierter Polynomialzeitalgorithmus,
x ∈ {0, 1}n zufällig, dann gilt für jedes Polynom p:
n
Prx,r {A(f (x), 1 , r) ∈ f
−1
(f (x))} < 1/p(n).
353
Einwegfunktionen mit Falltür (trapdoor ) für
einfache Umkehrung sind essenzieller Baustein für
Public-Key-Kryptographie (z. B. RSA-Verfahren).
Existenz von Einwegfunktionen ⇒ P 6= NP.
Existenz von Einwegfunktionen ist (unbewiesene)
kryptographische Standardannahme.
Kandidat (z. B.): Faktorisierung von ganzen Zahlen
Vermutung: Für zufällige, etwa gleichgroße Primzahlen p, q
nicht möglich, zu n = p · q effizient Primfaktoren zu berechnen.
354
Existenz von Einwegfunktionen liefert folgendes wichtige
Teilmodul für kryptographische Verfahren:
Bitfestlegung (bit commitment, hier informell):
Abstrakte Version eines in einer Kiste mit Schloss bzw. bei
einem Notar hinterlegten Bits. Folgende Operationen effizient
durchführbar:
• Festlegung:
Bob wählt Bit b ∈ {0, 1} und sendet Victoria einen
aus b und geheimem Schlüssel k erzeugten
Bitstring c(b, k).
• Aufdeckung:
Zu einem späteren Zeitpunkt ( im Streitfall“) kann
”
Victoria Bob auffordern, das in c(b, k) verborgene Bit b
aufzudecken, indem er ihr das Paar (b, k) verrät.
355
Geforderte Eigenschaften:
• Festlegung ist versteckend:
Ohne Bobs Schlüssel k ist es Victoria nicht
möglich, aus c(b, k) über das Bit b effizient brauchbare
Informationen zu berechnen.
(Genauer: Für zufällig gleichverteiltes k hat randomisierter
Polynomialzeitalgorithmus nur vernachlässigbare Erfolgswskt., aus c(b, k) das Bit b richtig vorherzusagen.)
• Festlegung ist perfekt bindend:
Für kein k ′ ist c(1−b, k ′) = c(b, k).
Damit kann Bob bei der Aufdeckung nicht betrügen.
Existenz von Einwegfunktionen liefert
Bitfestlegungsverfahren (ohne Beweis).
356
Konkretes Beispiel für Bitfestlegungsverfahren:
Sei b ∈ {0, 1} Bobs Bit.
Festlegung:
1. Bob wählt zufällige Primzahl p = (pℓ−1, . . . , p0),
ℓ hinreichend groß, sodass p0 ⊕ · · · ⊕ pℓ−1 = b;
außerdem zufällige Primzahl q < p
ungefähr gleicher Länge.
2. Bob berechnet n = p · q und sendet n an Victoria.
Aufdeckung:
Bob sendet (p, q) an Victoria.
357
Eigenschaften:
• Verfahren ist perfekt bindend:
Wegen eindeutiger Zerlegung von ganzen Zahlen in Primfaktoren gibt es keine von (p, q) verschiedenen Primzahlen
′
′
′
′
(p , q ) mit p · q = n.
• Verfahren ist versteckend (informell):
Aus konstruierten Zahlen n fast keine Informationen über b
effizient berechenbar wegen angenommener Schwierigkeit
des Faktorisierungsproblems (auch für randomisierte
Algorithmen).
358
Satz 11.4.4: Falls Einwegfunktionen existieren, dann hat
das Hamiltonkreisproblem HC ein interaktives Beweissystem
mit (allgemeiner) Zero-Knowledge-Eigenschaft, d. h.,
HC ∈ CZK.
Polynomielle Reduktionen → Aussage auch für
alle NP-Probleme (hier ohne Details), also NP ⊆ CZK.
359
Beweisskizze:
Nach Voraussetzung haben wir
Bitfestlegungsverfahren zur Verfügung.
Eingabe für HC ist (ungerichteter) Graph G = ({1, . . . , n}, E ).
Falls G ∈ HC, ist Bobs Geheimnis Hamiltonkreis auf G,
beschrieben durch Kantenliste.
360
Protokoll: Eingabe G.
1. Bob wählt zufällig π ∈ Sn und sendet für die Bits in der
Adjazenzmatrix von π(G) jeweils eine Bitfestlegung.
2. Victoria sendet zufälliges i ∈ {0, 1}.
3. Bob sendet, falls
i = 0: π und Aufdeckung für gesamte Adjazenzmatrix
von π(G).
i = 1: nur Aufdeckung von n Kanten in π(G).
Falls G ∈ HC, wählt Bob die Kanten eines
Hamiltonkreises, sonst irgendwelche n Kanten.
4. i = 0: Victoria akzeptiert, falls Aufdeckung mit π(G)
übereinstimmt.
i = 1: Victoria akzeptiert, falls aufgedeckte Kanten
einen Kreis beschreiben, der die
Knotenmenge {1, . . . , n} permutiert.
Rechenzeit für Victoria: Offensichtlich polynomiell.
361
Korrektheit als interaktives Beweissystem:
• G hat Hamiltonkreis:
Bob und Victoria können Protokoll so folgen,
dass Victoria immer akzeptiert.
• G hat keinen Hamiltonkreis:
Bob kann höchstens eine der Anforderungen erfüllen
(benutze, dass Bitfestlegungsverfahren perfekt bindend):
– Falls er den richtigen Graphen G permutiert, besteht er
im Fall i = 0 den Test, kann im Fall i = 1 aber keinen
Hamiltonkreis finden.
– Falls er einen gefälschten Graphen G ′ mit Hamiltonkreis
permutiert, wird er im Fall i = 0 überführt
(Viktoria akzeptiert nur zu G isomorphe Graphen.)
Bob hat damit nur Wahrscheinlichkeit höchstens 1/2,
Victoria zum Akzeptieren zu bringen.
Also einseitiger Fehler 1/2, Verbesserung auf 1/4 wie immer.362
Zero-Knowledge-Eigenschaft (nur informell):
Hier hat G einen Hamiltonkreis H.
Annahme im Folgenden: Schlüssel, die Bob für Bitfestlegung
verwendet, sind zufällige Bitstrings fester Länge.
Welche Botschaften werden im Protokoll (B, V ′) gesendet?
Für zufällige Permutation π und Schlüssel k
mit k erzeugte Bitfestlegung für π(G).
Victoria: Zufälliges i ∈ {0, 1}.
Bob:
i = 0: π und Aufdeckung von π(G), d. h.
Schlüsselstring k.
i = 1: Aufdeckung von π(H), d. h.
Kantenliste von π(H) und zugehörige
Schlüsselbits in k.
Bob:
Bemerkung: π(H) = Kreis 1, 2, . . . , n mit zufällig permutierten Knoten. Im Fall i = 1 nur π(H) aufgedeckt.
363
Simulationsalgorithmus S:
1. Simulation von Bob:
Wähle zufällig i ′ ∈ {0, 1} und arbeite unter der
′
′
Hypothese, dass V -Algorithmus i = i wählen wird.
i ′ = 0: Für zufälliges π sende Bitfestlegung für π(G).
′
′
i = 1: Für zufälliges π sende Bitfestlegung für π(H ),
wobei H ′ der Graph ist, der nur aus dem
Hamiltonkreis 1, 2, . . . , n besteht.
2. Simuliere V ′ für die bei der Bob-Simulation
gesendeten Daten → Ausgabe i .
′
3. Falls i 6= i : Neustart mit Schritt 1.
4. Simuliere Algorithmus von Bob aus dem richtigen Protokoll:
Decke abhängig von i die richtigen Informationen auf.
364
Rechenzeit von Algorithmus S:
Da Bitfestlegung versteckend:
Auch unter der Bedingung, dass Bitfestlegung bekannt ist,
ist i ∈ {0, 1} bis auf vernachlässigbaren Fehler gleichverteilt.
Daher gilt i = i ′ ungefähr mit Wahrscheinlichkeit 1/2
und die erwartete Anzahl der Neustarts ist konstant.
Verteilung der Botschaften bei Algorithmus S vs.
Verteilung im Protokoll (B, V ′):
• Bobs Informationen passen zu Victorias Wahl von i .
• Da Bitfestlegung versteckend und Schlüssel gleichverteilt:
Bitfestlegung und Schlüssel am Ende nur mit
vernachlässigbarer Wahrscheinlichkeit von denen
im richtigen Protokoll zu unterscheiden.
2
365
Zusammenfassung zu interaktiven Beweissystemen
• Erweiterung von nichtdeterministischen und randomisierten
Algorithmen: Kombination beider Algorithmentypen.
NP ∪ BPP ⊆ IP(2) ⊆ IP(= IP(poly)) = PSPACE.
• Zufallsbits bei interaktiven Beweissystemen privat.
Veröffentlichung erzwingen → Artus-Merlin-Protokolle.
AM-Klassen ↔ Quantorenklassen.
Öffentlicher Zufall keine wesentliche Einschränkung:
IP(k) = AM(k) für alle Konstanten k ≥ 2.
• Anwendungen für Graphisomorphie:
GI NP-vollständig ⇒ Zusammenbruch der poly. Hierarchie
auf der 2. Stufe
• Zero-Knowledge-Protokolle:
GI ∈ PZK, HC ∈ CZK (und sogar NP ⊆ CZK).
366
12. Das PCP-Theorem
PCP-Theorem: Vermutlich bedeutendstes Einzelergebnis
der Komplexitätstheorie seit dem Satz von Cook.
PCP-Theorie liefert mehr und bessere
Nichtapproximierbarkeitsergebnisse.
Hatten in Kapitel 8: Lückentechnik
Für Minimierungsproblem:
NP-schwer, Eingaben x mit vopt(x) ≥ b von denen
mit vopt(x) ≤ a < b zu unterscheiden ⇒
NP-schwer, Lösung bis auf Faktor kleiner als b/a
zu approximieren.
Bisher nur in speziellen Fällen anwendbar.
367
Allgemeinere Idee: Wie bei NP-Vollständigkeitstheorie.
• Schwer approximierbares Basis(optimierungs)problem.
• PTAS-Reduktionen → Übertragung auf andere Probleme.
Bisher kein geeignetes Basisproblem.
Hätten gerne: Z. B. MAX-SAT als Basisproblem, mit:
• x ∈ SAT, erfüllende Belegung existiert ⇒
alle Klauseln erfüllt.
• x 6∈ SAT, keine erfüllende Belegung ⇒
höchstens (z. B.) Hälfte aller Klauseln gleichzeitig erfüllt.
Sieht nach co-RP-artiger“ Eigenschaft aus!
”
Plan: NP-Probleme → randomisierter Beweisverifizierer,
diesen durch SAT-Formel kodieren.
368
Übersicht über Rest des Kapitels:
12.1 Randomisierte Verifikation von Beweisen
12.2 Das PCP-Theorem
12.3 Anwendung auf Nichtapproximierbarkeitsergebnisse
12.4 Anwendung zum Nachweis von APX-Vollständigkeit
369
12.1 Randomisierte Verifikation von Beweisen
Hatten: NP ⊆ IP(1).
Ziel: Interaktive Beweissysteme mit Zufall, die genau
die NP-Probleme erkennen.
IP(1) (vermutlich) schon zu groß,
M (= einmal Merlin) erlaubt keinen Zufall.
370
Betrachte hier folgende eingeschränkten
interaktiven Beweissysteme:
Für Eingabe x ∈ L ∈ NP:
• Bob hat Beweis für diese Tatsache.
• Victoria wählt abhängig von Eingabe und Zufall einige
wenige Beweisbits aus, die Bob ihr dann liefert. Abhängig
von Eingabe, Zufall und Beweisbits entscheidet Victoria
über Akzeptanz.
• Victorias Auswahl der Beweisbits und Entscheidung
über Akzeptanz zufällig, aber nur wenige Zufallsbits
zur Verfügung.
Sehr eingeschränktes Protokoll vom IP(2)-Typ,
Beweisbits und Zufallsbits als (kostbare) Ressourcen.
371
Definition 12.1.1: r, q : N → N vorgegebene Funktionen.
(r(n), q(n))-beschränkter randomisierter Beweisverifizierer ist
polynomieller, randomisierter Algorithmus V . Für Eingabe x
der Länge n und Beweis B ∈ {0, 1}∗ hat V Zugriff auf x
und Zufallsbitstring z ∈ {0, 1}O(r(n)). Abhängig von x und z
wählt V Beweispositionen i1, . . . , ik mit k = O(q(n)) und erhält
Bi1 , . . . , Bik als weitere Information. Abhängig von x, z
und Bi1 , . . . , Bik entscheidet V , ob x akzeptiert oder verworfen
wird.
Sei V (x, z, B) = 1, falls Beweisverifizierer akzeptiert und
V (x, z, B) = 0 sonst.
372
Bemerkungen:
• Beachte, dass zur notationellen Vereinfachung
immer Expandierung r(n), q(n) → O(r(n)), O(q(n)).
Ausnahmsweise Konvention hier: O(0) = 0.
• Nur höchstens polynomielle r(n), q(n) interessant wegen
polynomieller Rechenzeit des Beweisverifizierers.
• Zugriff auf Beweis B durch Verifizierer:
random access“, d. h. Spezifikation eines Indexes reicht.
”
373
Definition 12.1.2: Ein Entscheidungsproblem L gehört zur
Klasse PCP(r(n), q(n)) (probabilistically checkable proofs),
wenn es einen (r(n), q(n))-beschränkten Beweisverifizierer V
gibt, sodass:
• Für alle x ∈ L gibt es einen Beweis B mit
Prz {V (x, z, B) = 1} = 1.
• Für alle x 6∈ L und alle Beweise B′ gilt
1
2
Prz {V (x, z, B′) = 1} ≤ .
Einseitiger, co-RP-artiger Fehler.
Bis auf einseitigen Fehler Spezialfall von IP(2)-Protokollen
(einseitiger Fehler für diese keine wesentliche Einschränkung,
ohne Beweis).
374
Probability-Amplification:
Konstante Anzahl von Kopien parallel ausführen →
Fehler kann unter beliebige Konstante gedrückt werden.
Bezeichnungen:
PCP(poly, q(n)) :=
PCP(r(n), poly) :=
[
PCP(nk , q(n)).
k Konstante
[
PCP(r(n), nk ).
k Konstante
Satz 12.1.3:
P
= PCP(0, 0);
NP
= PCP(0, poly);
co-RP = PCP(poly, 0).
(weder Zufalls- noch Beweisbits)
(keine Zufallsbits)
(keine Beweisbits)
375
Beweis:
P = PCP(0, 0):
• Keine Beweisbits lesbar: Kann Beweis ganz weglassen.
• Keine Zufallsbits: Nur Wahrscheinlichkeiten 0 oder 1.
Also müssen alle x 6∈ L verworfen werden.
NP = PCP(0, poly):
• Kann Beweis auf polynomielle Länge kürzen und gesamten
Beweis benutzen.
• Wieder nur Wahrscheinlichkeiten 0 oder 1,
immer verwerfen bei x 6∈ L.
co-RP = PCP(poly, 0):
Wieder Beweise ganz weglassen, sonst klar.
2
376
Satz 12.1.4: L ∈ PCP(r(n), q(n)) ⇒
Es gibt einen nichtdeterministischen Algorithmus, der L in
Zeit 2O(r(n)+log n) entscheidet.
Beweis:
Sei p(n) = poly(n) die Rechenzeit des gegebenen
Beweisverifizierers V .
Insgesamt werden dann vom Beweis höchstens
p(n) · 2O(r(n)) = 2O(r(n)+log n)
Bits gelesen, rate diese Bits nichtdeterministisch.
Simuliere für jeden Zufallsbitstring die Rechnung von V
und akzeptiere, falls alle Rechnungen akzeptierend.
Rechenzeit ist höchstens 2O(r(n)+log n).
2
377
Folgerung 12.1.5: NP = PCP(log n, poly).
Beweis:
Satz 12.1.3: NP = PCP(0, poly) ⊆ PCP(log n, poly);
Satz 12.1.4: NP ⊇ PCP(log n, poly).
2
378
12.2 Das PCP-Theorem
Satz 12.2.1 (PCP-Theorem):
NP = PCP(log n, 1).
(Also: Nur O(log n) Zufallsbits und konstant viele Beweisbits
werden benötigt.)
Feige, Goldwasser, Lovász, Safra, Szegedy (1991);
Arora, Lund, Motwani, Sudan, Szegedy (1992).
Hier kein vollständiger Beweis möglich, aber
wichtiges Teilergebnis mit ähnlicher Beweisstruktur
und einigen wesentlichen Techniken.
379
Verbesserte Versionen:
• 9 Beweisbits, Fehlerwahrscheinlichkeit 0,32.
• 3 Beweisbits, Fehlerwahrscheinlichkeit 0,76.
• 2 Beweisbits: Liefert P-Algorithmus.
Weitere Versionen, die auf Verbesserung von
Nichtapproximierbarkeitsergebnissen zugeschnitten sind.
Vollständiger Beweis:
Ausiello u. a. (1999); Mayr, Prömel und Steger (Hrsg.) (1998).
380
Hier:
3
Satz 12.2.2: NP ⊆ PCP(n , 1).
Ausreichend: 3-SAT ∈ PCP(n3, 1).
Konstruiere randomisierten Beweisverifizierer
für 3-SAT mit passenden Ressourcenschranken.
381
Eingabe für 3-SAT wie immer:
Formel ϕ = c1 ∧ · · · ∧ cm,
c1, . . . , cm Klauseln der Länge höchstens drei über
Variablen x1, . . . , xn.
Bisheriger Beweis für Ja-Eingabe:
Erfüllende Belegung a ∈ {0, 1}n.
Hier nicht geeignet.
Plan für neuen Beweis B(a):
Information über a in B(a) verschmieren“:
”
Jedes Bit von B(a) soll etwas Information
über jedes Bit von a enthalten.
Beweise sind hier lang: 2
Θ(n3)
Bits.
382
Plan (Forts.):
3-SAT-Formel erfüllbar:
Erfüllende Belegung a existiert und B(a) wird akzeptiert.
3-SAT-Formel nicht erfüllbar:
′
• Beweisversuch B = B(a) für nicht erfüllende Belegung a:
B(a) wird mit Wahrscheinlichkeit mindestens 1/2 verworfen.
• Was, wenn B′ nicht von der Form B(a′) mit a′ ∈ {0, 1}n?
– B′ sehr verschieden zu allen B(a′):
Leicht zu entdecken, können m. h. W. verworfen werden.
′
′
′
– B nah zu B(a ) für geeignetes a :
′
′
′
Korrigiere“ B zu B(a ) und arbeite mit B(a ) weiter.
”
Methode: Fehlerkorrigierende Kodes.
383
Beweis von Satz 12.2.2:
Zunächst: Konstruktion von Beweisen B(a)
n
für Belegungen a ∈ {0, 1} . Nenne diese
wohlgeformte Beweise.
Dann Verifikation von wohlgeformten Beweisen:
• Immer Akzeptanz für erfüllende Belegungen.
• Akzeptanz mit Wahrscheinlichkeit höchstens 1/2 für
nicht erfüllende Belegungen.
Behandlung von beliebigen Beweisen,
auch nicht wohlgeformten, später.
384
Arithmetisierung von 3-SAT-Formeln
Ersetze boolesche Arithmetik (Halbring ({0, 1}, ∨, ∧)) durch
Arithmetik über geeignetem Körper. Zunächst Körper R.
Ersetzungen:
xi
→ xi ;
xi
→ 1 − xi ;
a ∨ b → a · b;
a ∧ b → a + b.
Beispiel: (x1 ∨ x2 ∨ x3) ∧ (x1 ∨ x4 ∨ x5)
→ (1 − x1)(1 − x2)x3 + x1(1 − x4)x5
= x1 x2 x3 − x1 x4 x5 − x1 x3 − x2 x3 + x1 x5 + x3
Warum nicht ∨ → +, ∧ → • usw.?
Arithmetisierung wie oben: Ergebnis ist Polynom vom Grad 3.
385
Arithmetisierung von 3-SAT-Formeln (Forts.)
Erinnerung:
xi → xi , xi → 1 − xi , ∨ → • , ∧ → +.
Sei pi Arithmetisierung der Klausel ci , i = 1, . . . , m:
Klausel ci erfüllt
⇒ pi (a) = 0;
Klausel ci nicht erfüllt ⇒ pi (a) = 1.
p = p1 + · · · + pm Arithmetisierung der 3-SAT-Formel ϕ:
p(a) = Anzahl der durch a in ϕ nicht erfüllten Klauseln.
386
Arithmetisierung von 3-SAT-Formeln (Forts.)
Jetzt: Körper R ersetzen durch Körper Z2.
(
0, falls gerade Anzahl von Klauseln nicht erfüllt;
p(a) =
1, falls ungerade Anzahl von Klauseln nicht erfüllt.
a erfüllend:
p(a) = 0, immer noch okay.
a nicht erfüllend: p(a) = 0 möglich (hängt von p, a ab). : – (
Abhilfe: Klauseln zufällig ausblenden.
• Anzahl nicht erfüllter Klauseln = 0:
Gilt auch nach Ausblendung von Klauseln.
• Anzahl nicht erfüllter Klauseln ≥ 1:
Ausblendung von Klauseln soll mit Wskt. 1/2
ungerade Anzahl nicht erfüllter Klauseln übrig lassen.
387
Arithmetisierung von 3-SAT-Formeln (Ende)
m
Konkreter: r = (r1, . . . , rm) ∈ {0, 1} zufällig.
m
X
X
pi (a) mod 2.
pi (a) · ri mod 2 =
pr (a) :=
i =1
i : ri =1
Skalarprodukt von Vektoren der Länge m über Z2.
m
r
• a erfüllend: (p1(a), . . . , pm(a)) = 0 , p (a) = 0.
m
• a nicht erfüllend: (p1(a), . . . , pm(a)) 6= 0 .
Mit sehr wichtigem Lemma“
”
(Exkurs über universelles Hashing):
1
Prr {p (a) = 1} = .
2
r
Damit also randomisierte Verifizierung möglich.
Problem: Victoria benötigt weiterhin komplette Belegung a.
388
Ziel nun: Belegung a → Beweis B(a).
• Victoria kennt p (aus 3-SAT-Formel), Zufallsbits r.
• Zusätzlich drei Bits in B(a) lesen: pr (a) berechenbar.
Idee: Rollen von Argument und Koeffizienten
bei Polynomauswertung pr (a) vertauschen.
pr (a) ist Summe von Produkten von a-Bits (in Z2).
Berechne alle in Frage kommenden Summen von Produkten
von a-Bits vorab, wähle die richtigen abhängig von p aus.
Verzichte im Folgenden auf explizite Kennzeichnung, wenn
offensichtlich ist, dass in Z2 gerechnet wird.
389
Konstruktion des Beweises
a → B(a) = Wertetabellen von La1, La2 und La3.
La1 : Zn2 → Z2,
La1 (y1, . . . , yn)
Bitlänge des
Beweisteiles:
:=
2
La2 : Zn2 → Z2,
La2 (y1,1, . . . , yn,n)
X
a i yi .
2
n
1≤i ≤n
:=
n3
a
L3 : Z2 → Z2 ,
La3 (y1,1,1, . . . , yn,n,n)
X
ai aj yi ,j .
2
n2
1≤i ,j ≤n
:=
X
ai aj ak yi ,j,k .
2
n3
1≤i ,j,k≤n
Wichtige Eigenschaft: Dies sind alles lineare Funktionen.
390
Auswertung von pr (a) durch Victoria
r
Betrachte beliebiges Z2-Polynom q vom Grad 3 statt p .
Zunächst multipliziert Victoria q aus:
X
X
X
xi xj xk .
xi xj +
xi +
q(x) = cq +
(i ,j,k)∈Iq3
(i ,j )∈Iq2
i ∈Iq1
Nutze dabei aus, dass Rechnung in Z2.
Seien
1
cq
∈
n
Z2 ,
2
cq
∈
n2
Z2 ,
3
cq
∈
n3
Z2
1
2
3
charakteristische Vektoren der Mengen Iq , Iq , Iq .
2
2
2
Z. B. ist cq (i ,j ) = 1, falls (i , j ) ∈ Iq und cq (i ,j ) = 0, sonst.
391
Auswertung von pr (a) durch Victoria (Ende)
Victoria liest folgende Beweisbits:
Für i = 1, 2, 3 jeweils Wertetabelle von Lai an der Stelle ciq .
a 3
a 2
a 1
Liefert L1 (cq ), L2(cq ) und L3(cq ).
Außerdem hat sie cq ∈ Z2 (durch Ausmultiplizieren).
Behauptung: q(a) = cq + La1 (c1q ) + La2 (c2q ) + La3 (c3q ).
Beweis: Es werden durch charakteristische Vektoren genau
die Produkte von a-Bits ausgewählt, die auch in q(a)
aufsummiert werden.
X
X
a 2
2
ai aj cq i ,j =
ai aj ,
Z. B. L2(cq ) =
1≤i ,j ≤n
(i ,j )∈Iq2
Teilsumme in q(a) für Terme vom Grad 2.
Analog für Grad 1 und Grad 3.
2
392
Modul Beweisverifizierer für wohlgeformte Beweise:
1. Berechne pr (a) für zufälliges r ∈ {0, 1}m.
r
2. Akzeptiere, falls p (a) = 0.
Falls a erfüllend: Fehlerwahrscheinlichkeit 0.
Falls a nicht erfüllend: Fehlerwahrscheinlichkeit 1/2.
Später: Kleinere Konstanten benötigt,
kein Problem mit Probability-Amplification.
Ressourcen:
Keine trivialen Klauseln, keine Klauseln doppelt:
n
n
m ≤ 2n + 4 · 2 + 8 · 3 = O(n3).
3
Damit bisher O(n ) Zufallsbits und 3 = O(1) Beweisbits.
393
Jetzt:
Behandlung von beliebigen Beweisen, auch solchen,
die nicht von der Form B(a), a ∈ {0, 1}n, sind,
also nicht wohlgeformt.
Beweisverifizierer insgesamt:
Benutzt folgende Module:
• Linearitätstest;
• Robuster Funktionsauswerter;
• Konsistenztest;
• Beweisverifizierer für wohlgeformte Beweise. X
394
Linearitätstest:
Eingabe: Bitvektor der Länge 2m, m ∈ N.
Frage:
Ist dies die Funktionstabelle einer
linearen Funktion f : Zm
2 → Z2 ?
Problem: Funktionstabelle kann bis auf wenige Einträge
zu linearer Funktion passen.
Abgeschwächte Anforderung an Linearitätstest daher:
• Lineare Funktionen werden immer akzeptiert.
• Fast lineare“ Funktionen können auch akzeptiert werden.
”
• Alle anderen Funktionen werden nur mit durch Konstante
kleiner 1 beschränkter Fehlerwahrscheinlichkeit akzeptiert.
Danach müssen nur noch lineare oder fast lineare Funktionen
betrachtet werden.
395
Zeige später: Zu jeder fast linearen Funktion genau eine
lineare Funktion, die dieser ähnlich ist.
Plan: Korrigiere fast lineare in zugehörige lineare Funktion.
Nimm diese Korrektur bei jeder Funktionsauswertung vor.
Robuster Funktionsauswerter:
Eingabe: Funktionstabelle einer linearen Funktion f oder
einer fast linearen Funktion fe, zu der die lineare
Funktion f ähnlich ist; Eingabe a.
Ausgabe: Funktionswert f (a).
Ziel:
• Für lineare Funktionen immer korrekt.
• Für fast lineare Funktionen Fehlerwahrscheinlichkeit
beschränkt durch Konstante kleiner 1.
396
Erinnerung: Wohlgeformte Beweise bestehen aus
Funktionstabellen für La1 , La2 und La3 für Belegung a ∈ {0, 1}n.
Können bisher sicherstellen, dass lineare Funktionen f1, f2, f3
mit Eingabelängen n, n2 bzw. n3 vorliegen oder dazu ähnliche,
fast lineare Funktionen.
Konsistenztest:
Eingabe: Funktionstabellen von linearen Funktionen f1, f2, f3
2
3
mit Eingabelängen n, n bzw. n und Koeffizienten
a = (ai ), B = (bi ,j ) bzw. C = (ci ,j,k ), oder dazu
ähnlichen, fast linearen Funktionen.
Frage:
Gilt bi ,j = ai aj und ci ,j,k = ai aj ak für alle i , j, k?
Ziel: Falls (nach evtl. Korrektur) f1 = La1, f2 = La2 , f3 = La3 ,
a geeignet, immer Akzeptanz, ansonsten nur mit durch
Konstante kleiner 1 beschränkter Wahrscheinlichkeit.
397
Alles zusammenbauen:
n2
n
n3
• Beweise sind Bitstrings der Länge 2 + 2 + 2 , interpretiert
n
als Funktionstabellen der Länge 2 , 2
n2
n3
und 2 .
• Linearitätstest eliminiert Funktionstabellen für Funktionen,
die nicht einmal fast linear sind.
Fast lineare Funktionen werden mittels robuster Funktionsauswertung in folgenden Modulen durch zugehörige lineare
Funktion ersetzt.
• Konsistenztest sortiert alle Beweise aus, bei denen die
Funktionen nicht von der Form La1, La2 und La3 für ein a sind,
bzw. zumindest ähnliche, fast lineare Funktionen.
• Beweisverifizierer für wohlgeformte Beweise aufrufen.
398
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
x
≥
=
[g(x) 6= f (x)] · 2
|
−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 mit Wkt. ≥ 1 − δ/2:
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 läuft analog.
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 sehr wichtigem Lemma“):
”
Prx {x ⊤Dj 6= 0} = 1/2.
Damit:
Prx {x ⊤D 6= 0n} ≥ 1/2.
und (wieder mit altbekanntem 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.
(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(8/7).
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 .
Kodierung 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
Kodierung 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 kodieren Verhalten des
Beweisverifizierers auf 3-SAT-Instanz ϕ.
427
Kodierung 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 Maxterme 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
Satz 12.3.3: P 6= NP ⇒ MAX-CLIQUE ∈
/ APX.
Wir stellen zwei Beweise vor.
Beweis von Satz 12.3.3 – Erste Version:
Direkt über das PCP-Theorem.
Wieder rand. Beweisverifizierer für 3-SAT mit
N Zufallsbitstrings, der stets k Beweisbits liest,
c
c log n⌋
≤ n , c > 0 Konstante und k Konstante.
N ≤ 2⌊
Es gibt N · 2k Paare (z, a) aus Zufallsbitstring z
und Belegung a der k gelesenen Beweisbits.
Betrachte die Paare, bei denen Beweisverifizierer akzeptiert.
432
Konstruktion der CLIQUE-Instanz:
Konstruiere Graph G = (V, E ) mit
• V := Paare (z, a), bei denen Beweisverifizierer akzeptiert;
′
′
• Kantenmenge E : {(z, a), (z , a )} ∈ E :⇔
z 6= z ′ und die partiellen Beweise a und a′ widersprechen
′
′
sich nicht, d. h., wenn für z und z in a bzw. a die
Position i des Gesamtbeweises gelesen wird, ist in
′
a bzw. a das entsprechende Bit gleich belegt.
1. Fall: 3-SAT-Formel erfüllbar.
⇒ ∃ Beweis y : Beweisverifizierer akzeptiert für alle z;
⇒ G enthält N-Clique aller (z, a), bei denen a zu dem
Beweis y gehört.
433
2. Fall: 3-SAT-Formel nicht erfüllbar.
⇒ ∀ Beweise y : Beweisverifizierer akzeptiert
für höchstens 1/2-Anteil aller z.
Behauptung: Max. Clique in G hat höchstens N/2 Knoten.
Beweis der Behauptung:
Annahme: Clique der Größe N ′ > N/2 existiert,
Knoten (z1, a1), . . . , (zN ′ , aN ′ ).
Dann alle z1, . . . , zN ′ verschieden und die Beweisbits
in a1, . . . , aN ′ widersprechen sich nicht.
Vervollständige a1, . . . , aN ′ zu komplettem Beweis y.
Anteil aller z, für den Beweisverifizierer akzeptiert,
mindestens N ′/N > 1/2. Widerspruch!
(Beweis der Behauptung)
2
434
Bisher erreicht: (N/2, N)-Lücke, damit:
P 6= NP ⇒ MAX-CLIQUE ∈
/ APX(c) für c < 2.
Beobachtung:
Anzahl Beweisbits, Konstante k, geht nicht in die Lücke ein!
Probability-Amplification des Beweisverifizierers,
t = O(1) unabhängige (parallele) Kopien:
⇒
Fehlerwskt. ≤ 1/2
Nichtapprox. mit
Güte c < 2
→
→
Fehlerwskt. ≤ 1/2t
Nichtapprox. mit
Güte c < 2t
Also (da t beliebige Konstante):
P 6= NP ⇒ MAX-CLIQUE ∈
/ APX.
2
435
Jetzt: Zweiter Beweis nach altem Plan,
approximationserhaltende Reduktion vom
Basisproblem MAX-3-SAT. Altes Ergebnis (Satz 8.4.4):
MAX-3-SAT ≤PTAS MAX-CLIQUE.
Zusammen mit Satz 12.3.1 folgt sofort:
Es gibt Konstante ε > 0, sodass
P 6= NP ⇒ MAX-CLIQUE 6∈ APX(1 + ε).
Wollen aber MAX-CLIQUE 6∈ APX(c) für
alle Konstanten c ≥ 1.
Benutze Eigenschaft der Selbstverbesserung
von Approximationsalgorithmen für MAX-CLIQUE. . .
436
Lemma 12.3.4:
∃ Approximationsalgorithmus A für MAX-CLIQUE mit
poly. Rechenzeit t(n) und Approximationsgüte c ≥ 1 ⇒
∃ Approximationsalgorithmus A′ für MAX-CLIQUE mit
1/2
Rechenzeit p(t(n)), p Polynom, und Approximationsgüte c .
Beweis von Satz 12.3.3 – Zweite Version:
Annahme: Approx.-Algorithmus für MAX-CLIQUE mit poly.
Rechenzeit t(n) und konst. Approx.-Güte c ≥ 1 existiert.
Lemma 12.3.4 k-mal anwenden für Konstante k →
Rechenzeit p(·
| {z· · p}(t(n)), bleibt also polynomiell;
k-mal
k
(1/2)
Approximationsgüte sinkt auf c
(1/2)k
.
≤ 1 + ε und es folgt
Wenn k groß genug, ist c
MAX-CLIQUE ∈ APX(1 + ε), Widerspruch.
2
437
Beweis von Lemma 12.3.4:
G = (V, E ) → G 2 = (V 2, E 2) mit V 2 = V × V und
2
{(i , j ), (k, ℓ)} ∈ E :⇔
(i , j ) 6= (k, ℓ) und ({i , k} ∈ E oder i = k)
und ({j, ℓ} ∈ E oder j = ℓ).
Beh.: cl(G)2 = cl(G 2), cl(G) Größe der max. Clique in G.
Beweis der Behauptung:
≤“:
”
≥“:
”
{v1, . . . , vr } Clique in G ⇒
{(vi , vj ) | 1 ≤ i , j ≤ r} Clique in G 2.
Betrachte für Clique der Größe m = cl(G 2) in G 2
Knotenmenge und Projektion auf die erste bzw.
zweite Komponente. Eine der beiden enthält
mindestens ⌈m1/2⌉ Knoten, die eine Clique bilden.
438
Verbesserung von Approximationsalgorithmen:
Gegeben sei Approximationsalgorithmus A mit
poly. Rechenzeit und Approximationsgüte c.
Algorithmus A′: Eingabe: G = (V, E ).
1. Berechne G 2.
2
2. Wende A auf G an, Ergebnis Clique der Größe m.
3. Berechne daraus (s. o.) Clique der Größe ⌈m1/2⌉ für G.
Es ist cl(G 2)/m ≤ c. Es folgt:
1/2
2
1/2 Beh.
cl(G)/⌈m ⌉ ≤ (cl(G) /m)
= (cl(G 2)/m)1/2 ≤ c1/2,
also Approximationsgüte von A′ höchstens c1/2.
2
G poly. groß in G und in poly. Zeit daraus konstruierbar,
2
Clique für G → Clique für G ebenfalls in poly. Zeit:
⇒ Rechenzeit von A′ polynomiell in der von A.
2
439
Weitere Nichtapproximierbarkeitsergebnisse (ohne Beweise):
Generelle Voraussetzung P 6= NP.
Aktueller Stand siehe http://www.nada.kth.se/ ˜viggo/problemlist.
MAX-SAT:
1,2987-approximierbar und APX-vollständig.
MAX-k-SAT mit genau k verschiedenen Literalen pro Klausel
−k
−k
1/(1−2 )-approx. für k ≥ 3, aber nicht 1/(1−2 ) − ε -approx.
(nur in Kapitel 8.2 betrachtet, sonst folgende Variante)
MAX-3-SAT mit höchstens drei Literalen pro Klausel:
1,249-approx.
MAX-2-SAT: 1,0741-approx., aber nicht 1,0476-approx.
log log n
MIN-VC:
2−
-approx., aber nicht (7/6 − ε)-approx.
2 log n
(log log n)2 1/7−ε
MIN-GC:
O n·
-approx.,
aber
nicht
n
-approx.,
3
log n
1−ε
sogar nicht n
-approx., falls NP 6= ZPP.
440
MAX-CLIQUE: O(n/ log2 n)-approx., aber nicht n1/2−ε-approx.,
1−ε
sogar nicht n -approx., falls NP 6= ZPP.
MIN-TSP:
MIN-TSP
MIN-BP:
MIN-SC:
sym,∆
NPO-vollständig.
: 3/2-approximierbar und APX-vollständig.
3/2-approx., aber nicht (3/2 − ε)-approx.,
log2 opt 71
78
+ 71·opt -approx. und 1 + opt -approx.
60
(1 + ln n)-approx.,
aber ∃ Konstante c > 0: nicht (c · ln n)-approx.,
sogar nicht ((1 − ε) ln n)-approx.,
log log n falls NP 6⊆ DTIME O(n
) .
441
12.4 Das PCP-Theorem und APX-Vollständigkeit
Erinnerung:
Problem B APX-vollständig (bezüglich ≤PTAS“), falls
”
B ∈ APX und für alle A ∈ APX gilt A ≤PTAS B.
Kapitel 12.3:
P 6= NP ⇒ MAX-3-SAT 6∈ PTAS.
Ziel hier:
MAX-3-SAT ist APX-vollständig.
Damit: PTAS 6= APX ⇒ MAX-3-SAT 6∈ PTAS.
Außerdem MAX-3-SAT Basisproblem für weitere
APX-Vollständigkeitsergebnisse mit PTAS-Reduktionen.
442
Der Beweis teilt sich in zwei Hauptlemmata auf:
Lemma 12.4.1: MAX-3-SAT ist MAX-APX-vollständig.
Lemma 12.4.2:
Für jedes Minimierungsproblem A ∈ APX gibt es ein
Maximierungsproblem B ∈ APX mit A ≤PTAS B.
Daraus ergibt sich das gewünschte Ergebnis:
Satz 12.4.3: MAX-3-SAT ist APX-vollständig.
Vorbereitungen für Beweis des ersten Lemmas. . .
443
Aus Liste bekannter Ergebnisse: MAX-3-SAT ∈ APX(1,249).
Zeige der Vollständigkeit halber explizit:
Lemma A: MAX-3-SAT ∈ APX(2).
Beweis:
• Für jede Klausel ist Belegung (0, 0, . . . , 0) oder
(1, 1, . . . , 1) erfüllend.
• Eine der beiden Belegungen erfüllt
mindestens m/2 aller m Klauseln.
• Maximale Anzahl erfüllter Klauseln ist höchstens m.
Also Approximationsgüte höchstens m/(m/2) = 2.
2
444
Beliebiges APX-Problem A auf MAX-3-SAT PTAS-reduzieren:
Problem A:
x
Problem B = MAX-3-SAT:
f , poly. ber.
f (x)
PTAS für B
∗
g, poly. ber.
g(x, y, ε ) ∈ SA(x)
∗
∗
rA(x, g(x, y, ε )) ≤ 1 + ε
y ∈ SB (f (x))
∗
rB (f (x), y) ≤ 1 + α(ε )
445
Skizze für PTAS-Reduktion (1/4):
Wissen: A ∈ APX(r ∗) für irgendeine Konstante r ∗ ≥ 1.
Sei AL vorgegebener Approximationsalgorithmus für A mit
Worst-Case-Approximationsgüte r ∗.
Wollen Lösung mit Güte 1 + ε∗, ε∗ > 0.
Direkt mit AL, falls 1 + ε∗ ≥ r ∗. Also 1 + ε∗ < r ∗.
AL berechnet Lösung mit Wert a:
Dann optimale Lösung im Intervall [a, r ∗ · a].
Aufteilen in Teilintervalle mit geometrisch wachsenden Längen:
[a, b · a], [b · a, b2 · a], . . . , [bk−1 · a, bk · a = r ∗ · a],
wobei b = 1 + ε∗.
Optimaler Wert vopt sei in [bj · a, bj +1 · a], 0 ≤ j ≤ k − 1.
Lösung mit Wert a′ ∈ [bj · a, bj +1 · a] bekannt → fertig.
446
Skizze für PTAS-Reduktion (2/4):
Approximationsalgorithmus für A:
• Finde Index j ∈ {0, . . . , k − 1} maximal, sodass Teilintervall
j
j +1
[b · a, b · a] eine Lösung für Problem A enthält.
j
j +1
Dann vopt ∈ [b · a, b · a].
• Finde Lösung mit Wert in [bj · a, bj +1 · a].
Zu lösendes Teilproblem Ai , 0 ≤ i ≤ k − 1:
i
Teste, ob Lösung von A mit Wert mindestens b · a
existiert und liefere im positiven Fall eine zurück.
Dazu nichtdeterministischen Algorithmus ALi .
447
Skizze für PTAS-Reduktion (3/4):
Mit Ideen aus dem Beweis des Satzes von Cook:
Rechnung von ALi durch 3-SAT-Formel ϕi kodierbar,
sodass: erfüllende Belegung für ϕi → Lösung von ALi .
Beweis von Satz 12.3.1:
3-SAT-Formel ϕi → MAX-3-SAT-Formel ψi , sodass:
Falls Lösung für ψi mit Güte kleiner als 1 + ε berechenbar,
auch entscheidbar, ob ϕi erfüllbar oder nicht.
Im positiven Fall sogar erfüllende Belegung berechenbar.
Damit sogar deterministischer Algorithmus
für Problem Ai , 0 ≤ i ≤ k − 1.
448
Skizze für PTAS-Reduktion (4/4):
Für alles Folgende sei ε die Konstante aus Satz 12.3.1.
PTAS-Reduktion wird Instanz für A auf
Formel ψ = ψ0 ∧ · · · ∧ ψk−1
als MAX-3-SAT-Instanz abbilden.
Für PTAS-Reduktion: Gütetransformation α : Q+ → Q+.
Hypothetischer MAX-3-SAT-Approximationsalgorithmus
wird für ψ und Güteschranke 1 + α(ε∗) aufgerufen.
Stelle sicher, dass dies impliziert, dass für konstruierte
MAX-3-SAT-Teilformeln ψ0, . . . , ψk−1 jeweils
Lösung mit Güte kleiner als 1 + ε berechnet wird.
Wähle α(ε∗) := ε∗/β, β ∈ Q+ geeignet.
Definiere r := 1 + α(ε∗) (Güteschranke für MAX-3-SAT).
449
Lemma B: Definiere
∗
∗
∗
β := 2(r log r + r − 1) · (1 + ε)/ε;
b := 1 + ε∗ = 1 + α(ε∗) · β = 1 + β · (r − 1); und
k := ⌈logb r ∗ ⌉ .
1
∗
< 1 + ε.
Sei b < r . Dann gilt:
1 − 2k · (1 − 1/r)
Später Güteschranke für Teilprobleme ψi .
O. B. d. A. ε, r ∗, log r ∗ ∈ Q, damit auch β ∈ Q+.
• β monoton wachsend in r ∗:
Gesamtgüteschranke 1 + α(ε∗) = 1 + ε∗/β
verschärft sich mit schwächerer Approximierbarkeit von A.
• β monoton fallend in ε:
Gesamtgüteschranke entspannt sich mit
besserer schwieriger Lücke“ für MAX-3-SAT.
”
450
Lemma C:
Es gibt Konstante ε > 0 und fPCP, gPCP Polynomialzeitberechenbar: Für 3-SAT-Instanz ϕ ist ψ = fPCP(ϕ) MAX-3-SATInstanz. Angenommen, a erfüllt mehr als 1/(1 + ε)-Anteil der
Klauseln von ψ. Dann gPCP(ϕ, a) erfüllt ϕ ⇔ ϕ erfüllbar.
Beweisskizze: Benutze Beweis von Satz 12.3.1:
• fPCP(ϕ) = ψ polynomielle Reduktion 3-SAT → MAX-3-SAT;
• δ = 1/(k ∗ · 2k+1), ε = 1/(1 − δ) − 1:
Mehr als (1 − δ)-Anteil der Klauseln von ψ erfüllt: ψ und
auch ϕ erfüllbar, erfüllende Belegung für ψ kann effizient
konstruiert werden (folgt aus PCP-Theorem, ohne Beweis).
• ϕ erfüllbar → existiert erfüllende Belegung von ϕ, effizient
aus Beweis (erfüllende Belegung für ψ) extrahierbar. Für
Beweisverifizierer aus Beweis von Satz 12.2.2 klar, für den
aus PCP-Theorem hier ohne Beweis. Liefert gPCP.
2 451
Jetzt aber:
Beweis von Lemma 12.4.1:
PTAS Reduktion von A auf B = MAX-3-SAT.
Konstruiere Funktionen f , g, α mit:
∗
∗
∗
rB (f (x), y) ≤ 1 + α(ε ) ⇒ rA(x, g(x, y, ε )) ≤ 1 + ε
für Lösungen y ∈ SB (f (x)).
∗
∗
1. Fall: r ≤ 1 + ε .
• f (x) := x ′, x ′ feste Eingabe für B;
• g(x, y, ε∗) := s(x), s(x) Lösung, die AL auf x berechnet
(unabhängig von y);
• α(ε∗) := ε∗.
⇒ rA(x, g(x, y, ε∗)) = rA(x, s(x)) ≤ r ∗ ≤ 1 + ε∗.
452
2. Fall (restlicher Beweis): r ∗ > 1 + ε∗.
Erinnerung: Wir wählen
α(ε∗) = ε∗/β mit β = 2(r ∗ log r ∗ + r ∗ − 1) · (1 + ε)/ε,
wobei ε wie in Satz 12.3.1 bzw. Lemma C.
∗
Definiere r := 1 + α(ε ). Dann:
∗
∗
∗
1 + ε = 1 + β · α(ε ) = 1 + β · (r − 1) < r .
453
Bezeichnungen:
• s = s(x) ∈ SA(x): Lösung von Algo. AL für Eingabe x;
• vA(x, s): Wert dieser Lösung;
• vA,opt(x): Wert der optimalen Lösung für x.
Beobachtung:
∗
k
vA(x, s) ≤ vA,opt(x) ≤ r · vA(x, s) ≤ b · vA(x, s),
da k = ⌈logb r ∗ ⌉.
Definitionen:
• Ii := [bi · vA(x, s), bi +1 · vA(x, s)], 0 ≤ i ≤ k − 1.
• Problem Ai , 0 ≤ i ≤ k − 1: Entscheide, ob s′ mit
vA(x, s′) ≥ bi · vA(x, s) existiert und, wenn ja, gib s′ aus.
454
Konstruktion der Abbildung f (1/2):
Da A NPO-Problem:
Lösungen haben poly. Bitlänge; effizient zu entscheiden,
ob eine vorliegt; Wert im positiven Fall effizient zu berechnen.
NTM ALi für Ai :
• Rate s′ ∈ SA(x) nichtdeterministisch.
• Akzeptiere, falls vA(x, s′) ≥ bi · vA(x, s) ist.
′
Die Lösung s bleibt dann auf dem Arbeitsband stehen.
Beweis des Satzes von Cook:
NTM ALi → 3-SAT-Instanz ϕi .
Zusätzlich:
Aus erfüllender Belegung für ϕi effizient Lösung s′ ∈ SA(x)
berechenbar. (Kodiert in letzter Konfiguration der Maschine.)
455
Konstruktion der Abbildung f (2/2):
O. B. d. A.:
AL0, . . . , ALk−1 haben selbe (polynomielle) Rechenzeit ⇒
ϕ0, . . . , ϕk−1 haben selbe Klauselanzahl m.
Reduktion fPCP aus Lemma C:
ϕ0, . . . , ϕk−1 → MAX-3-SAT-Instanzen ψ0, . . . , ψk−1.
Definiere f (x) := ψ := ψ0 ∧ · · · ∧ ψk−1.
ψ MAX-3-SAT-Instanz, km Klauseln, vB,opt(ψ) ≤ km.
Sei a Belegung für ψ mit Approximationsgüte höchstens
r = 1 + α(ε∗). Dann vB,opt(ψ) ≤ r · vB (ψ, a) und
vB,opt(ψ) − vB (ψ, a) ≤ vB,opt(ψ) − vB,opt(ψ)/r
= (1 − 1/r) · vB,opt(ψ)
≤ (1 − 1/r) · km.
(∗)
456
Konstruktion der Abbildung g (1/3):
Belegung a für ψ → Teilbel. a0, . . . , ak−1 für ψ0, . . . , ψk−1
(Teilformeln auf disjunkten Variablenmengen).
Sei ri Approximationsgüte von ai für ψi .
Außerdem:
• Optimale Gesamtbelegung besteht aus optimalen
Belegungen für Teilformeln.
• Anzahl erfüllter Klauseln insgesamt ist Summe der
Anzahlen für Teilformeln.
Damit folgt für beliebige i ∈ {0, . . . , k − 1}:
P
vB,opt(ψ) − vB (ψ, a) = 0≤j ≤k−1(vB,opt(ψj ) − vB (ψj , aj ))
Def. ri
≥ vB,opt(ψi ) − vB (ψi , ai ) ≥ vB,opt(ψi ) −
= vB,opt(ψi ) · (1 − 1/ri ).
vB,opt(ψi )
ri
457
Konstruktion der Abbildung g (2/3):
Lemma A: vB,opt(ψi ) ≥ m/2, also
vB,opt(ψ) − vB (ψ, a) ≥ vB,opt(ψi ) · (1 − 1/ri )
m
· (1 − 1/ri ). (∗∗)
≥
2
Schranken (∗) und (∗∗) zusammen:
m
· (1 − 1/ri ) ≤ (1 − 1/r) · km ⇔
2
1 − 2k · (1 − 1/r) ≤ 1/ri ⇔ ri ≤
1
1 − 2k · (1 − 1/r)
.
Mit Lemma B folgt ri < 1 + ε.
458
Konstruktion der Abbildung g (3/3):
Approximationsgüte ri =
vB,opt(ψi )
< 1 + ε für ai
vB (ψi , ai )
bedeutet, dass mehr als 1/(1 + ε)-Anteil der ψi -Klauseln erfüllt.
Lemma C ⇒ Falls 3-SAT-Formel ϕi erfüllbar,
effizient erfüllende Belegung a′i von ϕi aus ai konstruierbar.
Daraus effizient Lösung si′ für Problem Ai .
Nach Konstruktion existiert j ∈ {0, . . . , k − 1}, sodass
ϕ0, . . . , ϕj erfüllbar, ϕj +1, . . . , ϕk−1 nicht erfüllbar.
Dann vA,opt(x) ∈ Ij = [bj · vA(x, s), bj +1 · vA(x, s)].
′
Außerdem Lösung sj ∈ Ij effizient aus Lösung für B,
dies liefert Abbildung g.
Vorüberlegungen ⇒ Lösung erfüllt Güteschranke für A.
2
459
Beweis von Lemma B:
Benutze: log z ≥ 1 − z
−1
für z ≥ 1 (∗).
1
⇔ z log z ≥ z − 1 ⇔ z ≥ · 2z ⇔
2
z
z
z
2
1
≥ .
2
(∗) log r ∗
log r ∗
log r
≤
+1 ≤
+1
k = ⌈logb r ⌉ =
log b
log b
1 − 1/b
∗
∗
∗
∗
b · log r ∗
β·ε
b − 1 b < r r log r + r − 1 Def. β 1
.
+
<
=
·
=
b−1
b−1
b−1
b − 1 2 · (1 + ε)
∗
∗
Also folgt:
b−1
ε
<
β
2k(1 + ε)
Auflösen von b = 1 + β(r − 1) nach r, letzte Ungleichung:
ε + 2k(1 + ε)
b−1
ε
+1 =
.
r =
+1 <
β
2k(1 + ε)
2k(1 + ε)
460
Hatten (letzte Folie):
ε + 2k(1 + ε)
r <
.
2k(1 + ε)
Damit folgt:
2k(1 + ε)
1 − 2k · (1 − 1/r) > 1 − 2k · 1 −
ε + 2k(1 + ε)
ε
ε
= 1−
= 1 − 2k ·
ε + 2k(1 + ε)
1 + ε + ε/(2k)
1 + ε/(2k)
=
1 + ε + ε/(2k)
.
Also:
1
1 − 2k · (1 − 1/r)
<
1 + ε + ε/(2k)
1 + ε/(2k)
= 1+
ε
1 + ε/(2k)
< 1 + ε.
2
461
Neue Richtung:
Beweis von Lemma 12.4.2:
PTAS
Ziel: beliebiges Problem A in MIN-APX −−−→
geeignet konstruiertes Problem B in MAX-APX.
1. Idee: vA(x, s) → vB (x, s) := −vA(x, s).
Problem: Lösungswerte müssen positiv sein.
2. Idee: b obere Schranke für vA,opt(x):
vB (x, s) := b − vA(x, s).
Problem: Falls b zu groß, alle neuen Lösungswerte ≈ b.
Damit: Schlechte Lösungen für A → gute Lösungen für B.
Abhilfe: Obere Schranke adaptiv wählen, b = b(x).
462
A ∈ MIN-APX: Es gibt Approximationsalgorithmus AL für A
∗
mit Worst-Case-Approximationsgüte r .
∗
O. B. d. A. (aufrunden): r ganzzahlig.
Sei s∗(x) die von AL für Eingabe x berechnete Lösung.
Maximierungsproblem B:
• Eingaben für B := Eingaben für A.
• Für alle x: SB (x) := SA(x) (Lösungsmengen gleich).
• Neue Zielfunktion: Für alle x und s ∈ SB (x):
vB (x, s) := max{ 1, (r ∗ + 1) · vA(x, s∗(x)) − r ∗ · vA(x, s) }.
A ∈ NPO: Lösungswerte ganzzahlig und positiv.
Damit auch vB (x, s) ganzzahlig und positiv.
Außerdem vB (x, s) in Polynomialzeit berechenbar.
Also zumindest B ∈ NPO.
463
B ∈ APX:
Benutze AL als Approximationsalgorithmus auch für B.
Beobachtungen:
∗
∗
(1) vB (x, s (x)) = vA(x, s (x)), denn:
vB (x, s∗(x)) = max{1, (r ∗ + 1) · vA(x, s∗(x)) − r ∗ · vA(x, s∗(x))}
∗
Lsgs.-Werte in N
= max{1, vA(x, s (x))}
=
vA(x, s∗(x)).
(2) vA(x, s∗(x)) = vB (x, s∗(x)) ≤ vB,opt(x) ≤ (r ∗ + 1) · vA(x, s∗(x)).
Damit folgt insbesondere:
∗
rB (x, s (x)) =
vB,opt(x)
vB (x, s∗(x))
≤ r ∗ + 1.
∗
⇒ AL Approximationsalgo. für B mit Güte ≤ r + 1.
464
A ≤PTAS B:
• Für alle x: f (x) := x.
• α(ε) := ε/β mit β := r ∗ + 1, ε > 0 beliebig.
Definiere wieder r := 1 + α(ε). Dann:
1 + ε = 1 + α(ε) · β = 1 + β · (r − 1).
Wollen g konstruieren, sodass für alle s ∈ SB (x):
rB (x, s) ≤ 1 + α(ε) = r ⇒
rA(x, g(x, s, ε)) ≤ 1 + ε = 1 + β(r − 1).
465
1. Fall: vB(x, s) = 1.
In diesem Fall wähle g(x, s, ε) := s∗(x).
Falls vA(x, s∗(x)) = 1:
Lösungswerte aus N ⇒ s∗(x) optimale Lösung
∗
und rA(x, g(x, s, ε)) = rA(x, s (x)) = 1 ≤ 1 + ε.
∗
∗
Also sei vA(x, s (x)) > 1, damit (wg. Ganzz.) vA(x, s (x)) ≥ 2.
vB,opt(x) Fall-Vor.
Beob. (2)
r ≥ rB (x, s) =
= vB,opt(x) ≥ vA(x, s∗(x)).
vB (x, s)
Es folgt:
∗
∗
rA(x, g(x, s, ε)) − 1 = rA(x, s (x)) − 1 ≤ r − 1
vA(x, s∗(x)) ≥ 2
∗
∗
≤ (r + 1) · (vA(x, s (x)) − 1) ≤ β · (r − 1)
Also: rA(x, g(x, s, ε)) ≤ 1 + β · (r − 1) = 1 + ε.
466
2. Fall: vB(x, s) > 1.
Wir wählen in diesem Fall g(x, s, ε) := s.
Vorüberlegung 1:
Wir setzen wie bisher voraus, dass
rB (x, s) =
vB (x, s) ≥
vB,opt(x)
vB (x, s)
vB,opt(x)
1 + α(ε)
≤ 1 + α(ε) (= r), also
≥ (1 − α(ε)) · vB,opt(x). (∗)
Gemäß Definition von vB (x, s) für diesen Fall folgt:
∗
∗
∗
vB (x, s) = (r + 1) · vA(x, s (x)) − r · vA(x, s) ⇒
(r ∗ + 1) · vA(x, s∗(x)) − vB (x, s)
. (∗∗)
vA(x, s) =
∗
r
467
Vorüberlegung 2:
Sei sA,opt(x) eine Lösung von A mit dem
minimalen Wert für Eingabe x, also vA,opt(x). Dann gilt:
vB,opt(x) ≥ vB (x, sA,opt(x))
Def. von vB
= (r ∗ + 1) · vA(x, s∗(x)) − r ∗ · vA(x, sA,opt(x))
∗
∗
∗
= (r + 1) · vA(x, s (x)) − r · vA,opt(x).
Damit folgt:
∗
∗
∗
(r + 1) · vA(x, s (x)) − vB,opt(x) ≤ r · vA,opt(x). (∗ ∗ ∗)
Jetzt Abschätzung von vA(x, s) durch vA,opt(x). . .
468
∗
∗
(r + 1) · vA(x, s (x)) − vB (x, s)
vA(x, s) =
(∗∗)
∗
r
vB (x, s) ≥ (1 − α(ε)) · vB,opt(x) (∗)
≤
≤
∗
∗
(r + 1) · vA(x, s (x)) − vB,opt(x) + α(ε) · vB,opt(x)
r∗
(r ∗ + 1) · vA(x, s∗ (x)) − vB,opt(x) ≤ r ∗ · vA,opt(x) (∗ ∗ ∗)
∗
r · vA,opt(x) + α(ε) · vB,opt(x)
= vA,opt(x) +
r∗
α(ε) · vB,opt(x)
r∗
vB,opt(x) ≤ (r ∗ +1) · vA(x, s∗ (x)), vA(x, s∗ (x)) ≤ r ∗ · vA,opt(x)
∗
≤ vA,opt(x) + α(ε) · (r + 1) · vA,opt(x)
α(ε) = ε/β = ε/(r ∗ + 1)
= (1 + ε) · vA,opt(x).
2
469
Fazit:
PCP-Theorie liefert die aktuell stärksten Werkzeuge,
um Ergebnisse über die Grenzen von Approximationsalgorithmen zu beweisen:
→ Nichtapproximierbarkeit mit konstanter oder
sogar mit Eingabegröße wachsender Güte;
→ Vollständigkeit für Klassen von Approximationsproblemen.
470
13. Platzkomplexität und andere klassische Themen
Übersicht:
• Platz versus Zeit;
• PSPACE-Vollständigkeit;
• Determinismus versus Nichtdeterminismus
für Platzkomplexität;
• Probleme, die mit logarithmischem Platz lösbar sind;
• Anzahlprobleme
471
13.1 Grundlagen
Für deterministische TM M:
• Speicherplatz für Eingabe x:
Anzahl bei Rechnung auf x besuchter Speicherzellen.
• (Worst-Case-)Speicherplatz von M:
Maximum des Speicherplatzes über alle Eingaben x.
Für nichtdeterministische / randomisierte TM M
auf naheliegende Weise erweitern:
• Speicherplatz für Eingabe x:
Maximum über alle Rechenwege bzw. Zufallsbitstrings.
• (Worst-Case-)Speicherplatz von M:
Maximum über alle Eingabe- und Zufallsbitstrings.
472
Deterministische Algorithmen benötigen für die meisten
Probleme Zugriff auf die komplette Eingabe:
→ linearer Speicherplatz alleine dafür.
Konvention bei sublinearen Platzschranken:
• Eingabe auf separatem Eingabeband:
Band, das nur lesbar ist, Anfang und Ende
der Eingabe markiert ( $ x1x2 . . . xn c “)
”
• Ausgabe auf separatem Ausgabeband:
Einwegband (Kopf bewegt sich nach Schreiben eines
Zeichens einen Schritt nach rechts), nur beschreibbar.
Dazu wie immer lesbares und beschreibbares Arbeitsband.
Nur der Speicher auf dem Arbeitsband wird gemessen.
Für Akzeptanz von Sprachen ohne Ausgabeband.
473
Motivation für sublineare Platzschranken:
• Parallel Computation Thesis:
Simulationen zwischen sequenziellen und
parallelen Rechnermodellen liefern:
Parallele Zeit entspricht sequenziellem Platz.“
”
Genauer: Polynomielle Verknüpfung der Maße.
Für konkrete Rechnermodelle bewiesen (später mehr).
• Probleme für große Datenmengen:
Z. B. Internet-Graph oder große Datenbank als Eingabe.
Dann linearer Speicherplatz nicht mehr okay.
474
Definition 13.1.1:
Für s : N → R enthält die Komplexitätsklasse DSPACE(s(n))
alle Entscheidungsprobleme, die von einer deterministischen
TM mit Worst-Case-Speicherplatz ⌈s(n)⌉ für Eingaben der
Länge n gelöst werden können. Analog NSPACE(s(n)) für
nichtdeterministische TMs.
Wichtige Spezialfälle:
PSPACE
NPSPACE
LOGSPACE := L
NLOGSPACE := NL
:=
:=
:=
:=
S
k
DSPACE(n
);
k∈N
S
k
NSPACE(n
);
k∈N
DSPACE(log n);
NSPACE(log n).
(Zur Notation: L als Abkürzung für LOGSPACE üblich,
wegen Namenskonflikt mit Sprachen manchmal L, L.)
475
Proposition 13.1.2 (Bandkompression):
Für jede Funktion s : N → R und jedes k ∈ N gilt:
DSPACE(s(n)) = DSPACE(s(n)/k) und
NSPACE(s(n)) = NSPACE(s(n)/k).
Konstante Faktoren bei Platzschranken also nicht wesentlich.
Beweisidee:
• Neues Arbeitsband mit k Spuren, jeweils k
aufeinanderfolgende Zellen des ursprünglichen
Bandes zusammenfassen.
• Aktive Spur (= alte Kopfposition innerhalb der neuen Zelle)
im Zustand merken.
2
476
Bezug zur Chomsky-Hierarchie (1/2)
Proposition 13.1.3: DSPACE(0) = REG (= CH3).
Beweisskizze:
⊇“: Trivial.
”
⊆“: Benutze dazu, dass Zweiwege-DFAs, d. h., DFAs,
”
die ihren Eingabekopf in beide Richtungen bewegen
dürfen, dieselbe Klasse von Sprachen erkennen wie
gewöhnliche DFAs mit Einweg-Eingabeband.
Details: Siehe z. B. Hopcroft und Ullman
oder Wegener, Theoretische Informatik“.
2
”
477
Bezug zur Chomsky-Hierarchie (2/2)
Satz 13.1.4: NSPACE(n) = CSL (= CH1).
CSL (context sensitive languages): Klasse der Sprachen, die
von kontextsensitiven Grammatiken erzeugt werden:
Produktionen u → v außer S → ε erfüllen |u| ≤ |v|.
Beweisskizze:
⊇“: Eingabe x. Stecke Bereich der Länge |x| auf Arbeits”
∗
band ab. Rate Ableitung S → w auf diesem Bereich,
d. h., Abbruch mit Verwerfen, falls erzeugtes Wort zu
lang. Akzeptiere am Ende genau dann, wenn w = x.
⊆“: Simuliere Rechnung einer linear platzbeschränkten
”
TM rückwärts“. Produktionen bilden lokale
”
Konfigurationsänderungen der TM rückwärts“ nach.
”
Details: Siehe wieder Hopcroft/Ullman oder Wegener.
2478
13.2 Platz versus Zeit
Proposition 13.2.1:
Jede t(n)-zeitbeschränkte, deterministische oder
nichtdeterministische TM benötigt höchstens
Speicherplatz t(n).
Beweis: In jedem Rechenschritt kann höchstens eine neue
Speicherzelle aufgesucht werden.
2
Folgerung: P ⊆ PSPACE, NP ⊆ NPSPACE.
(Haben in Exkurs I sogar schon gezeigt: PH ⊆ PSPACE.)
479
Was gilt in der umgekehrten Richtung?
Deterministische oder nichtdeterministische TM
mit folgender Einschränkung:
• TM für Sprachakzeptanz oder
• TM mit Ausgabe, für die jeder Rechenweg terminiert.
Zunächst:
Laut Definition des Akzeptanzmodus einer NTM kann diese auf
manchen Wegen beliebig lange rechnen.
Beobachtung 1:
Für platzbeschränkte TM obere Schranke für Gesamtanzahl
verschiedener Konfigurationen bei fester Eingabelänge.
480
TM M = (Q, Σ, Γ, δ, q0, F ),
Platzschranke s(n), Eingabelänge n:
Konfiguration beschrieben durch Element aus
Q
×
Γ
s(n)
× {1, . . . , n} × {1, . . . , s(n)}
aktueller
Inhalt des Kopfposition für
Zustand Arbeitsbandes Eingabeband
Kopfposition für
Arbeitsband
Anzahl: |Q| · |Γ|s(n) · n · s(n) ≤ 2c(s(n)+log n), c > 0 Konstante.
Beachte: Über evtl. vorhandendes Ausgabeband wird in der
Konfiguration nichts abgespeichert.
Beobachtung 2:
Falls Rechenweg mehr Schritte hat als Gesamtanzahl
Konfigurationen: Konfiguration kommt mehrfach vor.
481
Länge von terminierenden Rechenwegen kann durch
Gesamtanzahl Konfigurationen beschränkt werden,
c(s(n)+log n)
also höchstens 2
.
Modifikation der TM:
Zähle ausgeführte Rechenschritte mit, brich mit
Verwerfen / Dummy-Ausgabe ab, sobald Zähler
größer als 2c(s(n)+log n).
Bereich der Länge c(s(n) + log n) für Zähler muss abgesteckt
werden können. Hinreichend: s(n) platzkonstruierbar,
n
s(n)
d. h. 1 7→ 1
in Platz O(s(n)) berechenbar.
O(s(n)+log n)
Dann reichen Zeit 2
und Platz O(s(n) + log n)
insgesamt für modifizierte TM.
482
Satz 13.2.2:
Sei s(n) platzkonstruierbar. Dann können deterministische,
s(n)-platzbeschränkte TMs, die Sprachen akzeptieren bzw.
eine Ausgabe berechnen und immer anhalten, durch
deterministische TMs simuliert werden, die mit
Zeit 2O(s(n)+log n) und Platz O(s(n) + log n) auskommen.
Analog für nichtdeterministische TMs.
Anwendungen:
• L ⊆ P.
• PSPACE ⊆ EXP.
EXP := DTIME 2
poly(n) , d. h., Entscheidungsprobleme, die
von deterministischen TMs mit Rechenzeit 2poly(n) lösbar sind.
483
Ergebnis aus Satz 13.2.2 für Platzschranken s(n) ≥ log n:
Platz ≤ s(n) → Zeit = 2O(s(n)),
also höchstens exponentieller Blowup zwischen
Platz und Zeit.
Für Platzschranken s(n) = o(log n) Sonderbehandlung und
neue Techniken erforderlich, da nicht einmal Platz für
Speichern von Kopfpositionen auf dem Eingabeband.
Umgekehrt kann es dann sinnvoll sein, die Kopfposition auf
dem Eingabeband zum Speichern von Informationen zu
benutzen.
484
Satz 13.2.3:
Sei s(n) platzkonstruierbar. Dann können
nichtdeterministische, s(n)-platzbeschränkte TMs
für Sprachakzeptanz durch deterministische TMs simuliert
werden, die mit Zeit und Platz 2O(s(n)+log n) auskommen.
Beweis:
Sei M eine vorgegebene NTM mit Platzschranke s(n).
Gerichteter Konfigurationsgraph GM von M:
• Knoten: Konfigurationen von M;
• Kanten: Kante (K, K ′) existiert :⇔
′
K ist eine (direkte) Nachfolgekonfiguration von K .
Teste mit DFS in GM , ob akzeptierende Konfiguration
von Startkonfiguration aus erreichbar.
Zeit und Platz linear in Knotenanzahl 2O(s(n)+log n).
2
485
Folgerung: NL ⊆ P, NPSPACE ⊆ EXP.
Bereits in Kapitel 10 bewiesen:
Satz 13.2.4:
Für alle k gilt Σk ⊆ PSPACE und Πk ⊆ PSPACE,
also auch PH ⊆ PSPACE.
Gesamtbild:
L ⊆ NL ⊆ P ⊆ NP ⊆ PH ⊆ PSPACE ⊆ EXP ⊆ NEXP.
poly(n) , d. h., Entscheidungsprobleme,
Dabei NEXP := NTIME 2
die von nichtdeterministischen TMs mit Rechenzeit 2poly(n)
lösbar sind.
(Wissen aus Hierarchiesätzen: P $ EXP, L $ PSPACE.
Es gibt noch viel zu tun!)
486
13.3 PSPACE-vollständige Probleme
PSPACE-Vollständigkeit wird bezüglich ≤p definiert.
Interpretation von PSPACE-Vollständigkeit:
Sei L PSPACE-vollständiges Problem.
Dann ist L echt schwerer als jedes Problem in PH,
wenn nicht die polynomielle Hierarchie zusammenbricht.
• Wegen PH ⊆ PSPACE:
L mindestens so schwer“ wie jedes Problem in PH.
”
• L ∈ Σk ⇒ Σk = PH = PSPACE.
Damit vermutlich L ∈
/ PH.
Nicht: Viel Platz zur Lösung von L erforderlich.
487
Erinnerung:
Erfüllbarkeitsproblem mit k alternierenden Quantoren,
k
SATCIR, ist Σk -vollständig (Satz 10.4.7, Folie 218).
Naheliegende Verallgemeinerung:
Definition 13.3.1: QBF (quantified boolean formula)
Eingabe: Formel
F = (Q1x1) . . . (Qnxn) : P (x1, . . . , xn),
wobei Q1, . . . , Qn ∈ {∃, ∀} und P (x1, . . . , xn)
Prädikat über 0, 1, x1, . . . , xn mit
booleschen Operatoren AND, OR, NOT.
Frage: Ist F wahr?
Beachte: Hier beliebige Anzahl alternierender Quantoren.
Satz 13.3.2: QBF ist PSPACE-vollständig.
488
Beweis: 1. Teil, QBF ∈ PSPACE:
QBFEval(F = (Q1x1) . . . (Qnxn) : P (x1, . . . , xn)):
if n = 0 then return Auswertung von Formel über Konstanten
else
r0 := QBFEval(F ′ = (Q2x2) . . . (Qnxn) : P (0, x2, . . . , xn));
′′
r1 := QBFEval(F = (Q2x2) . . . (Qnxn) : P (1, x2, . . . , xn));
if Q1 = ∃ then return r0 ∨ r1
else return r0 ∧ r1 fi
fi.
Für Formel F der Länge N:
• Auswertung von booleschem Prädikat der Länge ≤ N:
Platz O(N).
• Pro Rekursionsaufruf O(1) Platz, für alle n · O(1) = O(N).
Damit insgesamt Platz O(N).
489
2. Teil: L ∈ PSPACE, zeige L ≤p QBF.
• TM M für L mit poly. Platz, damit (Satz 13.2.2) ex. Polynom p,
sodass Zeit und # Konfigurationen von M für Eingabelänge n
höchstens 2p(n).
• Idee: Rechnung von M wie beim Beweis des
Satzes von Cook durch Formel kodieren.
Eingabe für Reduktion sei x, |x| = n.
490
Vorbereitungen (Details im Beweis des Satzes von Cook):
• Konfiguration K von M durch Variablenvektor der Länge p(n)
kodieren.
• Hilfsprädikat L(K ) poly. Länge: K legale Konfiguration?
• Notation ∃K , ∀K : Quantifizierung über Variablenvektor, der
Konfiguration K beschreibt, jeweils Test L(K ) an Prädikat P
anhängen.
I. F. der Einfachheit halber alle L(K ) weggelassen.
Weitere Hilfsprädikate poly. Länge:
S(K, x): K Startkonfiguration von M zur Eingabe x?
A(K ):
K akzeptierende Endkonfiguration?
′
′
T0(K, K ): Konfiguration K von K in ≤ 1 Schritt erreichbar?
Zusätzlich (Realisierung später):
′
′
j
Tj (K, K ): Konfiguration K von K in ≤ 2 Schritten erreichbar?
491
Reduktion, High-Level-Version:
Q(x) = (∃K0) (∃Ka) : S(K0, x) ∧ Tp(n)(K0, Ka) ∧ A(Ka).
Realisierung von Tj mit j ≥ 1, erste Version:
Tj (K1, K2) = (∃K3) : Tj −1(K1, K3) ∧ Tj −1(K3, K2).
Formel exponentieller Länge. : – (
Ziel: Wollen mit einem Aufruf“ von Tj −1 auskommen.
”
492
Reduktion, High-Level-Version:
Q(x) = (∃K0) (∃Ka) : S(K0, x) ∧ Tp(n)(K0, Ka) ∧ A(Ka).
Realisierung von Tj mit j ≥ 1, erste Version:
Tj (K1, K2) = (∃K3) : Tj −1(K1, K3) ∧ Tj −1(K3, K2).
Formel exponentieller Länge. : – (
Ziel: Wollen mit einem Aufruf“ von Tj −1 auskommen.
”
492
Reduktion, High-Level-Version:
Q(x) = (∃K0) (∃Ka) : S(K0, x) ∧ Tp(n)(K0, Ka) ∧ A(Ka).
Realisierung von Tj mit j ≥ 1, erste Version:
Tj (K1, K2) = (∃K3) : Tj −1(K1, K3) ∧ Tj −1(K3, K2).
Formel exponentieller Länge. : – (
Ziel: Wollen mit einem Aufruf“ von Tj −1 auskommen.
”
492
Hatten:
Tj (K1, K2) = (∃K3) : Tj −1(K1, K3) ∧ Tj −1(K3, K2).
Hinter dem Existenzquantor gilt:
• Konfigurationspaare (K1, K3), (K3, K2) erfüllen Tj −1.
• Alle andere Paare sollen Hilfsprädikat H erfüllen.
Damit für alle Paare entweder Tj −1 oder H erfüllt.
Realisierung von Tj mit j ≥ 1, endgültige Version:
= (∃K3) (∀K4) (∀K5) : Tj −1(K4, K5) ∨ H(K1, . . . , K5);
H(K1, . . . , K5) = ¬ (K4, K5) = (K1, K3) ∨ (K4, K5) = (K3, K2) .
Tj (K1, K2)
Damit Q(x) in poly. Länge, auch Konstruktion aus x
in poly. Zeit leicht.
2
493
Zweites Beispiel für PSPACE-vollständiges Problem:
Definition 13.3.3: WCSL
Eingabe: kontextsensitive Grammatik G, Wort w ∈ Σ∗
Frage: Wird w von G erzeugt?
(Wortproblem für kontextsensitive Grammatiken)
Satz 13.3.4: WCSL ist PSPACE-vollständig.
Beweis:
1. Teil, WCSL ∈ PSPACE:
Wissen: WCSL ∈ NSPACE(n) (Satz 13.1.4).
Zeigen später (Satz von Savitch): NSPACE(n) ⊆ DSPACE(n2).
Also WCSL ∈ PSPACE.
494
2. Teil: WCSL ist PSPACE-schwierig
Technik: Padding (Verlängerung von Wörtern)
• Sei L ∈ PSPACE beliebig, p(n) zugehörige Platzschranke.
• Definiere Sonderzeichen Z ∈
/ Σ(L).
• LONG(L) := {xZ p(|x|)−|x| | x ∈ L} (Wortlänge n → p(n)).
• O. B. d. A. p(n) platzkonstruierbar.
p(|x|)−|x|
• Dann xZ
∈ LONG(L) auf Platz p(|x|) entscheidbar,
d. h. LONG(L) ∈ DSPACE(n).
495
Reduktion L ≤p WCSL
• M TM für L, daraus M ∗ TM für LONG(L), daraus kontextsensitive Grammatik G(L) für LONG(L) mit Satz 13.1.4.
• x 7→ w = xZ
p(|x|)−|x|
.
• Insgesamt (G(L), w) als Eingabe für WCSL.
• Korrektheit klar.
Noch zu zeigen: polynomielle Zeit für Reduktion
• Beschreibung von M ∗ hängt nur von M und p ab,
also konstante Zeit bezüglich |x|.
• Padding x 7→ w geht in Zeit O(p(|x|)).
2
496
Weitere PSPACE-vollständige Probleme
Brettspiele wie verallgemeinertes Schach, Dame, Go:
Gegeben eine Spielsituation: Hat Weiß Gewinnstrategie?
∃ Zug von Weiß ∀ Züge von Schwarz ∃ . . . : Weiß gewinnt.
Beachte Ähnlichkeit mit QBF.
497
13.4 Beziehungen zwischen Determinismus,
Nichtdeterminismus und co-Nichtdeterminismus
für Platzkomplexität
Analog zur P 6= NP“-Frage für Zeitkomplexität,
”
Gilt z. B. L 6= NL?
Bisher auch offen. Aber anders als bei Zeitkomplexität
kein exponentieller Gap möglich:
Satz 13.4.1 (Savitch 1970):
s(n) ≥ log n platzkonstruierbar ⇒
2
NSPACE(s(n)) ⊆ DSPACE(s(n) ).
498
Beweisskizze:
O. B. d. A. eindeutige akzeptierende Endkonfiguration.
(Räume Band am Ende der Rechnung auf.)
Aufgabe dann: Teste, ob Weg von Startkonfiguration zu
akzeptierender Endkonfiguration im Konfigurationsgraphen.
Satz 13.2.2: Weg der Länge 2
c·s(n)
, c > 0 Konstante, reicht.
Idee (siehe QBF): Für Konfigurationen K, K ′:
∃ Weg K
K ′ der Länge ≤ 2j ⇔
∃ Konf. K ′′, Wege K K ′′ und K ′′ K ′ jeweils der Länge ≤ 2j −1.
′′
Alle K aufzählen, jeweils Platz O(s(n)).
Rekursiver Algorithmus, betrachte Rekursionsbaum:
Tiefe höchstens c · s(n), pro Knoten Platz O(s(n)).
Speichere nur Knoten entlang eines Pfades.
Damit Platz O(s(n)2) insgesamt.
2
499
Bezug zur Theorie der formalen Sprachen:
Hatten (Satz 13.1.4): NSPACE(n) = CSL.
NLBA (nondeterministic linear (space-)bounded automaton):
Nichtdeterministische, linear platzbeschränkte TM.
Analog LBA für deterministische Variante.
LBA-Problem:
Erkennen LBAs dieselbe Sprachklasse wie NLBAs, d. h.,
gilt DSPACE(n) = NSPACE(n)?
Offen seit den 1960er Jahren. Vermutung: nein.
500
Nichtdeterminismus versus Co-Nichtdeterminismus?
Spezialfall: Sind kontextsensitive Sprachen unter
Komplementbildung abgeschlossen, d. h. gilt
NSPACE(n) = co-NSPACE(n)?
Satz 13.4.2 (Immerman und Szelepcsényi 1988):
s(n) ≥ log n platzkonstruierbar ⇒
NSPACE(s(n)) = co-NSPACE(s(n)).
Folgerung: NL = co-NL.
501
Beweis von Satz 13.4.2 (1/5):
• Genügt NSPACE(s(n)) ⊆ co-NSPACE(s(n)) zu zeigen.
• Sei L ∈ NSPACE(s(n)) und M zugehörige NTM.
• Platzkonstruierbarkeit von s(n) ≥ log n und Satz 13.2.3.:
c·s(n)
M stoppt nach höchstens 2
Schritten für Konst. c ∈ N.
• Wichtig im Folgenden: Konfigurationen zählen:
• dazu Bandabschnitte der Länge O(s(n)) als Konfigurationsspeicher reservieren (benutze Platzkonstruierbarkeit),
cs(n)
• Zähler mit Wertebereich {0, . . . , 2
} → Platz O(s(n)),
• jeweils nur O(1) Stück.
502
Beweis von Satz 13.4.2 (2/5):
Zu zeigen: L ∈ co-NSPACE(s(n)).
Akzeptanzmodus zugehöriger NTM M:
• Für x ∈
/ L muss M einen akzeptierenden Rechenweg haben.
• Für x ∈ L muss M verwerfen.
Also: x ∈
/ L nichtdeterministisch auf Platz O(s(n)) erkennen.
Beweis durch Zählen verwerfender Konfigurationen von M.
Idee:
• K0(x) Startkonfiguration
• R(x) := Zahl der in Zeit ≤ 2cs(n) von K0(x) mit M erreichbarer
Konfigurationen; berechne R(x) nichtdeterministisch.
• Alle erreichbaren, verwerfenden Konfigurationen von M
nichtdet. aufzählen; akzeptiere, wenn R(x) Stück.
Nichtdeterministische Aufzählung nun im Detail.
503
Beweis von Satz 13.4.2 (3/5):
Modul: zähle erreichbare, verwerfende Konfigurationen von M
Setze z := 0.
Für i = 0, . . . , 2cs(n)
Sei K die i-te Konfiguration in lexikographischer Reihenfolge.
Setze K ′ := K ′′ := K0(x). Setze t := 0.
Solange K ′′ 6= K
Rate Nachfolgekonfiguration K ′′ von K ′.
(Stoppe und verwirf, wenn falsch geraten.)
Setze K ′ := K ′′.
Setze t := t + 1.
Stoppe und verwirf, wenn t > 2cs(n).
Ende Solange.
(K ist nun in Zeit ≤ 2cs(n) von K0(x) erreichbar.)
Wenn K nicht akzeptierend, setze z := z + 1.
Ende Für.
Gib z aus.
Erinnerung: M akzeptiert nur bei z = R(x).
Noch offen: Berechnung von R(x).
504
Beweis von Satz 13.4.2 (4/5):
Berechnung von R(x): induktives Zählen
Verwalte Rt (x) := Zahl der in höchstens t Schritten
bei Eingabe x erreichbaren Konfigurationen, 0 ≤ t ≤ 2cs(n)
Klar: R0(x) := 1. Nun Berechnung von Rt+1(x) aus Rt (x):
Setze z := 0
Für i = 0, . . . , 2cs(n)
Sei K die i-te Konfiguration in lexikographischer Reihenfolge.
Zähle alle in ≤ t Schritten erreichbaren Konfigurationen K ′ auf (wie oben).
Rate Nachfolgekonf. K ′′ von K ′. Stoppe und verwirf, wenn falsch geraten.
Erhöhe z, wenn K ′′ = K .
Ende Aufzählung.
′
Stoppe und verwirf, wenn nicht Rt (x) verschiedene Konf. K gefunden.
Ende Für.
Setze Rt+1(x) := z.
Noch zu erledigen: Analyse
505
Beweis von Satz 13.4.2 (5/5):
Analyse des induktiven Zählens:
• ∃ Rechenweg, auf dem Rt+1(x) korrekt aus Rt (x) berechnet.
• Da beim Aufzählen von K und K ′ alle Möglichkeiten getestet,
verwirft Algo. bei Rechenwegen mit falschem Ergebnis.
Insgesamt:
• Nichtdeterministischer Algo. für L,
• Platzbedarf O(s(n)) wie eingangs überlegt.
2
506
13.5 Probleme, die mit logarithmischem
Platz lösbar sind
Methode für neue Erkenntnisse über L 6= NL“-Frage:
”
Charakterisiere schwierigste“ Probleme in NL.
”
Geeigneter Reduktionsbegriff?
A ≤ B soll bedeuten, dass platzbeschränkte Algorithmen
für B auch platzbeschränkte Algorithmen für A liefern.
507
Definition 13.5.1:
∗
Für Entscheidungsprobleme A, B mit Eingaben aus Σ gilt
A ≤log B, A auf B logarithmisch (platz-)reduzierbar, falls es
eine Abbildung f : Σ∗ → Σ∗ gibt, die mit einer logarithmisch
platzbeschränkten, deterministischen TM berechnet werden
kann und sodass für alle x ∈ Σ∗ gilt:
x ∈ A ⇔ f (x) ∈ B.
Wichtigste Eigenschaften leicht nachzuprüfen:
• ≤log“ transitiv;
”
• A ≤log B und B ∈ L ⇒ A ∈ L.
508
Definition 13.5.2:
Für Komplexitätsklasse C heißt Entscheidungsproblem A
C-vollständig bez. logarithmischer Reduktionen
(C-vollständig bez. ≤log“), falls
”
(1) A ∈ C.
(2) Für alle B ∈ C gilt B ≤log A.
Ebenfalls einfach:
C ⊇ L, A C-vollständig bez. ≤log“ und A ∈ L ⇒ C = L.
”
509
Labyrinthprobleme
s
Allgemeine Version:
DSTCON (directed graph s-t-connectivity):
Eingabe: Gerichteter Grah G = (V, E ),
Knoten s, t ∈ V .
Frage:
Existiert Weg von s nach t in G?
t
Eingabekodierung?
Adjazenzlisten mit logarithmischen
Platz pro Knoten
Klassische Lösung: Tiefensuche
Zeit: Linear in Eingabelänge; Platz: O(|V | log |V |). : – (
510
Algorithmen mit logarithmischem Platz?
Nichtdeterministischer Algorithmus:
– Speichere nur aktuellen Knoten v, zu Anfang s.
– Ersetze v durch nichtdeterministisch gewählten
Nachfolger im Graphen.
– Akzeptiere, sobald t erreicht.
Mit Schrittzähler: Abbruch und verwerfen, sobald
n − 1 Schritte durchgeführt und t nicht erreicht,
n Knotenanzahl.
Platz: O(log n); Zeit: poly(n).
Insbesondere DSTCON ∈ NL.
511
Satz 13.5.3: DSTCON ist NL-vollständig bez. ≤log“.
”
Damit auch NL-Probleme durch DSTCON charakterisiert.
Beweis: DSTCON ∈ NL: Bereits erledigt.
Für A ∈ NL gilt A ≤log DSTCON:
NTM M mit Platz O(log n) für Problem A gegeben.
K0(x) Startkonfiguration für Eingabe x;
Ka wieder o. B. d. A. einzige akz. Endkonfiguration.
Für Eingabe x: Konfigurationsgraph GM (x) von M.
Reduktion: x 7→ (GM (x), s = K0(x), t = Ka).
Einfach zu sehen, dass dies auf Platz O(log n) berechenbar.
(Zähle Konfigurationen lexikographisch auf und berechne
jeweils Adj.-Liste mit Hilfe der Zustandsübergangsfkt. von M.)
2
512
Verbesserte Algorithmen für DSTCON?
(NL = Komplexitätsklasse möglichst nahe“ an L?)
”
Deterministischer Algo. mit möglichst wenig Platz?
Bestes bekanntes Ergebnis liefert der Satz von Savitch:
DSTCON ∈ DSPACE(log2 n).
513
13.6 Die Komplexität von Anzahlproblemen
Bisher bekannte Problemvarianten:
• Entscheidungsproblem
• Wertproblem
• Optimierungsproblem
Nun: Anzahlproblem
Beispiel: Schaltkreisverifikation (vgl. Satz 10.3.3, Folie 195f.)
Gegeben: Spezifikation S, Umsetzung S ′
Konstruiere: XOR-Schaltkreis S ′′ := S ⊕ S ′
Anzahl erfüllender Belegungen für S ′′ = Anzahl Fehler“ in S ′
”
Def. 13.6.1: Problem #SAT:
Eingabe: Schaltkreis, gesucht: Anzahl erfüllender Belegungen
514
Def. 13.6.2 Problem #PM:
Eingabe: Bipartiter Graph G = ((U, V ), E ) mit |U| = |V | = n.
Gesucht: Anzahl perfekter Matchings (Größe n).
Bekannt: Optimierungsvariante (finde Matching maximaler
Kardinalität) in Polynomialzeit lösbar.
Aber kein effizienter Algorithmus für Anzahlproblem bekannt . . .
Reaktion: Komplexitätsklasse:
Def. 13.6.3: Die Komplexitätsklasse #P enthält alle Anzahlprobleme #A, für die es eine polynomiell zeitbeschränkte NTM
gibt, die für jede Eingabe x so viele akzeptierende Rechenwege
hat, wie es Lösungen für x gibt.
515
Einordnung unserer Anzahlprobleme:
Satz 13.6.4: #SAT ∈ #P und #PM ∈ #P.
Beweis:
#SAT ∈ #P: Kanonische NTM aus Beweis von SATCIR ∈ NP:
Für alle geratenen Belegungen Rechenwege verschieden.
#PM ∈ #P: Benutze n × n-Matrix M mit Mu,v = 1 ⇔ {u, v} ∈ E .
Betrachte Permanente
X
M1,π(1) · M2,π(2) · · · · · Mn,π(n).
perm(M) :=
π∈Sn
Beobachtung: perm(M) = Anzahl perfekter Matchings in M.
Geeignete NTM:
Rate π und akzeptiere ⇔ M1,π(1) · M2,π(2) · · · · · Mn,π(n) = 1
2
516
Vollständige Probleme:
Wieder Turingreduktionen statt polynomieller Reduktionen:
Def. 13.6.5 Ein Anzahlproblem #A ist #P-vollständig,
wenn #A ∈ #P und für alle #B ∈ #P gilt: #B ≤T #A.
Satz 13.6.6: #SAT und #PM sind #P-vollständig.
Beweis: (nur für #SAT):
Im Satz von Cook bijektive Abbildung zwischen akzeptierender
Rechnung und erfüllender Belegung der SAT-Formel.
2
Bemerkung: Berechnung der Permanente #P-vollständig,
P
aber für Determinante det(M) := π∈Sn sgn(π)·M1,π(1) ·· · ··Mn,π(n)
in P (Gauß-Algo.). In Z2 Determinante = Permanente. Also ist
Parität der Anzahl perfekter Matchings effizient zu bestimmen.
517
14. Nichtuniforme Berechnungsmodelle
• Uniforme Berechnungsmodelle:
RAMs, TMs, Programmiersprachen.
Ein Algorithmus für alle Eingabelängen.
• Nichtuniforme Berechnungsmodelle:
Typischer Vertreter: Schaltkreise.
Für jede Eingabelänge eigener Algorithmus spezifizierbar.
518
14.1 Boolesche Schaltkreise
Definition: Boolescher (kombinatorischer) Schaltkreis
Syntax:
x1
x2
x3
• Gerichteter, azyklischer Graph.
• Eingänge: Knoten mit Eingangsgrad 0,
mit Variablen x1, . . . , xn oder
AND
EXOR
G1
G2
Konstanten 0 oder 1 markiert.
AND
EXOR • Bausteine (Gatter): Knoten mit
G3
Eingangsgrad 2, markiert mit binärer
G4
boolescher Operation und Namen.
OR
I. A. (nicht symmetrische Operation)
G5
auch eingehende Kanten nummeriert.
Semantik: SK berechnet f = (f1, . . . , fm) : {0, 1}n → {0, 1}m,
wenn f1, . . . , fm auf die bekannte Weise an jeweils passenden
Bausteinen berechnet werden.
519
Def.: Komplexitätsmaße für boolesche Schaltkreise
• Schaltkreisgröße:
Anzahl Bausteine im Schaltkreis.
• Schaltkreistiefe:
Maximale Tiefe eines Bausteines im Schaltkreis.
Analog zu Entscheidungsproblemen im Folgenden
nur boolesche Funktionen vom Typ {0, 1}n → {0, 1}.
Definition: f : {0, 1}n → {0, 1} gegeben.
• Schaltkreisgröße von f , C(f ):
minimale Größe eines Schaltkreises für f .
• Schaltkreistiefe von f , D(f ):
minimale Tiefe eines Schaltkreises für f .
520
Allgemeines Szenario:
• Folge von booleschen Funktionen:
fn : {0, 1}n → {0, 1} für jedes n ∈ N,
Folge notieren als f := (fn)n∈N, abgekürzt f = (fn).
• Folge S = (Sn)n∈N = (Sn) von Schaltkreisen:
Für jedes n ∈ N berechnet Sn die Funktion fn.
Also anders als bei bisherigen, uniformen Modellen:
Endliche Beschreibung der Problemlösung (als Schaltkreis)
nur bei Fixierung der Eingabelänge.
521
Kodierung von Entscheidungsproblemen klar:
• Entscheidungsproblem L ⊆ {0, 1}∗ →
Folge f L = (fnL) mit fnL : {0, 1}n → {0, 1} für n ∈ N:
∗
Für x ∈ {0, 1} mit |x| = n:
L
fn (x) = 1 :⇔ x ∈ L.
n
• Folge f = (fn) mit fn : {0, 1} → {0, 1} →
∗
Entscheidungsproblem Lf ⊆ {0, 1} :
[
fn−1(1).
Lf :=
n∈N
Damit auch jeder Schaltkreisfolge von ihr gelöstes
Entscheidungsproblem zugeordnet.
522
Allgemeine obere Schranken für Größe und Tiefe:
Für beliebige Funktion f : {0, 1}n → {0, 1}:
Darstellung durch DNF und triviale Abschätzungen liefern
Schaltkreis mit
n
• Größe höchstens 2 · n;
• Tiefe höchstens n + ⌈log n⌉.
Beobachtung: Alle Entscheidungsprobleme haben
Schaltkreise mit exponentieller Größe und linearer Tiefe.
Obere Schranken gelten auch für nicht rekursive Probleme,
∗
H
H
z. B. f = (fn ), H ⊆ {0, 1} Halteproblem für TMs.
523
Schaltkreisfolge für das Halteproblem nicht berechenbar.
Einschränkung des Schaltkreismodells:
Definition: Eine Schaltkreisfolge S = (Sn) heißt uniform,
falls es eine (log s(n))-platzbeschränkte, deterministische TM
gibt, die für Eingabe n den Schaltkreis Sn berechnet.
(Wähle dazu irgendeine eine vernünftige“ Kodierung
”
eines Schaltkreises als Liste der Beschreibungen seiner
einzelnen Bausteine.)
Insbesondere dann auch für Konstruktion von polynomiell
großen Schaltkreisen polynomielle Rechenzeit.
(Benutze Satz 13.2.2.)
524
Schaltkreise versus Turingmaschinen – Übersicht:
• Simulationen TMs → uniforme Schaltkreise (14.2):
– Zeit t(n) → Größe poly(t(n))
– Platz s(n) → Tiefe O(s(n)2).
• Simulationen Schaltkreise → nichtuniforme TMs (14.3):
– Größe s(n) → Zeit poly(s(n))
– Tiefe d (n) → Platz O(d (n))
Analog für uniforme Schaltkreise und gewöhnliche TMs.
Insbesondere Bestätigung der Parallel Computation Thesis“
”
für Schaltkreise und TMs: TM-Platz und SK-Tiefe
polynomiell verknüpft.
525
14.2 Simulationen von TMs durch Schaltkreise
TM-Zeit → SK-Größe:
Satz 14.2.1: Eine t(n)-zeitbeschränkte TM kann durch
uniforme Schaltkreise der Größe O(t(n) log t(n))
(und damit auch Tiefe O(t(n) log t(n))) simuliert werden.
Wesentliche Zutat für den Beweis:
Simuliere stereotype TM (→ GTI / Buch, Kap. 5):
Kopfposition hängt nur von Eingabelänge und Nummer des
durchgeführten Rechenschrittes ab, nicht von Inhalt
der Eingabe.
Bekannt: Simulation t(n)-zeitbeschränkte beliebige TM →
O(t(n) log t(n))-zeitbeschränkte stereotype TM.
526
Beweisskizze zu Satz 14.2.1:
Simulation t(n)-zeitbeschränkte stereotype TM →
uniformer Schaltkreis der Größe O(t(n)):
−t(n)
B B
q0 ∈ Q
1
z
−1 0 1
B x1 x2
xn B
(s−t(n), . . . , st(n)) ∈ Γ2t(n)+1
}|
t(n)
B
{
2
3
t(n)−1
feste Kopfbewegung
t(n)
testet ggf., ob Endzustand akzeptierend
2527
TM-Platz → SK-Tiefe:
Betrachte Platzschranken s(n) ≥ log n.
Satz 14.2.2: Eine s(n)-platzbeschränkte TM kann durch
2
uniforme Schaltkreise der Tiefe O(s(n) ) simuliert werden.
Beweisskizze: Analog zum Beweis des Satzes von Savitch.
Rekursiv Weg der Länge 2O(s(n)) im Konfigurationsgraphen
finden:
Rekursionsanfang“:
”′
K Nachfolgekonfiguration von K :
hängt maximal von einem Bit der Eingabe ab.
Also in Tiefe 1 realisierbar.
528
Rekursionsschritt“:
_
”
′ i
Weg(K, K ′′, 2i −1) ∧ Weg(K ′′, K ′, 2i −1).
Weg(K, K , 2 ) =
Konf. K ′′
Tiefe O(s(n)) für ODER in obigem Ausdruck (ohne Rekursion),
gesamter Rekursionsbaum hat Tiefe O(s(n)) ⇒
2
Tiefe O(s(n) ) insgesamt.
2
529
14.3 Simulationen von Schaltkreisen durch
nichtuniforme Turingmaschinen
Erinnerung: Simulation von beliebigen Schaltkreisen
durch TMs nicht möglich.
Abhilfe: Passende Erweiterung des TM-Modells:
Def.: Nichtuniforme Turingmaschine
Eine nichtuniforme Turingmaschine hat ein zusätzliches
Nur-Lese-Band, genannt Hilfsinformationsband (advice tape).
Bevor die Maschine auf einer Eingabe x zu arbeiten beginnt,
wird dieses Band mit der Hilfsinformation h(|x|) ∈ Σ∗ geladen,
wobei Σ zugehöriges Bandalphabet und h : N → Σ∗ beliebig.
530
Kosten für Hilfsinformation?
Nur Platz, Laden auf das Hilfsinformationsband umsonst“.
”
Ziel: Speicherplatz ≈ log(Anzahl Konfigurationen).
Beobachtung: Anzahl der Konfigurationen von
nichtuniformer TM für Eingabelänge n, Speicherplatz s(n)
O(log n+log |h(n)|+s(n))
und Hilfsinformation h(n) ist 2
.
Bei uniformer TM: 2O(log n+s(n)) Konfigurationen,
daher im nichtuniformen Fall log |h(n)| zum Platz hinzu:
Definition: Speicherplatz für nichtuniforme TM
Bei Eingabelänge n, Speicherplatz s(n) auf dem
Arbeitsband und Hilfsinformation h(n):
s∗(n) = ⌈log |h(n)|⌉ + s(n).
531
SK-Größe → TM-Zeit:
Satz 14.3.1: Schaltkreisfolge S = (Sn) sei gegeben,
Größe von Sn sei s(n) für n ∈ N. Dann gibt es eine
nichtuniforme TM, die das zu S gehörige Entscheidungsproblem in Zeit O(poly(s(n))) löst.
Beweisskizze:
• Hilfsinformation für Eingabe der Länge n:
Kodierung des Schaltkreises Sn, Länge O(poly(s(n))).
• DFS-Durchlauf durch den Schaltkreisgraphen:
Berechne Wert für jeden Baustein und speichere diesen.
Greife bei Mehrfachbenutzung eines Bausteinausganges
auf bereits berechnete Werte zurück.
2
532
SK-Tiefe → TM-Platz:
Satz 14.3.2: Schaltkreisfolge S = (Sn) sei gegeben,
Tiefe von Sn sei d (n) ≥ log n für n ∈ N. Dann gibt es eine
nichtuniforme TM, die das zu S gehörige Entscheidungsproblem mit Platz O(d (n)) löst.
Beweisskizze:
• Hilfsinformation für Eingabe der Länge n:
Kodierung der Formel, die sich durch Expandieren
von Sn ergibt (d. h. Ausgangsgrad 1, Graph ist Baum).
Größe der Formel O(2d (n)), Tiefe immer noch d (n).
• Postorder-Durchlauf durch den Formelbaum.
Speichere nur noch nicht verarbeitete
Bausteinergebnisse, maximal d (n) viele.
2
533
Zusatz zu Satz 14.3.1 und Satz 14.3.2:
Falls jeweils die Schaltkreisfolgen uniform sind,
dann in den Aussagen nichtuniforme TMs durch
gewöhnliche TMs ersetzbar.
Beweisidee:
Benutze Konstruktions-TM für Schaltkreisfolge,
um zeit- bzw. platzeffizient die jeweils benötigte
Hilfsinformation zu generieren. 2
Simulation TM-Platz → SK-Tiefe hat quadratischen Blowup,
hätten gerne Simulationen mit konstanten Faktoren.
Passendes nichtuniformes Modell: Branchingprogramme.
534
14.4 Branchingprogramme
Branchingprogramm: OBDD ohne Variablenreihenfolge“.
”
Def.: Branchingprogramm (BP) (auch: Binary Decision Diagram (BDD)):
Start
x1
x2
x4
x3
x2
x3
x1
x5
0
1
Syntax:
• Gerichteter, azyklischer Graph.
• Markierter Startknoten.
• Innere Knoten mit Var. x1, . . . , xn
markiert. Je zwei ausgehende
Kanten, mit 0“ bzw. 1“ markiert
”
”
(oder − − −“ bzw. ——“).
”
”
• Senken mit 0“ oder 1“ markiert.
”
”
n
Semantik: Berechnet Funktion {0, 1} → {0, 1}. Für
Var.-Bel. a ∈ {0, 1}n folge eindeutigem Rechenweg vom
Startknoten zu Senke, liefert Funktionswert für a.
535
Def.: Komplexitätsmaße für Branchingprogramme
• Branchingprogrammgröße:
Anzahl Knoten im Graphen.
• Branchingprogrammlänge:
Maximale Länge eines Weges vom
Startknoten zu einer Senke.
Definition: f : {0, 1}n → {0, 1} gegeben.
• Branchingprogrammgröße von f , BP(f ):
minimale Größe eines BPs für f .
• Branchingprogrammlänge von f :
minimale Länge eines BPs für f .
536
Allgemeine obere Schranken für Größe und Länge:
Bemerkung: Jede boolesche Funktion {0, 1}n → {0, 1} hat
Branchingprogramm der Größe 2n + 1 und Länge n.
Beweis: OBDD mit Variablenreihenfolge x1, . . . , xn,
dessen innere Knoten vollständigen Baum bilden, geeignet. 2
537
Ziel jetzt: Beziehungen zwischen BPs und TMs.
Betrachte BPs mit mindestens linearer Größe und
TMs mit mindestens logarithmischem Platz.
BP-Größe → TM-Platz:
Satz 14.4.1 Branchingprogramm für f = (fn) gegeben,
Größe s(n) ≥ n für fn, n ∈ N. Dann kann zugehöriges
Entscheidungsproblem Lf durch nichtuniforme TM
mit Platz O(log s(n)) gelöst werden.
538
Beweis:
Hilfsinformation: Kodierung von BP der Größe s(n) für fn.
s(n) Blöcke mit Knoteninfo. Erster Block: Startknoten.
Codierung der Knoteninfo:
2
⌈log n⌉
⌈log s(n)⌉
Typ Var.-Index 0-Nachfolger
⌈log s(n)⌉
1-Nachfolger
00: 0-Senke; 01: 1-Senke; 10: innerer Knoten
Arbeitsband: Knoteninfo für aktuellen Knoten bei Durchlauf,
zusätzlich Zähler für Kopfpos. auf Eingabe- und Hilfsinfoband.
Algorithmus: Verfolgt Rechenweg auf
nahe liegende Weise.
Platz: O(log
s(n)} + log
| {z
| · log(s(n)
| {zn} + 2
{z log s(n))} ) = O(log s(n)).
Arbeitsband
Kopfpos.
Eingabe
Kopfpos. Hilfsinfoband und
Speicherbeitrag Hilfsinfoband
2539
TM-Platz → BP-Größe:
Satz 14.4.2: Nichtuniforme TM für Entscheidungsproblem L
mit Speicherplatz s(n) ≥ log n sei gegeben.
O(s(n))
L
Für n ∈ N dann fn von BP Gn mit Größe 2
berechenbar.
O(log n+s(n))
O(s(n))
Beweis: 2
=2
TM-Konfigurationen,
zu jeder Konfiguration Knoten im BP:
• Endkonfigurationen → 0- bzw. 1-Senken des BPs.
• Sonstige Konfiguration → innerer BP-Knoten:
– Markiert mit gelesener Variablen xi auf Eingabeband;
– 0- bzw. 1-Nachfolger: Nachfolgekonfigurationen
für xi = 0 bzw. xi = 1.
• Startkonfiguration → Startknoten des BPs.
O. B. d. A. keine Endlosschleifen, daher azyklischer Graph.
2
540
Fazit also:
Platz für nichtuniforme TM = Θ(log(BP-Größe))
(Für mindestens logarithmischen Platz bzw.
mindestens lineare BP-Größe.)
Analoge Aussagen für uniforme TMs und
uniforme Variante von BPs.
Wichtiges offenes Problem der Komplexitätstheorie:
Superpolynomielle untere Schranken für BP-Größe
von Entscheidungsproblemen in P (oder zumindest NP):
Separierung von L und P (bzw. NP).
541
14.5 Polynomielle Schaltkreise und die Klasse BPP
Naive Derandomisierung von randomisiertem Algorithmus:
r
Für r Zufallsbits Durchprobieren aller 2 Belegungen.
Zeigt, dass BPP ⊆ EXP.
Auch Derandomisierung durch Schaltkreise einfach:
Satz 14.5.1:
Jeder BPP-Algorithmus kann durch Folge von Schaltkreisen
polynomieller Größe simuliert werden.
542
Beweis:
Betrachte BPP-Algorithmus A. Folgende Eigenschaften für
Eingabelänge n vorab sicherstellen:
• Algorithmus benutzt maximal r(n) = poly(n) Zufallsbits,
die als zusätzliche Eingabe zu Anfang auf dem Band erwartet
werden (analog zu Rate-Verifikations-NTM).
• Fehlerwskt. kleiner als 2−n.
Satz 14.2.1 liefert Folge von äquivalenten randomisierten
Schaltkreisen polynomieller Größe mit n normalen“
”
Eingabebits und r(n) Zufallseingabebits.
543
Im Folgenden feste Eingabelänge n und r = r(n).
Betrachte Fehlermatrix F mit normalen“ Eingaben x ∈ {0, 1}n
”
als Zeilen und Zufallsbitstrings y ∈ {0, 1}r als Spalten:
Eintrag F (x, y) = 1, falls Algorithmus A für Eingabe x und
Zufallsbits y falsch rechnet, F (x, y) = 0 sonst.
−n
r
In jeder Zeile weniger als 2 · 2 Einsen, insgesamt
r
weniger als 2 Einsen. Also existiert Spalte y0 ohne Einsen.
Wähle y0 als feste Belegung der Zufallsbits, dann
deterministischer Schaltkreis, der immer korrekt rechnet.
2
544
Bemerkung:
Simulierender randomisierter SK für Eingabelänge n im
vorherigen Beweis kann in Zeit poly(n) berechnet werden.
Warum ist es trotzdem schwierig, allgemein BPP-Algorithmen
zu derandomisieren?
Nur Existenz einer passenden Belegung y0 der Zufallsbits
gezeigt! Nicht klar, wie die effizient berechnet werden kann.
Gilt selbst dann, wenn mit Probability-Amplification Fehlerwskt.
auf 2−2n gesenkt und damit (1−2−n)-Anteil solcher Belegungen.
545
Erinnerung an Ziel der Komplexitätstheorie:
Untere Schranken für Komplexität von Problemen.
Wichtiger Zweig der Theorie (seit 1980er Jahren):
Untere Schranken für nichtuniforme Modelle.
• Trivialerweise auch dieselben Schranken für
entsprechende uniforme Modellvarianten.
• Vorteil: Nach Fixieren der Eingabelänge nur
endlich viele mögliche Algorithmen.
Wichtiges Werkzeug: Kommunikationskomplexität.
Starke untere Schranken allerdings bisher nur
für eingeschränkte Modellvarianten. Ziel:
Immer allgemeinere Modelle behandeln.
546
15. Kommunikationskomplexität
15.1 Das Kommunikationsspiel
Spieler Alice und Bob kooperieren, um Funktion zu
berechnen. Eingabe zwischen Spielern aufgeteilt.
Funktion sei f : A × B → C,
A, B und C endliche Mengen, meistens
A = {0, 1}m, B = {0, 1}n, C = {0, 1}.
Alice erhält a ∈ A, Bob b ∈ B.
Spieler senden sich abwechselnd Botschaften,
abhängig von ihrer Eingabe und bisherigen Botschaften.
Letzter Spieler sendet Funktionswert als Botschaft.
Ziel: Minimiere Gesamtanzahl gesendeter Bits im Worst Case.
Manchmal: Beschränkte Anzahl Kommunikationsrunden.
547
Formal: Spieler legen vorab Kommunikationsprotokoll fest,
unabhängig von Eingabe (a, b).
Def.: Kommunikationsprotokoll
• Binärer Baum.
• Innerer Knoten v: Markiert mit A“ oder B“
”
”
und gv : A → {0, 1} bzw. gv : B → {0, 1}.
Ausgehende Kanten mit 0“ bzw. 1“ markiert.
”
”
• Blatt: Markiert mit Wert aus C.
Start bei Wurzel, Spieler sind gemäß Knotenmarkierung
an der Reihe. An Knoten v liefert Funktion gv vom Spieler
gesendetes Bit, entsprechend weiter mit Nachfolgeknoten.
Ausgabe des Protokolls ist Markierung des erreichten Blattes.
Korrektes Protokoll: Ausgabe ist Funktionswert.
548
Definition: Komplexitätsmaße
Protokoll P gegeben:
• Länge von P für Eingabe (a, b), ℓP (a, b):
Länge des Weges für (a, b) im Protokollbaum.
• Länge von P , ℓP :
Maximum von ℓP (a, b) über alle Eingaben (a, b)
(= Tiefe des Protokollbaumes).
• Kommunikationskomplexität von f , C(f ):
Minimum von ℓP über alle Protokolle P , die f berechnen.
549
Definition: Rundenanzahl
Rundenanzahl von Protokoll P :
Maximale Anzahl Wechsel zwischen Spielern auf einem
Weg im Protokollbaum.
1-Runden-Protokoll bzw. Einwegprotokoll:
Alice sendet Botschaft an Bob, dieser sendet Ausgabe.
Bemerkung:
Kommunikationsprotokolle sind nichtuniformes Modell.
Für jede Eingabelänge darf eigenes Protokoll
entworfen werden.
550
Beispiel:
f (a0, a1, a2, a3, s0, b0, b1, b2, b3, s1) = 1 :⇔ a|s| = b|s| für
|
{z
} |
{z
}
Alice
Bob
|s| = |(s1, s0)| = s0+2s1.
Protokoll in Worten:
• Alice sendet s0.
• Bob sendet s1.
• Bob berechnet |s| und sendet b|s|.
• Alice berechnet |s| und sendet [a|s| = b|s|] als Ausgabe.
Protokolllänge: 4.
Protokollbeschreibung in Worten gut verständlich.
551
Beispiel (Fortsetzung) – Protokollbaum:
A, s0
0
1
B, s1
B, s1
1
0
B, b0
1
0
B, b1
B, b2
B, b3
0
1
0
1
0
1
0
1
A, a0
A, a0
A, a2
A, a2
A, a1
A, a1
A, a3
A, a3
0
10
10
10
1
0
10
10
10
1
1
0 0
1 1
0 0
1
1
0 0
1 1
0 0
1
Unübersichtlich, aber gut für strukturelle Überlegungen.
552
Beispiel (Ende) – Andere Aufteilung der Eingabe:
Alice: a0, a1, b0, b1, s0; Bob: a2, a3, b2, b3, s1.
Neues Protokoll:
• Alice sendet s0.
• Bob sendet s1.
• Alice und Bob berechnen |s|.
• Falls |s| ≤ 1, kann Alice f (a, b) berechnen und senden.
Falls |s| ≥ 2, kann Bob f (a, b) berechnen und senden.
Protokolllänge: 3.
Wie beweist man, dass dies optimal ist? → Später.
553
Triviales 1-Runden-Protokoll:
f : A × B → C zu berechnen mit
m
n
k
A = {0, 1} , B = {0, 1} , C = {0, 1} .
Protokoll P : Alice sendet a ∈ A an Bob,
Bob berechnet f (a, b) und sendet Ergebnis als Ausgabe.
Oder mit vertauschten Rollen von Alice und Bob.
Komplexität: cP = min{m, n} + k.
Also Kommunikationskomplexität höchstens
linear in der Eingabelänge, trivial erreichbar.
554
Konzentration auf Kommunikation zwischen Spielern.
Komplexität der Berechnung der Botschaften vernachlässigt.
Daher:
kleine Kommunikationskomplexität 6⇒ effiziente
Problemlösung.
Aber:
große Kommunikationskomplexität ⇒ keine effiziente
Problemlösung möglich!
Werkzeug für Nachweis von unteren Schranken.
555
Das Kommunikationsspiel ist Kern vieler Probleme:
• Kommunikation in Netzwerken / Multiprozessorsystemen.
• Zeit-Platz-Tradeoffs für VLSI-Schaltkreise.
• Untere Schranken für 1-Band-TMs.
• Untere Schranken für tiefenbeschränkte Schaltkreise.
• Untere Schranken für eingeschränkte BPs.
• Zeit-Platz-Tradeoffs für Datenstrukturen.
• ...
556
Ein komplexeres Beispiel: Medianberechnung
MEDn : {0, 1}n × {0, 1}n → {1, . . . , n}:
• Eingaben a, b ∈ {0, 1}n als Teilmengen A, B von {1, . . . , n}
interpretieren. (Element i in Menge A ⇔ ai = 1.)
• MED(a, b) = Median der Multimenge A ∪ B.
(Definition Median: s Elemente aufsteigend sortieren, dann
ist Median Element mit Index s/2 in dieser Folge.)
Behauptung: C(MEDn) = Θ(log n).
Untere Schranke: Hier einfach.
Protokollbaum muss für jedes i ∈ {1, . . . , n}
Blatt mit Markierung i enthalten.
Binäre Bäume mit ≥ n Blättern haben Tiefe ≥ log n.
557
Einfache obere Schranke: O(log2 n).
Preprocessing:
Alice sendet |A|, O(log n)
Bits.
Bob kennt dann Index (|A| + |B|)/2 des Medians M.
Protokoll:
Binäre Suche auf {1, . . . , n}, O(log n) Runden.
Realisiere Test M ≤ m“ mit O(log n) Bits. Dann fertig.
”
• Alice berechnet und sendet #{x ∈ A | x ≤ m}.
• Bob berechnet #{x ∈ A ∪ B | x ≤ m} (A ∪ B als Multimenge)
und vergleicht dies mit (|A| + |B|)/2 :
M ≤ m ⇔ #{x ∈ A ∪ B | x ≤ m} ≥ (|A| + |B|)/2 .
Damit weiß Bob, ob M ≤ m ist, und er sendet dies an Alice.
558
Verbesserte obere Schranke: O(log n).
Preprocessing:
1. O. B. d. A. n Zweierpotenz.
Ansonsten füllen Alice und Bob Vektoren mit Nullen auf.
2. • Alice sendet |A|. O(log n) Bits.
• Bob sendet |B|. O(log n) Bits.
3. Sei k kleinste Zweierpotenz mit k ≥ max{|A|, |B|}.
Beide füllen ihre Mengen zu Multimengen so auf, dass
• |A| = |B| = k;
• Median unverändert.
Wie? |A| + |B| gerade: Gleich viele neue Elemente 1 wie n.
|A| + |B| ungerade: Noch ein Element n zusätzlich.
(Hierfür keine Kommunikation notwendig.)
559
Alice und Bob verwalten Mengen A und B mit |A| = |B| = k, Zahl
k und Kandidatenmenge I für den Median.
Zu Anfang I = {1, . . . , n}, während des Protokolls immer
Intervall aus {1, . . . , n} und |I| Zweierpotenz.
Ziel: 2 Kommunikationsbits genügen, damit sich Alice
und Bob über eine neue Situation (neue Mengen
A und B, aber Median unverändert) einigen“,
”
wobei entweder k halbiert oder I durch vordere oder
hintere Hälfte ersetzt werden.
→ 2 · (log n + log k) = O(log n) Bits genügen, sodass:
• |I| = 1 (Median bekannt) oder
• k = 1 (Median durch triviales Protokoll,
Alice sendet ihre Menge A mit O(log n) Bits).
560
Protokoll:
r
Die Menge I ist ein Intervall der Länge 2 , r ∈ N geeignet.
r−1
Sei z das 2 -te Element in diesem Intervall. Dann zerfällt I
in vordere und hintere Hälfte mit Elementen ≤ z bzw. > z.
′
• Alice berechnet a := Median(A), den Median von A, und
sendet a∗ := [a′ > z].
• Bob berechnet b′ := Median(B) und
sendet b∗ := [b′ > z].
• Aktualisierung der Informationen:
a∗ = b∗ = 0: Dann M ≤ z, ersetze I durch vordere Hälfte.
∗
∗
a = b = 1: Dann M > z, ersetze I durch hintere Hälfte.
561
∗
∗
a = 0, b = 1: Aktualisiere A und B und halbiere k.
Wie?
Es gilt: Median(A) ≤ M ≤ Median(B).
Alice entfernt die k/2 kleinsten Elemente aus A, Werte ≤ M.
Bob entfernt die k/2 größten Elemente aus B, Werte ≥ M.
Gesamtmedian unverändert.
a∗ = 1, b∗ = 0: Analog mit vertauschten Rollen von A und B. 2
Fazit: Es kann schon für einfache Probleme
schwierig sein, gute Protokolle zu entwerfen.
562
15.2 Untere Schranken
Strukturelle Untersuchung von Protokollbäumen.
Sei irgendein Protokollbaum P
für Funktion f : A × B → C gegeben.
Betrachte Menge Iv ⊆ A × B aller
Eingaben, die an Knoten v von P ankommen.
Diese Mengen haben spezielle Struktur:
Zentrale Beobachtung:
Für alle Knoten v gibt es Mengen Av ⊆ A und Bv ⊆ B,
sodass Iv = Av × Bv .
563
Beweis: Induktion über Tiefe von v.
v Wurzel: Dann Av = A, Bv = B.
v mit Iv = Av × Bv → Kinder v0, v1 von v:
O. B. d. A. v Alice-Knoten, gv : A → {0, 1}.
Dann Iv0 = (Av ∩ gv−1(0)) × Bv und Iv1 = (Av ∩ gv−1(1)) × Bv .
2
Beobachtung: Sei P ein Protokoll, das f berechnet.
• v Blatt mit Iv = Av × Bv :
Dann ist f auf Av × Bv konstant, überall Wert des Blattes v.
• Die Mengen Av × Bv , v Blatt, bilden eine Partition von A × B.
564
Intuition:
Keine großen Mengen Iv = Av × Bv , auf denen f konstant:
Viele benötigt, um gesamte Menge A × B zu partitionieren.
Dann: Protokollbaum hat viele Blätter und damit große Tiefe.
→ Idee zum Beweis unterer Schranken.
Später genauer ausarbeiten.
565
Zunächst Veranschaulichung mit Kommunikationsmatrix:
Definition: Kommunikationsmatrix
Funktionstabelle von f : A × B → C als Matrix Mf ,
Zeilen markiert mit Werten aus A, Spalten mit Werten aus B,
Eintrag von Mf in Zeile a ∈ A und Spalte b ∈ B ist f (a, b).
Für Veranschaulichung von Mengen Iv = Av × Bv :
Beispielfunktionen:
GTn, EQn : {0, 1}n × {0, 1}n → {0, 1}. Für a, b ∈ {0, 1}n:
GTn(a, b) = 1 :⇔ |a| > |b| (Greater-Than-Funktion);
EQn(a, b) = 1 :⇔ |a| = |b| (Equality-Funktion).
n−1
X
2i · x i .
Dabei für x = (xn−1, . . . , x0) ∈ {0, 1}n: |x| =
i =0
566
Kommunikationsmatrix von GT3:
000 001 010 011 100 101 110 111
000
0
0
0
0
0
0
0
0
001
1
0
0
0
0
0
0
0
010
1
1
0
0
0
0
0
0
011
1
1
1
0
0
0
0
0
100
1
1
1
1
0
0
0
0
101
1
1
1
1
1
0
0
0
110
1
1
1
1
1
1
0
0
111
1
1
1
1
1
1
1
0
{000,001,010,011}×
{011,100,101,110,111}
567
Kommunikationsmatrix von EQ3:
000 001 010 011 100 101 110 111
000
1
0
0
0
0
0
0
0
001
0
1
0
0
0
0
0
0
010
0
0
1
0
0
0
0
0
011
0
0
0
1
0
0
0
0
100
0
0
0
0
1
0
0
0
101
0
0
0
0
0
1
0
0
110
0
0
0
0
0
0
1
0
111
0
0
0
0
0
0
0
1
{000,001,100,101}×
{010,011,110,111}
568
Definition: Für A′ ⊆ A, B′ ⊆ B nenne Menge A′ × B′
(kombinatorisches) Rechteck (in A × B).
(Analog zu geometrischem Rechteck in R2.)
Matrixsichtweise: Kombinatorisches Rechteck ist Submatrix
der Kommunikationsmatrix.
Definition: Rechteck R ⊆ A × B heißt
• einfarbig (monochromatisch) bezüglich f ,
wenn f auf R konstant ist;
• c-Rechteck bezüglich f , falls f (R) = c.
Frühere Beobachtung in neuer Verkleidung:
Protokollbaum mit k Blättern definiert Partition von A × B
in k einfarbige Rechtecke bezüglich berechneter Funktion.
569
Beziehung der Rechteckanzahl zur Protokolllänge:
Protokoll für f der Länge ℓ gegeben:
ℓ
Protokollbaum hat höchstens 2 Blätter ⇒
ℓ
A × B zerfällt in höchstens 2 einfarbige Rechtecke bez. f .
Satz 15.2.1: Funktion f : A × B → C gegeben.
Wenn jede Partition von A × B in einfarbige Rechtecke bez. f
mindestens r Rechtecke benötigt, gilt C(f ) ≥ ⌈log r ⌉.
Hinweis: Nicht jede Partition von A × B in einfarbige Rechtecke
bez. f gehört zu einem Protokoll für f .
570
Die Rechteckmaßmethode
Anwendung von Satz 12.5.1 für untere Schranken:
Anzahl aller Eingaben durch Größe des größten Rechteckes
teilen liefert untere Schranke für Rechteckanzahl.
Genauer:
Satz (Einfache Version der Rechteckmaßmethode):
Sei gc := max{ |R| | R ist c-Rechteck bez. f }.
Jede Partition von A × B in einfarbige Rechtecke bez. f
l |f −1(c)| m
enthält mindestens rc :=
c-Rechtecke bez. f und
gc
l
X m
C(f ) ≥ log
rc .
c∈C
571
Satz 15.2.2: C(EQn) = n + 1.
Beweis:
≤“: Alice sendet ihren Eingabevektor, Bob das Ergebnisbit.
”
≥“: f −1(1) = {(a, a) | a ∈ {0, 1}n}, also |f −1(1)| = 2n.
”
Sei R 1-Rechteck bez. EQn.
Ann.: (a, a), (b, b) ∈ R mit a 6= b.
Dann folgt mit Rechteckeigenschaft:
(a, b), (b, a) ∈ R. Widerspruch.
(a, a)
(a, b)
(b, a)
(b, b)
Also enthält R höchstens ein Element der
Hauptdiagonalen der Komm.-Matrix und keine Elemente
außerhalb (da 0-Eingaben), damit |R| ≤ 1.
Damit ist r1 ≥ 2n. Offensichtlich r0 ≥ 1.
n
Komplexität damit mindestens log(2 + 1) ≥ n + 1.
2
572
Für GTn liefert dieses Argument keine guten Schranken.
Es gibt große 1-Rechtecke und große 0-Rechtecke.
Die Funktion ist einfach, wenn |a| und |b| sehr verschieden
sind, aber schwer, wenn |a| ≈ |b|.
Bisher: Jede Eingabe gleich wichtig.
Nun: Schwierige Eingaben erhalten größeres Gewicht.
573
Satz 15.2.3 (Rechteckmaßmethode – Vollversion):
Sei p Wahrscheinlichkeitsverteilung auf A × B und ε > 0.
Falls p(R) ≤ ε für jedes einfarbige Rechteck R bez. f ,
dann gilt C(f ) ≥ log(1/ε) .
Beweis:
Betrachte Partition von A × B in einfarbige Rechtecke:
Gesamtgewicht aller Rechtecke muss p(A × B) = 1 ergeben.
Gewicht eines einzelnen Rechteckes höchstens ε.
Also werden insgesamt mindestens 1/ε Rechtecke benötigt.
Behauptung folgt mit Satz 15.2.1.
2
Einfache Rechteckmaßmethode ist der Spezialfall,
wo p Gleichverteilung.
574
Satz 15.2.4: C(GTn) = n + 1.
Beweis:
Obere Schranke wieder trivial, untere Schranke zu zeigen.
Wähle p als Gleichverteilung auf allen speziellen Eingaben“
”
(a, b) mit |a| = |b| (0-Eingaben) oder |a| = |b| + 1 (1-Eingaben).
Anzahl insgesamt 2 · 2n − 1, Gewicht einer einzelnen Eingabe
also 1/(2 · 2n − 1).
0-Rechtecke:
0-Rechteck R gegeben. Annahme: (a, a), (b, b) ∈ R mit a 6= b.
Frühere Beobachtung ⇒ (a, b) ∈ R und (b, a) ∈ R.
Da |a| > |b| oder |b| > |a|: GTn(a, b) = 1 oder GTn(b, a) = 1.
Widerspruch zur Einfarbigkeit. Daher enthält R höchstens ein
Element der speziellen Eingaben.
Für 0-Rechteck R damit p(R) ≤ 1/(2 · 2n − 1).
575
1-Rechtecke:
1-Rechteck R gegeben. Annahme: (a, b), (a′, b′) ∈ R mit
′
′
′
|a| = |b| + 1, |a | = |b | + 1 und |a| < |a |.
Rechteck enthält auch (a, b′) mit |a| < |a′| = |b′| + 1,
d. h. GTn(a, b′) = 0. Also Widerspruch und R enthält
auch hier höchstens eine spezielle Eingabe.
Auch für 1-Rechtecke R damit p(R) ≤ 1/(2 · 2n − 1).
n
Satz 15.2.3 mit ε := 1/(2 · 2 − 1) ⇒
n
Komplexität ≥ log(1/ε) = log(2 · 2 − 1) = n + 1.
2
Kern dieses Beweises:
Alle (a, a) brauchen ein eigenes 0-Rechteck,
alle (a, b) mit |a| = |b| + 1 brauchen ein eigenes 1-Rechteck.
Dies führt zu einer einfacheren Methode.
576
Definition 15.2.5: f : A × B → C, c ∈ C gegeben.
S ⊆ A × B heißt c-Unterscheidungsmenge (c-fooling set)
für f , wenn Folgendes gilt:
• Für alle (a, b) ∈ S ist f (a, b) = c.
• Für beliebige (a, b), (a′, b′) ∈ S mit (a, b) 6= (a′, b′) gilt:
′
′
f (a, b ) 6= c oder f (a , b) 6= c oder beides.
Intuition:
Protokoll für f muss Eingaben aus Unterscheidungsmenge S
für f alle unterscheiden können, keine verschiedenen
Eingaben aus S im selben Rechteck.
577
Satz 15.2.6 (Unterscheidungsmengenmethode):
Sei sc := max{ |S| | S c-Unterscheidungsmenge für f }.
Dann ist C(f ) ≥ ⌈ log
X
c∈C
sc⌉.
Beweis:
Schon alleine mindestens sc c-Rechtecke notwendig, um
größte c-Unterscheidungsmenge zu überdecken.

n
GTn : S0 = {(a, a) | a ∈ {0, 1} } 



0-Unterscheidungsmenge  unterenSchranke
n
log(2
+
2
− 1)⌉
⌈
S1 = {(a, b) | |a| = |b| + 1} 

= n + 1.


1-Unterscheidungsmenge 
2
578
Bemerkung:
Unterscheidungsmengenmethode ist Spezialfall der
Rechteckmaßmethode:
Sei S c-Unterscheidungsmenge. Definiere Verteilung p durch
(
1/|S|, falls x ∈ S;
p(x) :=
0,
sonst.
Sei R c-Rechteck, dann gilt p(R) ≤ 1/|S|.
579
Übe Methoden an zwei weiteren, wichtigen Funktionen:
Definition:
• Mengen-Disjunktheits-Funktion (set disjointness function):
DISJn : {0, 1}n × {0, 1}n → {0, 1}, für a, b ∈ {0, 1}n:
DISJn(a, b) := ¬(a1b1 ∨ · · · ∨ anbn).
Testet, ob durch a, b dargestellte Mengen disjunkt sind.
• Skalarprodukt in Z2 (inner product in Z2):
IPn : {0, 1}n × {0, 1}n → {0, 1}, für a, b ∈ {0, 1}n:
IPn(a, b) := a1b1 ⊕ · · · ⊕ anbn.
580
Satz 15.2.7: (1) C(DISJn) = n + 1.
(2) n ≤ C(IPn) ≤ n + 1.
(Später: C(IPn) = n + 1.)
Obere Schranken trivial. Nur untere Schranken zu zeigen.
Beweis von Satz 15.2.7(1) – DISJn:
Mit Unterscheidungsmengenmethode.
Wähle S := {(a, a) | a ∈ {0, 1}n}. S ist 1-Unterscheidungsmenge:
• Für jedes a ist DISJn(a, a) = 1.
• Seien (a, a) und (b, b) mit a 6= b gegeben,
d. h., es gibt ein i mit ai = 1 und bi = 0 (oder andersherum).
Dann ist DISJn(a, b) = 0, da ai = bi = 1.
Also ≥ 2n 1-Rechtecke und mindestens ein 0-Rechteck.
2
581
Beweis von Satz 15.2.7(2) – IPn:
Mit einfacher Version der Rechteckmaßmethode,
Schranke für Anzahl der 0-Rechtecke.
Benutze dazu folgende Tatsachen.
−1
2n
Z.-Beh. 1: |IPn (0)| > 2 /2.
n
Z.-Beh. 2: R 0-Rechteck ⇒ |R| ≤ 2 .
Dann > 2n/2 0-Rechtecke.
Insgesamt > 2n−1 Rechtecke und Komplexität mindestens n.
582
Beweis der Z.-Beh. 1:
a = 0n: IPn(a, b) = 0 für alle b.
n
a 6= 0 : IPn(a, b) = 0 für genau die Hälfte aller b.
Folgt mit sehr wichtigem Lemma“ aus Exkurs über
”
Hashing.
Insgesamt sind also mehr als die Hälfte aller
Eingaben 0-Eingaben.
(Beweis der Z.-Beh. 1)
2
583
Beweis der Z.-Beh. 2:
Für A ⊆ Zn2 sei hAi der von A in Zn2 aufgespannte Unterraum.
Sei R = A × B ein 0-Rechteck bez. IPn.
Dann ist auch hAi × hBi ein 0-Rechteck:
Für beliebige a, a′ ∈ A und b, b′ ∈ B gilt:
IPn(a ⊕ a′, b ⊕ b′) = IPn(a, b) ⊕ IPn(a, b′) ⊕ IPn(a′, b) ⊕ IPn(a′, b′).
Sei R = A × B ein größtes 0-Rechteck.
Dann sind A, B sind orthogonale Unterräume von Zn2
und es folgt dim(A) + dim(B) ≤ n.
Also |R| = |A| · |B| = 2dim(A) · 2dim(B) ≤ 2n.
(Beweis der Z.-Beh. 2)
(Beweis des gesamten Satzes)
2
2
584
Die Rangmethode
Idee: Kommunikationsmatrizen sind algebraische Objekte →
Wende algebraische Methoden für untere Schranken an!
Hier Funktion f : A × B → {0, 1}.
Erinnerung: Mf Kommunikationsmatrix von f .
Definition: Rang(f ) := RangR(Mf ).
Im Folgenden ohne R“, falls Rang über reellen Zahlen.
”
585
Hilfreiche Eigenschaften des Ranges (→ Lineare Algebra):
Bemerkung: Für beliebige Matrizen A, B von passendem
Format über einem beliebigen Körper K gilt:
(1) Subadditivität des Ranges:
RangK (A + B) ≤ RangK (A) + RangK (B).
(2) RangK (A · B) ≤ min{RangK (A), RangK (B)}.
586
Satz 15.2.8 (Rangmethode):
C(f ) ≥ ⌈log Rang(f )⌉.
Beweis: Sei P ein Protokollbaum für f .
Eingabemenge, die 1-Blatt v erreicht, sei Av × Bv .
O. B. d. A. Av × Bv 6= ∅. Definiere Matrix Mv durch
(
1, (a, b) ∈ Av × Bv ;
Mv (a, b) :=
0, sonst.
Dann ist Rang(Mv ) = 1.
Denn: Mv enthält nur zwei verschiedene Zeilen:
• charakteristischen Vektor von Bv für a ∈ Av und
• Nullvektor für a ∈
/ Av .
587
Es ist
Mf =
X
Mv ,
v 1-Blatt
da jede 1-Eingabe genau ein 1-Blatt erreicht und
keine 0-Eingabe ein 1-Blatt erreicht.
Subadditivität der Rangfunktion ⇒
X
Rang(Mf ) ≤
Rang(Mv ) ≤ # 1-Blätter.
v 1-Blatt
2
Zusatz: Beweis liefert genauer sogar
# 1-Blätter in Protokollbaum für f ≥ Rang(f ),
# 0-Blätter in Protokollbaum für f ≥ Rang(f ).
588
Anwendungen (1/2):
Zunächst neue Beweise für bekannte Tatsachen:
• Equality-Funktion:
n
Rang(MEQn ) = 2 ,
mindestens ein 0-Rechteck
• Greater-Than-Funktion:
n
Rang(MGT ) = 2 ,
n
mindestens ein 1-Rechteck
)
)
C(EQn) ≥
⇒
n
log(2 + 1) = n + 1.
⇒ C(GTn) ≥ n + 1.
Jetzt etwas Neues.
589
Anwendungen (2/2):
Skalarprodukt über Z2:
)
n
(1) Rang(MIPn ) ≥ 2 − 1;
C(IPn) ≥
⇒
n+1
n
− 2)⌉ = n + 1.
⌈log(2
(2) Rang(MIP ) ≥ 2 − 1.
n
Beweis: Benutze Hadamardmatrix Hn, 2n × 2n-Matrix mit
Einträgen aus {−1, 1}, definiert durch
Hn(a, b) := (−1)IPn(a,b), a, b ∈ {0, 1}n.
Es ist Hn = Jn − 2 · MIPn und Hn = −Jn + 2 · MIP , wobei
n
n
n
Jn := 2 × 2 -Matrix mit lauter Einseinträgen.
Es ist (Subadditivität des Ranges):
Rang(Hn) ≤ Rang(Jn) + Rang(MIPn ) = Rang(MIPn ) + 1.
Damit Rang(MIPn ) ≥ Rang(Hn) − 1. Analog für MIP .
n
Zeige: Rang(Hn) = 2n, dann folgen (1) und (2).
590
Behauptung: Hn⊤Hn = 2n · In, wobei In 2n × 2n-Einheitsmatrix.
Damit auch (Formel für Rang von Matrixprodukten):
2n = Rang(Hn⊤Hn) ≤ min{Rang(Hn⊤), Rang(Hn)} = Rang(Hn).
Beweis der Behauptung:
Für a, b ∈ {0, 1}n gilt:
X
⊤
Hn · Hn (a, b) =
c∈{0,1}n = 1,
H (c, a) · Hn(c, b).
|n
{z
}
falls IPn(c, a) = IPn(c, b),
= −1, sonst.
Zwei Fälle:
n
a = b: Alle Summanden = 1, Summenwert 2 .
a 6= b: Genau die Hälfte der Summanden = 1,
andere Hälfte = −1. Summenwert 0.
(Beweis der Behauptung)
(Beweis von (1)+(2))
2
2
591
Ein passendes Reduktionskonzept
Definition 15.2.9 (Reckteckreduktionen):
Funktionen f : A × B → C, g : A′ × B′ → C gegeben.
f ≤rect g (f rechteckreduzierbar auf g) :⇔
′
′
Es gibt Abbildungen hA : A → A und hB : B → B ,
sodass für alle a, b gilt: f (a, b) = g(hA(a), hB (b)).
Lemma 15.2.10: f ≤rect g ⇒ C(f ) ≤ C(g).
Beweis:
• Alice berechnet a′ := hA(a), Bob berechnet b′ := hB (b).
• Beide wenden optimales Protokoll für g auf
′
′
Eingabe (a , b ) an.
2
592
Kommunikationsprotokolle mit variabler Eingabepartition
Die bisherigen Schranken gelten für fest vorgegebene
Partition der Eingabebits zwischen Alice bzw. Bob.
Für viele Anwendungen Szenario interessant, in dem
beim Protokollentwurf auch Partition gewählt werden darf.
Nur sinnvoll für eingeschränkte Klassen von Partitionen.
Wichtigste Spezialfälle:
• Beide Teile der Partition für Alice und Bob
so gleich groß wie möglich“.
”
• Beide Teile enthalten ungefähr gleich viele“ von
”
irgendwie gewählten, wichtigen“ Variablen.
”
Untere Schranken im Allgemeinen schwerer zu zeigen, da nun
Argument für verschiedene Partitionen funktionieren muss.
593
Formalere Definition:
Definition: X endliche Variablenmenge, W ⊆ X .
Partition von X in zwei Teilmengen balanciert bezüglich W ,
falls in jeder Teilmenge höchstens |W |/2 Variablen.
Nur balanciert, falls W = X .
Bemerkung: Partition balanciert bez. W , dann enthalten
die Teile entweder beide genau |W |/2 Variablen oder
|W |/2 bzw. |W |/2 Variablen.
Modell:
Kommunikationsprotokolle bez. bester (balancierter) Partition
(bzw. bester balancierter Partition bez. Variablenteilmenge).
594
Maskentechnik:
Konstruiere zu gegebener Funktion künstliche Variante,
die für balancierte Eingabepartitionen bez. geeigneter Menge
von wichtigen Variablen schwer ist.
Hier am Beispiel der Equality-Funktion.
Maskenvariante der Equality-Funktion:
EQ∗n definiert auf a, a′, b, b′ ∈ {0, 1}n.
a∗ := Verkürzung von a auf die ai mit a′i = 1; b∗ analog.

∗
∗
∗
∗

EQm(a , b ), falls Länge(a ) = Länge(b ) = m
EQ∗n(a,a′,b,b′) :=
für geeignetes m ∈ {0, . . . , n};

0,
sonst;
595
Satz 15.2.11: Wenn Alicemindestens n/2 a-Variablen
und Bob mindestens n/2 b-Variablen erhält,
∗
gilt C(EQn) ≥ n/2 + 1.
Beweis: Fixiere Bitmasken a′ und b′ so, dass
′
• a genau n/2 der a-Variablen von Alice auswählt; und
′
• b genau n/2 der b-Variablen von Bob auswählt.
Dann müssen Alice und Bob EQ⌈n/2⌉ bezüglich der in der
Definition eingebauten (schweren) Partition berechnen.
2
Folgerung: Jedes Protokoll mit einer beliebigen bez. der
∗
Variablen in (a, b) balancierten Eingabepartition für EQn hat
Komplexität Ω(n).
∗
∗
∗
Analog für GTn, DISJn, IPn.
596
Spannender: Ergebnisse für natürliche“ Funktionen.
”
Allerdings dann oft auch untere Schranken viel schwerer.
Definition: Mittleres Bit der Multiplikation, MULn
Für a, b ∈ {0, 1}n ist MULn(a, b) das Bit der Wertigkeit 2n−1
im Produkt |a| · |b|.
Satz 15.2.12: Sei n gerade.
Wenn Alice und Bob je n/2 Bits des Faktors a kennen und
die Bits von b beliebig aufgeteilt sind, gilt C(MULn) ≥ n/8 .
D. h.: Mittleres Bit hat lineare Komplexität für jede bez. der
Variablen eines der Faktoren balancierte Partition.
597
Beweis:
Betrachte Multiplikation nach der Schulmethode:
an−1 an−2
an−1 an−2
an−1
c2n−1
a1
a0
bj
bk
a0
a1
bn−1
a0
cn−1
b0
b1
a0
a0
an−1
an−1 an−2
a1
c0
Addition von geschobenen a-Vektoren, Auswahl durch b-Bits.
598
Nur Zeilen j, k mit j < k im Tableau addieren (Wahl später):
Setze bj = bk = 1 und bm = 0 für m 6∈ {j, k}.
Dann ist
|a| · |b| = |a| · 2j + |a| · 2k .
Plan für Beweis:
• Betrachte bei Addition aufgeteilte Spalten:
Von zu addierenden Bits gehört Alice und Bob jeweils eins.
• Zeige: Produktbit cn−1 ist Carrybit
einer Addition zweier
Zahlen der Bitlänge m ≥ n/8 − 1, deren Bits
jeweils ausschließlich Alice bzw. Bob gehören.
599
Daher zunächst betrachten:
m
CARm(a, b) := Carrybit bei Addition von a, b ∈ {0, 1} .
Eingabepartition: Alice hat a, Bob hat b.
Behauptung: C(CARm) = m + 1.
Beweis: Obere Schranke trivial, zeige untere Schranke.
Zeige GTm ≤rect CARm.
Daraus folgt die Behauptung, da C(GTm) = m + 1.
CARm(a, b) = 1 ⇔ |a| + |b| ≥ 2m
⇔ |a| ≥ 2m − |b| ⇔ |a| > 2m − 1 − |b|.
Wähle also als Rechteckreduktion:
′
′
m
hA(a) := a und hB (b) := b mit |b | = 2 − 1 − |b|.
2
600
j
k
k
j
Erinnerung: |a| · |b| = |a| · 2 + |a| · 2 , j < k.
Sei d := k − j .
j
|a| · 2 :
k
|a| · 2 :
A
B
00
|
{z
d
00 · · · 0
······
0
}
Ziel: Möglichst viele aufgeteilte Spalten ( A/B“ oder B/A“).
”
”
Genauer: Alice und Bob erhalten je ein Bit aus {ai , ai +d },
0 ≤ i ≤ n/2 − 1, n/2 ≤ i + d ≤ n − 1.
601
Beispiel: n = 16, j = 1, k = 8, d = 7.
B A
A
B
A B
B
A
0 0 0 0 0 0 0 a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 0
a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 0 0 0 0 0 0 0 0
B A
A
B
A B
B
A
Ausgabebit
Vier A/B- bzw. B/A-Paare. Rest konstant setzen:
0
0
B A
A
B
A B
B
A
0 0 0 0 0 0 a15 0 a13 a12 1 a10 1 a8 0 a6
0 a13 a12 1 a10 1 a8 0 a6 a5 0 a3 0 a1 0 0
B A
A
B
A
|
Ausgabebit
Übertrag weiterleiten
a5 0 a3 0 a1 0
0 0 0 0 0 0
B
B
A
{z
kein Übertrag
Ausgabebit = CAR4((a13, a12, a10, a8), (a6, a5, a3, a1)).
602
0
0
}
Behauptung:
Wir können
Differenz zwischen k und j so wählen, dass
m ≥ n/8 Spalten aufgeteilt zwischen Alice und Bob.
Beweis der Behauptung: Mit dem Schubfachprinzip.
Sei r die Anzahl der ai , 0 ≤ i ≤ n/2 − 1, die Alice kennt.
Dann kennt sie n/2 − r der aℓ , n/2 ≤ ℓ ≤ n − 1.
Bei Bob ist die Situation genau umgekehrt: n/2 − r und r.
Es gibt n2/4 Paare (ai , aℓ ), 0 ≤ i < n/2 ≤ ℓ ≤ n − 1, und
genau r 2 + (n/2 − r)2 Paare, von denen Alice genau ein Bit
kennt.
Dies ist minimal für r = n/4 und dann n2/8 solcher Paare.
603
Da 0 ≤ i < n/2 ≤ ℓ ≤ n − 1, ist ℓ − i ∈ {1, . . . , n − 1}.
Es gibt damit nur n − 1 mögliche Differenzen.
Für einen Differenzbetrag gibt es also mindestens
n2/8
n−1
≥ n/8
aufgeteilte Paare. Da dies eine ganze Zahl ist, gibt es sogar
mindestens n/8 viele.
(Beweis der Behauptung)
Wähle d so, dass mindestens n/8
aufgeteilte Paare (ai , ai +d ), 0 ≤ i < n/2 ≤ i + d ≤ n − 1.
Falls (an−1−d , an−1) darunter: wegwerfen.
2
Wähle j so, dass das linkeste“ aufgeteilte Paar (ai , ai +d ) an
”
Position n − 2 steht, d. h. i + d + j = n − 2, was möglich ist, da
i + d ≤ n − 2. Setze k := j + d .
2
604
15.3 Nichtdeterministische
Kommunikationsprotokolle
Nichtdeterministische TM, die Entscheidungsproblem L löst:
Randomisierte TM, die L mit unbeschränktem,
einseitigem Fehler löst. Hier analog vorgehen.
Wie randomisierte Kommunikationsprotokolle definieren?
Spieler erhalten Zufallsbits, für feste Zufallsbits wie bei
bekannten, deterministischen Protokollen. . .
605
Def.: Randomisiertes Kommunikationsprotokoll (1/2)
Syntax:
• Alice und Bob erhalten wie immer
Eingaben a ∈ A bzw. b ∈ B, A, B endliche Mengen.
• Außerdem erhalten sie zusätzliche Eingaben
rA ∈ {0, 1}ℓA bzw. rB ∈ {0, 1}ℓB .
Dabei ist rA nur Alice bekannt und rB nur Bob.
• Die Längen ℓA und ℓB dürfen von den Eingabelängen von
Alice bzw. Bob abhängen.
• Alice und Bob arbeiten gemäß einem deterministischen
Protokoll P auf den Eingaben (a, rA) und (b, rB ).
606
Def.: Randomisiertes Kommunikationsprotokoll (2/2)
Semantik:
• Die Eingaben rA und rB werden mit
unabhängigen, gleichverteilten Zufallsbits belegt.
• Dann wird P auf (a, rA) und (b, rB ) wie immer ausgewertet.
Ausgabe ist Zufallsvariable.
Verschiedene Fehlerarten wie immer.
Für diesen Abschnitt zunächst interessant:
P berechnet f : A × B → {0, 1} mit
unbeschränktem einseitigen Fehler, falls
PrrA,rB {P ((a, rA), (b, rB )) 6= 0} = 0, für (a, b) ∈ f −1(0);
PrrA,rB {P ((a, rA), (b, rB )) 6= 1} < 1, für (a, b) ∈ f −1(1).
607
Komplexität für randomisierte Kommunikationsprotokolle?
Keine neue Definition erforderlich, Protokolllänge wie immer:
• Länge des längsten Weges im Protokollbaum bzw.
• Maximum der Anzahl gesendeter Bits über alle
Wahlen für normale Eingaben und Zufallsbits.
Def.: Nichtdeterministisches Protokoll
Nenne randomisiertes Protokoll P nichtdeterministisches
Protokoll für f : A × B → {0, 1}, falls P die Funktion f mit
unbeschränktem einseitigen Fehler berechnet.
Nenne Zufallsbits dann üblicherweise
nichtdeterministische Bits.
608
Alternative Sichtweise:
Eingabe (a, b) aktiviert Weg im Protokollbaum,
falls dieser Weg bei der Berechnung für Eingabe (a, b)
und eine passende Belegung der nichtdeterministischen Bits
durchlaufen wird.
(a, b) ∈ f
−1
(a, b) ∈ f
−1
(0):
Alle von (a, b) aktivierten Wege führen zu 0-Blättern.
(1):
Es existiert ein von (a, b) aktivierter Weg zu einem 1-Blatt.
Es gilt: f (a, b) =
_
P ((a, rA), (b, rB )).
rA,rB
Name daher auch: OR-Nichtdeterminismus.
609
Nichtdeterministische Akzeptanzmodi:
• OR-Nichtdeterminismus:
_
f (a, b) =
P ((a, rA), (b, rB )).
rA,rB
• AND-Nichtdeterminismus
(Co-Nichtdeterminismus):
^
f (a, b) =
P ((a, rA), (b, rB )).
rA,rB
• EXOR-Nichtdeterminismus
(Parity-Nichtdeterminismus):
M
f (a, b) =
P ((a, rA), (b, rB )).
rA,rB
Minimale Komplexität eines Protokolls dieser Typen:
COR, CAND bzw. CEXOR.
610
Untere Schranken für nichtdeterministische Protokolle
Zunächst: Kombinatorische Charakterisierung
von nichtdeterministischen Protokollen
mit Rechtecken.
Betrachte Funktion f : A × B → {0, 1}.
Deterministisches Protokoll (Erinnerung):
• Für c ∈ {0, 1} ist jede Eingabe aus f −1(c) in
genau einem c-Rechteck bezüglich f enthalten.
• Protokoll definiert Partition von A × B in
einfarbige Rechtecke bezüglich f .
611
Nichtdeterministisches Protokoll:
Betrachte Protokollbaum und Blatt v:
Menge aller Eingaben (a, b) ∈ A × B, die für irgendeine
Belegung der nichtdeterministischen Bits v erreichen,
ist Rechteck (analog zu früherem Beweis).
Für OR-Nichtdeterminismus gilt:
• Eingaben aus f −1(1) sind in mindestens einem
Rechteck enthalten, das zu einem 1-Blatt gehört.
• Keine Eingabe aus f −1(0) ist in einem Rechteck
enthalten, das zu einem 1-Blatt gehört.
−1
Damit definiert Protokoll eine Überdeckung von f (1)
mit 1-Rechtecken bez. f (im Allgemeinen nicht disjunkt).
612
Für EXOR-Nichtdeterminismus:
−1
• Eingaben aus f (1) sind in ungerade vielen
Rechtecken enthalten, die zu 1-Blättern gehören.
• Eingaben aus f −1(0) sind in gerade vielen
Rechtecken enthalten, die zu 1-Blättern gehören.
Das Protokoll liefert also eine Kollektion von Rechtecken,
−1
sodass genau die Eingaben aus f (1) ungerade oft überdeckt
werden.
Beachte: Die Rechtecke, die zu den 1-Blättern gehören,
−1
−1
können hier sowohl Eingaben aus f (1) als auch aus f (0)
enthalten, sind also nicht mehr einfarbig bez. f !
613
Definition 15.3.1: f : A × B → {0, 1} gegeben. Definiere
• NOR als die minimale Anzahl von 1-Rechtecken bez. f ,
die benötigt werden, um genau die Eingaben in f −1(1)
zu überdecken;
• NAND als die minimale Anzahl von 0-Rechtecken bez. f ,
die benötigt werden, um genau die Eingaben in f −1(0)
zu überdecken.
• NEXOR als die minimale Anzahl von Rechtecken, sodass
−1
genau die Eingaben in f (1) ungerade oft überdeckt
werden.
614
Satz 15.3.2:
(1) ⌈log NOR(f )⌉ ≤ COR(f ) ≤ ⌈log(NOR(f ) + 1)⌉ + 1;
(2) ⌈log NAND(f )⌉ ≤ CAND(f ) ≤ ⌈log(NAND(f ) + 1)⌉ + 1.
(3) ⌈log NEXOR(f )⌉ ≤ CEXOR(f ) ≤ ⌈log(NEXOR(f ) + 1)⌉ + 1.
Damit nahezu exakte kombinatorische Charakterisierung der
nichtdeterministischen Kommunikationskomplexität.
615
Beweis: Für (1)–(3) nach demselben Muster, daher nur für (1).
(Außerdem (2) auch direkt aus (1) wegen CAND(f ) = COR(f ).)
⌈log NOR(f)⌉ ≤ COR(f)“:
”
Betrachte nichtdeterministisches Protokoll für f
mit Länge ℓ = COR(f ).
• Rechtecke zu 1-Blättern im Protokoll stellen
Überdeckung von f −1(1) mit 1-Rechtecken dar.
• Protokollbaum hat höchstens 2ℓ Blätter insgesamt,
also auch höchstens 2ℓ 1-Blätter.
⇒ NOR(f ) ≤ 2ℓ = 2COR(f ).
Da COR(f ) ganze Zahl ist, folgt die Behauptung.
616
COR(f) ≤ ⌈log(NOR(f) + 1)⌉ + 1“:
”
−1
Sei eine Überdeckung von f (1) mit 1-Rechtecken
R1 = A1 × B1, . . . , Rk = Ak × Bk gegeben, wobei k = NOR(f ).
Protokoll: Eingabe (a, b).
• Alice rät nichtdeterministisch i ∈ {1, . . . , k}.
– Falls a 6∈ Ai , sendet sie die Ausgabe 0 und
beendet das Protokoll.
– Ansonsten sendet sie i .
• Bob sendet [b ∈ Bi ] als Ausgabe und beendet das Protokoll.
Korrektheit klar, Komplexität:
⌈log(k + 1)⌉ Bits, um Alices Botschaften zu kodieren.
Insgesamt daher ⌈log(k + 1)⌉ + 1 Bits.
2
617
Welche unserer Untere-Schranken-Methoden für
deterministische Protokolle lassen sich auf
nichtdeterministische übertragen? Wir hatten
• Rechteckmaßmethode;
• Unterscheidungsmengenmethode als Spezialfall davon und
• Rangmethode.
Mit kombinatorischer Charakterisierung folgt:
Rechteckmaßmethode funktioniert sogar im
nichtdeterministischen Fall:
Falls jedes 1-Rechteck bez. f höchstens ε-Anteil aller
1-Eingaben von f abdeckt, dann auch in jeder Überdeckung
dieser Eingaben mindestens 1/ε viele solcher Rechtecke.
618
Satz 15.3.3: Sei f : A × B → {0, 1} gegeben.
• Falls für eine W.-Verteilung p auf f −1(1) und ein ε > 0
jedes 1-Rechteck R bez. f die
Bedingung p(R) ≤ ε erfüllt,
dann gilt COR(f ) ≥ log(1/ε) .
• Falls f eine 1-Unterscheidungsmenge der Größe s hat, gilt
COR(f ) ≥ ⌈log s⌉.
Analog für CAND(f ) und 0-Eingaben, 0-Rechtecke und
0-Unterscheidungsmengen.
Nichts Ähnliches für CEXOR(f ), da Rechtecke an den Blättern
nicht mehr einfarbig sein müssen.
619
Rangmethode nicht anwendbar für COR(f ) oder CAND(f ),
wie gleich mit Beispiel gezeigt.
Es gilt ja hier im Allgemeinen auch nicht mehr
P
Mv ,
Mf =
v1-Blatt
denn Eintrag in Summenmatrix auf rechter Seite gibt Anzahl
1-Blätter an, die die zugehörige Eingabe überdeckt und kann
hier eine beliebige Zahl aus N0 sein.
Für EXOR-Nichtdeterminismus haben wir aber
P
Mv mod 2.
Mf =
v1-Blatt
Damit folgt:
Theorem 15.3.4: CEXOR(f ) ≥ ⌈log RangZ2 (f )⌉.
Dabei ist RangZ2 (f ) der Rang von Mf über Z2.
620
Was bringt Nichtdeterminismus für Beispielfunktionen?
Satz 15.3.5(1): COR(EQn) ≥ n, CAND(EQn) ≤ ⌈log n⌉ + 2,
CEXOR(EQn) ≥ n.
Beweis:
• COR(EQn) ≥ n:
n
Alle 2 1-Eingaben bilden 1-Unterscheidungsmenge.
• CAND(EQn) = COR(EQn) ≤ ⌈log n⌉ + 2:
Alice rät i ∈ {1, . . . , n} und sendet i und ai ;
Bob gibt [ai 6= bi ] aus.
1. 0
. . hat vollen Rang über Z2.
• CEXOR(EQn) ≥ n:
0
1
Obere Schranke zeigt auch, dass Rang der
Kommunikationsmatrix über R keine untere Schranke
für OR- und AND-Nichtdeterminismums liefert.
2
621
Satz 15.3.5(2): COR(GTn) ≥ n, CAND(GTn) ≥ n,
CEXOR(GTn) ≥ n.
Beweis:
• COR(GTn) ≥ n:
Alle 2n − 1 Einsen der Diagonalen unterhalb der
Hauptdiagonalen bilden 1-Unterscheidungsmenge.
• CAND(GTn) ≥ n:
Alle 2n Nullen der Hauptdiagonalen bilden
0-Unterscheidungsmenge.
• CEXOR(GTn) ≥ n:
0. 0
. . hat Rang 2n − 1 über Z2.
1
0
2
622
Satz 15.3.5(3): COR(DISJn) ≥ n, CAND(DISJn) ≤ ⌈log n⌉ + 2,
CEXOR(DISJn) ≥ n − ⌊log(n + 1)⌋.
Beweis:
• COR(DISJn) ≥ n:
n
Menge {(a, a) | a ∈ {0, 1} } ist 1-Unterscheidungsmenge.
• CAND(DISJn) = COR(DISJn) ≤ ⌈log n⌉ + 2:
Alice rät i ∈ {1, . . . , n} und sendet i und ai ;
Bob gibt [ai = bi = 1] aus.
• CEXOR(DISJn) ≥ n − ⌊log(n + 1)⌋:
Betrachte Untermatrix M aller (a, b), wobei a genau ⌊n/2⌋
und b genau ⌈n/2⌉ Einsen hat. Dann Einsen
in M nur für
1. 0
.. .
(a, a). Bei passender Nummerierung M =
0
1
n
n Voller Rang über Z2, ⌊n/2⌋ > 2 /(n + 1) ⇒
n log RangZ2 (DISJn) ≥ log ⌊n/2⌋ ≥ n − ⌊log(n + 1)⌋.
2
623
Satz 15.3.5(4): COR(IPn) ≥ n − 1, CAND(IPn) ≥ n,
CEXOR(IPn) ≤ ⌈log n⌉ + 2.
Beweis:
• CAND(IPn) ≥ n: Im Beweis von Satz 15.2.7 gezeigt:
−1
2n
n
|IP (0)| > 2 /2; R 0-Rechteck ⇒ |R| ≤ 2 .
⇒ mehr als 2n−1 0-Rechtecke, um IP−1
n (0) zu überdecken
⇒ CAND(IPn) ≥ n.
• COR(IPn) ≥ n − 1:
Es ist IPn((a1, . . . , an−1, 1), (b1, . . . , bn−1, 1)) =
IPn−1((a1, . . . , an−1), (b1, . . . , bn−1)).
Wende nun vorherige Schranke an.
• CEXOR(IPn) ≤ ⌈log n⌉ + 2:
Benutze das Protokoll für DISJn aus Teil (3), ersetze
OR- durch EXOR-Nichtdeterminismus.
2
624
Satz 15.3.5(5): Falls Alice und Bob je n/2 Bits eines Faktors
kennen, gilt COR(MULn), CAND(MULn), CEXOR(MULn) ≥ ⌈n/8⌉−1.
Beweis:
Beobachtung: Rechteckreduktionen funktionieren auch
für nichtdeterministische Protokolle.
Im Beweis von Satz 15.2.12 (C(MULn) ≥ n/8 ) gezeigt:
• CAR⌈n/8⌉−1 ist Subfunktion von MULn.
(Insbesondere gilt auch CAR⌈n/8⌉−1 ≤rect MULn,
Alice und Bob können separat Variablen konstantsetzen.)
• GT⌈n/8⌉−1 ≤rect CAR⌈n/8⌉−1.
Damit übertragen sich untere Schranken für GTn.
2
625
Determinismus versus Nichtdeterminismus
Verbesserung der logarithmischen oberen Schranken
für EQn und DISJn? Allgemein: Maximale Lücke zwischen
C(f ) und COR(f )?
Proposition: C(f ) ≤ NOR(f ) + 1 ≤ 2COR(f ) + 1.
Beweis:
Zweite Ungleichung folgt aus Satz 15.3.2, erste Ungleichung:
Überdeckung R1 = A1 × B1, . . . , Rk = Ak × Bk von f −1(1)
mit 1-Rechtecken, k = NOR(f ), gegeben:
Alice sendet [a ∈ A1], . . . , [a ∈ Ak ], Bob das Ergebnis.
2
Also COR(f ) = Ω(log C(f )). Damit folgt:
CAND(EQn) = Θ(log n), CAND(DISJn) = Θ(log n),
und wir haben die asymptotisch maximale Lücke realisiert.
626
Fazit:
• Jede der drei Arten von Nichtdeterminismus kann Probleme
einfach machen, d. h. logarithmisch, während die beiden
anderen Arten linear bleiben.
• Wir kennen Funktionen, die für alle drei Arten von
Nichtdeterminismus schwierig sind, also linear.
627
Fehlerfreier Nichtdeterminismus
Randomisierte Protokolle mit ?“-Ausgabe und:
”
−1
• (a, b) ∈ f (1): Alle aktivierten Wege führen zu 1-Blättern
oder zu ?“-Blättern, mindestens ein 1-Blatt.
” −1
• (a, b) ∈ f (0): Alle aktivierten Wege führen zu 0-Blättern
oder ?“-Blättern, mindestens ein 0-Blatt.
”
Sei CND(f ) minimale Länge solcher Protokolle für f .
N(f ) := NOR(f ) + NAND(f ), minimale Anzahl einfarbiger
Rechtecke bez. f in Überdeckung aller Eingaben.
Analog zu Satz 15.3.2 folgt:
Satz: ⌈log N(f )⌉ ≤ CND(f ) ≤ ⌈log(N(f ) + 1)⌉ + 1.
628
Determinismus versus fehlerfreier Nichtdeterminismus
Klar: C(f ) ≥ CND(f ) ≥ COR(f ), CAND(f ).
Exponentielle Lücken zwischen C(f ) und COR(f ) bzw. CAND(f ).
Maximale Lücke zwischen C(f ) und CND(f )?
Satz 15.3.6: C(f ) = O(COR(f ) · CAND(f )).
Folgerung: C(f ) = O(CND(f )2).
Fehlerfreier Nichtdeterminismus erlaubt umgekehrt also
höchstens wurzelige Einsparung bei der Protokolllänge.
Diese Einsparung kann für konkrete Funktion tatsächlich
realisiert werden (später).
629
Beweis von Satz 15.3.6:
R 1-Rechteck, R ′ 0-Rechteck:
• Dann R ∩ R ′ = ∅.
• R schneidet a-Zeile und b-Spalte, d. h. (a, b) ∈ R:
′
Dann kann R nur a-Zeile oder b-Spalte schneiden.
Zentrale Beobachtung (∗):
R 1-Rechteck, M Menge von 0-Rechtecken:
′
R hat mit mindestens der Hälfte aller R ∈ M keine Zeile
gemeinsam oder R hat mit mindestens der Hälfte aller
′
R ∈ M keine Spalte gemeinsam.
630
Plan für Beweis:
Alice und Bob einigen sich vorab auf
−1
• Überdeckung von f (1) durch NOR(f ) 1-Rechtecke und
• Überdeckung der f −1(0) durch NAND(f ) 0-Rechtecke.
Für Eingabe (a, b):
• Spieler suchen nach 0-Rechteck, das (a, b) enthält.
• Geben 1“ aus, falls keins gefunden wird.
”
Protokoll mit ⌈log NAND(f )⌉ Phasen mit
je ⌈log NOR(f )⌉ + O(1) Kommunikationsbits.
Damit folgt Behauptung (benutze Satz 15.3.2).
631
Protokoll – Rahmenalgorithmus:
Spieler verwalten beide Kandidatenmenge K von
0-Rechtecken, die (a, b) enthalten können.
Zu Beginn: K = Menge aller NAND(f ) gewählten 0-Rechtecke.
Falls K = ∅ festgestellt wird, soll f (a, b) = 1 gelten.
Der jeweils aktive Spieler gibt dies aus und
beendet das Protokoll.
Ziel einer Phase: |K | halbieren oder Beweis, dass f (a, b) = 0.
Damit klar: Höchstens ⌈log NAND(f )⌉ Phasen.
632
Protokoll – Einzelne Phase:
Sei K 6= ∅. Alice prüft, ob es ein Rechteck R unter
den NOR(f ) gewählten 1-Rechtecken gibt, das
• Zeile a schneidet und
• mit höchstens der Hälfte der K -Rechtecke
eine Zeile gemeinsam hat.
Sie sendet
• die Nummer des gefundenen 1-Rechtecks (Fall 1) oder
• existiert nicht“ (Fall 2).
”
Es reichen dazu ⌈log NOR(f )⌉ + O(1) Bits.
Fall 1:
K := {R ′ ∈ K | R ′ und R haben Zeile gemeinsam}.
Damit hat sich |K | mindestens halbiert und alle 0-Rechtecke
bleiben erhalten, die Zeile a schneiden (und damit (a, b)
enthalten können).
633
Fall 2:
Bob geht dual zu Alice vor mit seiner Eingabe b und
gemeinsamen Spalten.
Fall 2.1: Bob findet passendes Rechteck,
|K | wird mindestens halbiert.
Fall 2.2: Bob auch erfolglos.
Behauptung: Dann folgt f (a, b) = 0.
Beweis indirekt. Sei f (a, b) = 1. Dann folgt:
∃ 1-Rechteck R unter den gewählten NOR(f ) 1-Rechtecken,
(∗)
(a, b) ∈ R ⇒ Höchstens die Hälfte der Rechtecke aus K hat
Zeile mit R gemeinsam (Alice findet Rechteck) oder analog für
Spalte (Bob findet Rechteck).
2
634
Beispiel für maximal mögliche Einsparung durch
fehlerfreien Nichtdeterminismus?
2kn
Def.: List-Non-Equality, LNEk,n : {0, 1}
Für a(1), b(1), . . . , a(k), b(k) ∈ {0, 1}n:
(1) (1)
(k) (k) LNEk,n (a , b ), . . . , (a , b )
→ {0, 1}.
:= EQn(a(1), b(1)) ∧ · · · ∧ EQn(a(k), b(k)).
In den Übungen:
Satz: (1) C(LNEk,n) = Ω(kn);
(2) COR(LNEk,n) = O(k log n);
(3) CAND(LNEk,n) = O(n + log k).
⇒ C(LNEn,n) = Ω(n2), CND(LNEn,n) = O(n log n).
Bei oberer Schranke log-Faktor noch wegoptimierbar,
via randomisierte Komplexität (→ Kushilevitz, Nisan).
635
Komplexitätsklassen für Kommunikationskomplexität
Spaßeshalber analog zu TM-Klassen definieren:
cc
cc
cc
P , NP , co-NP usw.,
Klassen von Funktionenfolgen mit Protokollen vom jeweiligen
Typ, die polylogarithmische Kommunikationskomplexität
in der Eingabelänge haben.
Haben gezeigt:
cc
NP
cc $
(Klassen unvergleichbar)
P $
cc
co-NP
Auch: GT, MUL, IP 6∈ NPcc ∪ co-NPcc.
Satz 15.3.6: Pcc = NPcc ∩ co-NPcc.
636
15.4 Randomisierte Kommunikationsprotokolle
Modell bereits in Abschnitt 15.3 definiert, Fehlerarten wie
immer. Hier Varianten mit beschränktem Fehler genauer.
• fehlerfrei:
– „?“-Ausgabe mit Wskt. ≤ ε, 0 ≤ ε < 1 („ZPP“):
R?,ε(f )
– keine „?“-Ausgaben, Las-Vegas-Protokolle („EP“):
Miss erwartete Protokolllänge (bez. Zufallsbits): R0(f )
R1,ε(f )
• einseitiger Fehler ≤ ε, 0 ≤ ε < 1 („RP“):
• zweiseitiger Fehler ≤ ε, 0 ≤ ε < 1/2 („BPP“):
Rε(f )
Probability-Amplification:
Protokolllänge ℓ, t Wiederholungen ⇒ Protokolllänge t · ℓ.
Universell verwendbar nur für t = O(1), in Spezialfällen
evtl. auch größeres t tolerierbar.
637
Proposition 15.4.1:
• R0(f ) ≤ 2 · R?,1/2(f ), R?,1/2(f ) ≤ 2 · R0(f ).
(Beweis wie bei ZPP = EP“.)
”
• Für 0 ≤ ε < 1: R?,εk (f ) ≤ k · R?,ε(f ), R1,εk (f ) ≤ k · R1,ε(f ).
(k Wiederholungen, eine Nicht- ?“-Ausgabe reicht bzw.
”
k Wiederholungen, ODER über Ergebnisse)
1
2
• Für 0 ≤ ε < : R2−k (f ) ≤ ⌈(2 · ln 2) · k · (1/ε )⌉ · R1/2−ε(f ).
2
(⌈(2 · ln 2) · k · (1/ε2)⌉ Wiederholungen, Mehrheitsentscheid.)
638
Proposition 15.4.2: Für 0 ≤ ε < 1:
• R1,ε(f ) ≤ R?,ε(f ), R1,ε(f ) ≤ R?,ε(f ).
• R?,ε(f ) ≤ R1,ε(f ) + R1,ε(f ).
(Beweis wie bei ZPP = RP ∩ co-RP“.)
”
Also einfache Inklusionen analog zu TMs bei
• Las-Vegas- versus ?“-Protokollen;
”
• ?“-Protokollen versus Protokollen mit einseitigem Fehler.
”
Weitere Bemerkungen:
• CND(f ) ≤ R0(f ).
2
• Wegen C(f ) = O(CND(f ) ) (Satz 15.3.6) auch Lücke
zwischen C(f ) und R0(f ) höchstens quadratisch.
639
Hilfreiche Sichtweise für randomisierte Protokolle:
Wahrscheinlichkeitsverteilung über
deterministische Protokolle.
Sei randomisiertes Protokoll P gegeben,
Mögliche Zufallsbitstrings r1, . . . , r2ℓ ∈ {0, 1}ℓ .
Fixiere Zufallsbitsring ri → deterministisches Protokoll Pri .
2−ℓ
Pr1
2−ℓ
Pr2
2−ℓ
Pr2ℓ
640
Was bringt Randomisierung für Kommunikationsprotokolle?
Klassisches Ergebnis:
Satz 15.4.3 (Rabin / Yao 1979): R1,1/n(EQn) = O(log n).
Fehler konvergiert sogar gegen 0 mit n → ∞!
Hatten bereits in Abschnitt 15.3:
COR(EQn) = O(log n),
Protokoll:
Alice sendet i ∈ {1, . . . , n} und ai , Bob sendet [ai 6= bi ].
Dies ist auch ein randomisiertes Protokoll mit
einseitigem Fehler, aber nur beschränkt durch 1 − 1/n!
641
Beweis:
Anwendung der so genannten Fingerprinting-Methode:
• Alice und Bob vergleichen anstelle der Strings a, b
viel kürzere“ Strings h(a), h(b), Fingerabdrücke.
”
• Dann wird es a 6= b geben, für die h(a) = h(b) gilt:
Fehler! Wenn h zufällig, soll aber die Wahrscheinlichkeit
dafür klein sein.
• Aus a = b folgt natürlich h(a) = h(b),
also einseitiger Fehler wie gewünscht.
Situation wie bei universellem Hashing.
Hier allerdings vor allem kleiner Wertebereich wichtig,
dafür schwächere Schranke für Kollisionswskt. ausreichend.
642
n
Benutze Hashfunktionen hp : {0, . . . , 2 − 1} → Zp,
hp(x) := x mod p,
2
mit p ∈ {p1, . . . , pn2 }, kleinste n Primzahlen.
Hashklasse: {hp | p ∈ {p1, . . . , pn2 }}.
Behauptung: Für a 6= b gilt Prp{hp(a) = hp(b)} < 1/n.
Beweis: Es gilt
hp(a) = hp(b) ⇔ a ≡ b mod p ⇔ (a − b) ≡ 0 mod p.
Sei d := a − b. Dann ist |d | ∈ {0, . . . , 2n − 1}.
Insbesondere hat d weniger als n Primteiler
(denn: N = p1 · · · pk , p1, . . . , pk ≥ 2 ⇒ k ≤ log N).
Also weniger als n ungünstige von n2 möglichen Primzahlen. 2
643
Protokoll für EQn: Eingabe a, b ∈ {0, . . . , 2n − 1}.
• Alice wählt zufällig i ∈ {1, . . . , n2} und
sendet i und hpi (a).
• Bob sendet Ausgabe [hpi (a) 6= hpi (b)].
Fehlerschranke bereits bewiesen.
Protokolllänge:
• Primzahlsatz: pk /(k ln k) → 1 für k → ∞.
Damit folgt: pn2 = O(n2 log n).
• Protokolllänge damit höchstens
⌈log(n2)⌉ + ⌈log pn2 ⌉ = O(log n) Bits.
2
644
Determinismus versus Zufall
Frage wieder: Wie viel kann Zufall maximal einsparen?
Antwort: Selbst bei zweiseitigem Fehler höchstens
exponentielle Einsparung:
Satz: Rε(f ) = Ω(log C(f )).
Beweis: Zeige, dass C(f ) = 2
O(Rε(f ))
.
Sei randomisiertes Protokoll P mit zweiseitigem Fehler ε und
Länge ℓ = Rε(f ) gegeben.
Ziel: Derandomisierung von P .
Genauer: Deterministisches Protokoll mit Länge höchstens
Rε(f )
−1
2
· ⌈log (1/2 − ε) ⌉ + Rε(f ) .
645
1. Schritt: Deterministische Simulation.
ℓ
Protokollbaum hat Blätter v1, . . . , vk mit k ≤ 2 .
Für Blatt vi im Protokollbaum P betrachte eindeutigen Weg w
von der Wurzel zu vi .
pi = pi (a) := Wskt., dass Eingabe a von Alice und ihre
Zufallsentscheidungen konsistent zu w;
qi = qi (b) := Wskt., dass Eingabe b von Bob und seine
Zufallsentscheidungen konsistent zu w.
Dann: Pr{P erreicht auf Eingabe (a, b) Blatt vi } = pi · qi .
Protokoll: Eingabe (a, b).
• Alice sendet p1, . . . , pk .
i
h P
pi qi > 1/2 als Ausgabe, Ende.
• Bob sendet
i : vi 1-Blatt
Problem: Komplexität? Wsktn. p1, . . . , pk sind reelle Zahlen!
646
2. Schritt: Approximation mit endlicher Genauigkeit.
Alice und Bob dürfen beliebig viele Zufallsbits benutzen.
Aber wie viele können sie sinnvoll einsetzen?
−1
Idee: Alice verwendet nur r := ⌈log (1/2−ε) ⌉ +ℓ Zufallsbits,
e1, . . . , p
ek .
p1, . . . , pk → auf r Binärstellen gerundete Wsktn. p
1
1 2−ε
−(r+1)
ei − pi | ≤ 2
Rundungsfehler pro Blatt: |p
≤ ·
.
ℓ
2 2
Rundungsfehler insgesamt höchstens
X
1
X
X
1
1 ε
ei − pi | ≤
ei qi −
|p
p i qi ≤
p
−ε = − .
2 2
4 2
i
i
i
Gesamtfehler inklusive Protokollfehler ε < 1/2 also höchstens
1 ε
+ < 1/2. Damit kann Bob immer noch richtig entscheiden.
4
2
ℓ
Komplexität: kr + 1 ≤ 2 · ⌈log (1/2 − ε)
−1
⌉+ℓ .
2
647
Private versus öffentliche Zufallsbits
• Private Zufallsbits (private coins):
Bisherige randomisierte Protokolle,
Alice kennt rA, aber nicht rB , Bob umgekehrt.
• Öffentliche Zufallsbits (public coins):
ℓ
Alice und Bob kennen Zufallsbitstring r ∈ {0, 1} ,
Länge ℓ darf von Gesamteingabelänge abhängen.
pub
Komplexitätsmaße: Rε usw.
Trivial: Komplexität bei öffentlichem Zufall höchstens geringer
als bei privatem Zufall. (Spieler wählen vorab ℓ = ℓA + ℓB und
vereinbaren, dass die ersten ℓA Zufallsbits Alice gehören“, die
”
restlichen ℓB Bob.)
Achtung: Bei interaktiven Beweissystemen andersherum!
648
Öffentliche Zufallsbits können helfen. . .
pub
Satz 15.4.5: R1,1/2(EQn) ≤ 2.
Beweis: Fingerprinting-Methode.
Für r, x ∈
Zn2 :
hr (x) := hr, xi :=
n
X
ri xi mod 2.
i =1
Für öffentliches, zufälliges r ∈ Zn2 vergleichen
Alice und Bob Fingerabdrücke hr (a) und hr (b).
Protokolllänge insgesamt 2.
Das sehr wichtige Lemma“ schlägt wieder zu:
”
a 6= b ⇒ Prr {hr (a) 6= hr (b)} = Prr {ha − b, ri =
6 0} = 1/2.
Also einseitiger Fehler höchstens 1/2.
2
649
Es gilt:
R1,1/2(EQn) ≥ COR(EQn) = Ω(log n).
(Denn COR(f ) = Ω(log C(f )) für bel. f , wie früher gezeigt.)
Komplexität für öffentliche Zufallsbits kann also
um Θ(log n) Bits kleiner sein als für private.
Aber das ist der größtmögliche Unterschied. . .
650
Satz 15.4.6 (Newman 1991):
Seien f : {0, 1}n × {0, 1}n → {0, 1} und δ > 0 gegeben. Dann
gilt für 0 ≤ ε < 1/2 bzw. 0 ≤ ε < 1:
Rε+δ (f ) ≤
R1,ε+δ (f ) ≤
pub
Rε (f )
pub
R1,ε (f )
+ O(log n + log(1/δ)).
+ O(log n + log(1/δ)).
Folgerung: Für Konstanten ε mit
0 ≤ ε < 1/2 : Rε(f ) =
0≤ε<1:
R1,ε(f ) =
pub
O(Rε (f )
pub
O(R1,ε (f )
+ log n);
+ log n).
Beweis der Folgerung:
Wähle δ > 0 konstant, sodass ε + δ < 1/2 bzw. ε + δ < 1,
wende Satz 15.4.6 und Probability-Amplification an.
2
651
Beweis des Satzes:
Beide Aussagen simultan & analog beweisen.
Triviale Simulation von Protokoll mit öffentlichen
Zufallsbits durch Protokoll mit privaten Zufallsbits:
Alice sendet Bob die von ihr benutzten Zufallsbits.
Aber wie viele können das sein?
Bei randomisierten Polynomialzeit-TMs höchstens polynomiell
viele Zufallsbits. Gibt es hier etwas Ähnliches?
Erste Idee: Wie bei Derandomisierung von randomisierten
Protokollen. Approximiere Wsktn. durch Zahlen mit Binärdarstellung linearer Länge in der Protokolllänge, maximal
linear viele Zufallsbits. Das ist aber hier nicht gut genug!
652
Zeige:
Für randomisiertes Protokoll mit beschränkter Fehlerwskt.
reichen im Wesentlichen logarithmisch viele Zufallsbits.
Gegeben:
Optimales randomisiertes Protokoll mit Fehlerwskt.
höchstens ε und öffentlichem Zufallsbitstring r ∈ {0, 1}ℓ .
Plan:
• Spieler einigen sich auf feste t = O(n · (1/δ 2)) Belegungen
der Zufallsbits aus allen 2ℓ möglichen.
• Alice wählt i ∈ {1, . . . , t} privat & zufällig gleichverteilt mit
O(log n + log(1/δ)) Zufallsbits und sendet i .
• Spieler simulieren gegebenes Protokoll für i -ten
der ausgewählten Zufallsbitstrings.
653
Betrachte Fehlermatrix Z für ursprüngliches Protokoll:
r ∈ {0, 1}
(a, b) ∈
2n
{0, 1}
ℓ
Z(a, b, r)
Z(a, b, r) :=


1, falls Fehler bei Eingabe (a, b)
und Zufallsbitstring r;

0, sonst.
Fehlerwskt. ≤ ε ⇒ Anteil der Einsen pro Zeile ≤ ε;
Fehlerwskt. = 0 (bei einseitigem Fehler und f (a, b) = 0) ⇒
keine Eins in der Zeile.
Ziel: Auswahl von t Spalten (evtl. mit Wiederholungen),
sodass die entstehende Submatrix mit t Spalten
Fehlerwahrscheinlichkeit ≤ ε + δ hat.
654
Wie Spalten auswählen? Keine Idee, wie das gehen soll.
Abhilfe:
• Wähle r1, . . . , rt ∈ {0, 1}ℓ zufällig und unabhängig.
• Zeige: Pr{r1, . . . , rt geeignet} > 0.
Dann existiert feste Wahl von geeigneten r1, . . . , rt .
Methode nicht konstruktiv.
Allgemein und vielseitig einsetzbar, um Existenz
von kombinatorischen Objekten nachzuweisen.
Name: Probabilistische Methode (Erdős).
655
ℓ
Seien r1, . . . , rt ∈ {0, 1} zufällig, unabhängig gewählt:
P
1
Definiere Z := t 1≤i ≤t Z(a, b, ri ): Zufallsvariable,
die Anteil Einsen in Zeile (a, b) und Spalten r1, . . . , rt bzw.
Fehlerwskt. in neuem Protokoll für Eingabe (a, b) beschreibt.
Es gilt:
• E (Z(a, b, ri )) = Pr{Z(a, b, ri ) = 1} ≤ ε, i = 1, . . . , t.
• Für einseitigen Fehler zusätzlich:
Nullzeilen bleiben Nullzeilen, darum nicht weiter kümmern.
Damit: E Z =
t
X
1
t
i =1
E (Z(a, b, ri )) ≤ ε.
Unabh. Bernoulli-Versuche, Chernoff: Z ≈ E Z m. h. W.
656
Chernoff-Schranken:
X1, . . . , Xt unabhängige 0-1-Zufallsvariablen,
X := X1 + · · · + Xt , 0 ≤ λ ≤ 1, dann gilt:
Pr{X ≤ (1 − λ)E X } ≤ e
Pr{X ≥ (1 + λ)E X } ≤ e
−λ2E X/2
−λ2E X/3
und
.
Referenz:
Hagerup, Rüb, A guided tour of Chernoff bounds“.
”
Information Processing Letters 33:305–308, 1989.
657
Anwenden mit X := tZ, λ := δt/E X = δ/E Z (nimm δ als klein
genug an, sodass λ ≤ 1) liefert:
Pr{Z ≥ ε + δ} ≤ e
2
−δ 2t/3
Für t := ⌈(6/δ )n⌉ ist 2
−δ 2t/3
< 2
−δ 2t/3
.
≤ 2−2n. Also für alle (a, b):
n
o
t
X
1
Pr Z =
Z(a, b, ri ) ≥ ε + δ < 2−2n.
t
i =1
Damit:
o
n
t
X
1
Z(a, b, ri ) ≥ ε + δ
Pr ∃ (a, b) :
t
≤
X
i =1
(a,b)∈{0,1}2n
|
{z
o
n X
t
1
Z(a, b, ri ) ≥ ε + δ < 1.
Pr
}|
22n Summ.
t
i =1
{z
< 2−2n
}
658
Also Gegenwahrscheinlichkeit:
n
o
t
X
1
Pr ∀ (a, b) :
Z(a, b, ri ) < ε + δ > 0.
t
i =1
Und das wollten wir zeigen.
2
Wichtige Erkenntnis aus dem Beweis:
Zu beliebigem randomisierten Protokoll mit beschränkter
Fehlerwskt. existiert eins mit nur geringfügig schlechterer
Fehlerschranke der folgenden Form:
• Alice würfelt Zufallsbitstring aus, sendet diesen an Bob.
• Spieler folgen danach deterministischem Protokoll
für den festen Zufallsbitstring.
Dabei O(log n) Zufallsbits ausreichend.
659
Untere Schranken für randomisierte Protokolle
Untere Schranken für nichtdeterministischen Fall →
insbesondere auch untere Schranken für einseitigen Fehler.
Für zweiseitigen Fehler neue Ideen erforderlich.
660
Wichtigster Ansatz für Nachweis von
unteren Schranken bei randomisierten Modellen:
Yaos Minimax-Prinzip (→ Kapitel 9).
Hier in einer Form für Kommunikationsprotokolle.
Alles für zweiseitigen, beschränkten Fehler.
Idee analog zu Kapitel 9:
Randomisiertes Protokoll mit kleiner Fehlerwskt. →
deterministisches Protokoll, das für einen
kleinen Anteil der Eingaben falsch rechnet.
Name: Approximierende Protokolle.
661
Definition: f : A × B → C, p W.-Verteilung auf A × B.
Deterministisches Protokoll P ist approximierendes Protokoll
für f mit Fehlerwskt. höchstens ε bez. p, falls P höchstens auf
einem ε-Anteil der Eingaben bez. p einen von f
abweichenden Wert liefert.
Statt Verteilung über Zufallsbits also
Verteilung über Eingaben.
Definition: f : A × B → C, p W.-Verteilung auf A × B.
Cp,ε(f ) := Länge des kürzesten approximierenden Protokolls
für f mit Fehlerwskt. höchstens ε bez. p
uniform : A × B → [0, 1] sei Gleichverteilung auf den Eingaben,
d. h. uniform(a, b) := 1/|A||B| für alle (a, b) ∈ A × B.
662
Weiter mit Idee:
Randomisiertes Protokoll mit Fehlerschranke ε gegeben,
Gleichverteilung über deterministischen Protokollen P1, . . . , P2ℓ .
Betrachte wieder Fehlermatrix:
Zeilen: Eingaben, Spalten: deterministische Protokolle,
Eintrag Z(a, b, Pi ) = 1, falls Pi (a, b) 6= f (a, b), = 0 sonst.
In jeder Zeile (a, b) höchstens ε-Anteil Einsen. ⇒
Matrix hat insgesamt höchstens ε-Anteil von Einsen. ⇒
Es gibt eine Spalte Pi mit höchstens ε-Anteil von Einsen.
Also Pi approximierendes Protokoll für f mit Fehlerwskt. ≤ ε,
und Länge von Pi ≤ Länge von P .
Damit haben wir gezeigt:
Cuniform,ε(f ) ≤ Rε(f ).
663
Für Protokolle mit öffentlichem Zufall:
Beziehung Länge von randomisierten Protokollen ↔
Länge von approximierenden Protokollen in beide Richtungen.
Satz 15.4.7 (Yaos Minimax-Prinzip für
rand. Komm.-Protokolle mit öffentlichem Zufall):
pub
(1) Rε (f ) ≥ max{Cp,ε(f ) | p Verteilung auf A × B}.
pub
(2) ∀ δ > 0 : Rε+δ (f ) ≤ max{Cp,ε(f ) | p Verteilung auf A × B}.
Beweis – Teil (1):
Vorüberlegungen funktionieren auch für Protokolle
mit öffentlichem Zufall und für beliebige Verteilung
über Zeilen der Fehlermatrix.
2
Bemerkung: Einfache Richtung von Yaos-Minimax-Prinzip,
analog zur Version in Abschnitt 9.2 für Black-Box-Komplexität.
664
Für Teil (2) Erinnerung an Spieltheorie aus Kapitel 9.
Eva und Thomas spielen Zwei-Personen-Nullsummenspiel:
• Deterministische ( reine“) Strategien von Eva und Thomas
”
nummeriert mit 1, . . . , m bzw. 1, . . . , n.
• A = (ai ,j ) m × n-Auszahlungmatrix,
Auszahlung für Strategienpaar (i , j ) ist ai ,j .
Randomisierte ( gemischte“) Strategien beschrieben durch
”
n
m
X
X
m
n
yj = 1, dann:
xi =
Vektoren x ∈ [0, 1] , y ∈ [0, 1] mit
Auszahlung(x, y) =
X
i =1
j =1
ai ,j xi yj = x ⊤Ay.
1≤i ≤m,
1≤j ≤n
665
Eva kann sicherstellen, dass sie höchstens
vE = minx maxy x ⊤Ay
zahlen muss.
Dual dazu: Thomas kann sich Zahlung von mindestens
vT = maxy minx x ⊤Ay
sichern.
Minimax-Theorem besagt: vE = vT .
666
Beweis von Satz 15.4.7 – Teil (2):
Betrachte folgendes Zwei-Personen-Nullsummenspiel.
Sei ℓ := max{Cp,ε(f ) | Verteilungen p}.
• Eva wählt deterministisches Protokoll P der Länge ℓ.
• Thomas wählt Eingabe (a, b).
• Eva zahlt an Bob 1 e, falls P auf (a, b)
einen Fehler macht, und sonst nichts.
Für jede randomisierte Strategie y von Thomas
(W.-Verteilung über den Eingaben) existiert
deterministische Strategie x für Eva (deterministisches
Protokoll), sodass sie im Durchschnitt ≤ ε e zahlt.
⊤
⇒ vT = maxy minx x Ay ≤ ε (A Auszahlungsmatrix).
667
Minimax-Theorem ⇒
vE = minx maxy x ⊤Ay = vT (≤ ε).
Es gibt damit eine randomisierte Strategie x für Eva
(also ein randomisiertes Protokoll der Länge ≤ ℓ),
die für jede randomisierte Strategie y von Thomas, also
auch speziell für jede deterministische Strategie
(Eingabe (a, b)) eine Auszahlung von ≤ ε e garantiert.
Mit öffentlichen Zufallsbits wird dadurch ein
gemeinsam benutzbares Protokoll – fast:
Das Protokoll kann Wahrscheinlichkeiten wie 1/3 vorsehen,
die können wir nur approximieren, daher Fehlerwskt. ≤ ε + δ.
2
668
Anwendung von Yaos Minimax-Prinzip:
• Teil (1) für Nachweis von unteren Schranken:
Wir erhalten untere Schranken für randomisierte Protokolle,
indem wir approximierende Protokolle bei beliebiger (clever
gewählter) Verteilung auf der Eingabemenge untersuchen.
• Teil (2) zeigt, dass wir (im Prinzip, rein theoretisch)
die bestmöglichen Schranken so erhalten können.
Yaos Minimax-Prinzip liefert noch keine vollständige
Beweismethode, nur leichter untersuchbare Protokolle.
669
Die Diskrepanzmethode
Betrachte Funktion f und Gleichverteilung auf den Eingaben.
Zeige, dass jedes Rechteck im Eingaberaum von f
• entweder nur wenige Eingaben abdeckt oder
• ungefähr gleich viele Eingaben aus
−1
−1
f (0) und f (1) abdeckt.
Egal, wie das Rechteck im zweiten Fall gefärbt wird:
Fehlerwskt. bei der Berechnung von f , bezogen
auf Gleichverteilung über Eingaben im Rechteck, ist ≈ 1/2.
Ein approx. Protokoll für f bez. Gleichverteilung enthält dann
entweder viele Rechtecke oder hat Fehlerwskt. ≈ 1/2.
670
Definition: f : A × B → {0, 1}, Verteilung p auf A × B.
• Für R ⊆ A × B:
Diskrepanz von R (bez. f und p):
Discp,f (R) := |p(R ∩ f −1(1)) − p(R ∩ f −1(0))|.
• Diskrepanz von f (bez. p):
Discp(f ) := max{Discp,f (R) | R ⊆ A × B Rechteck}.
Satz 15.4.8:
f : A × B → {0, 1}, p Verteilung auf A × B, 0 < ε ≤ 1/2:
Cp,1/2−ε(f ) ≥ log(1/Discp(f )) − log(1/ε) + 1.
Insbesondere: Diskrepanz exponentiell klein ⇒
lineare Kommunikationskomplexität erforderlich.
671
Beweis:
Betrachte det. Protokoll mit Fehler höchstens 1/2 − ε
bez. p und minimaler Länge ℓ = Cp,1/2−ε(f ).
• Sei Rv Rechteck zu Blatt v des Protokollbaumes.
Protokoll deterministisch ⇒
Partition von A × B in höchstens 2ℓ Rechtecke Rv , v Blatt.
• E + := {(a, b) | Prot. korrekt auf (a, b)}, E − := (A × B) − E +.
Dann p(E −) ≤ 1/2 − ε und somit p(E +) ≥ 1/2 + ε.
Vorteil des Protokolls:
+
−
p(E ) − p(E ) ≥ 2ε.
Idee:
Vorteil groß ⇒
Summe der Diskrepanzen über alle Rechtecke groß.
Wenige Rechtecke ⇒ ∃ Rechteck mit großer Diskrepanz.
672
−
+
2ε ≤ p(E ) − p(E )
X
=
(p(E + ∩ Rv ) − p(E − ∩ Rv ))
v Blatt
≤
(siehe oben)
(Rechtecke Rv , v Blatt,
Partition von A × B)
(trivial)
X
|p(E ∩ Rv ) − p(E ∩ Rv )|
X
|p(f −1(1) ∩ Rv ) − p(f −1(0) ∩ Rv )|
v Blatt
+
−
Rv 1-Rechteck ⇒ E + ∩ Rv = f −1(1) ∩ Rv , E − ∩ Rv = f −1(0) ∩ Rv ,
analog für 0-Rechtecke. Einsetzen:
=
v Blatt
=
X
Discp,f (Rv )
(Definition von Discp,f )
v Blatt
≤ 2ℓ · Discp(f )
⇒ ℓ ≥ log(2ε) − log Discp(f )
= log(1/Discp(f )) − log(1/ε) + 1
(≤ 2ℓ Summanden,
jeder ≤ Discp(f ))
2
673
Anwendung der Methode:
Satz 15.4.9 (Chor und Goldreich 1985):
pub
Für 0 < ε ≤ 1/2: R1/2−ε(IPn) ≥ n/2 − log(1/ε) + 1.
Beweis:
Benutze Yaos Minimax-Prinzip und Diskrepanzmethode.
• Verteilung auf {0, 1}2n: Gleichverteilung, uniform“.
”
• Trick: In der Kommunkationsmatrix 0 → +1 und 1 → −1.
Neue Kommunikationsmatrix Hn, Hadamardmatrix:
Hn(a, b) = (−1)IPn(a,b),
a, b ∈ {0, 1}n.
Vorteil: Diskrepanz lässt sich algebraisch ausdrücken.
674
Sei R = A × B ein beliebiges Rechteck. Dann:
Discuniform,IP
n (R)
Definition = {(a, b) ∈ A × B | Hn(a, b) = 1} −
2n
{(a, b) ∈ A × B | Hn(a, b) = −1} 2
X
2n
=
Hn(a, b) 2
(a,b)∈A×B ⊤
= eA · Hn · eB 22n, eA, eB charakteristische
Vektoren von A und B.
(3/2)n
⊤
.
Zeige: |eA HneB | ≤ 2
Dann: Discuniform(IPn) ≤ 2(3/2)n/22n = 2−n/2 und
pub
(15.4.7)
R1/2−ε(IPn) ≥ Cuniform,1/2−ε(IPn)
(15.4.8)
≥ log(1/Discuniform(IPn)) − log(1/ε) + 1
= n/2 − log(1/ε) + 1. (Beh.)
675
Kurzer Exkurs in die Matrixtheorie:
Sei A eine quadratische, reelle Matrix.
Dann gilt:
⊤
A A symmetrische Matrix, lauter nichtnegative Eigenwerte.
Definition:
√
kAk2 := max{ λ | λ Eigenwert von A⊤A}, Spektralnorm von A.
Fakt:
Für reelle Vektoren x von passendem Format:
kAxk2 ≤ kAk2 · kxk2,
wobei kxk2 euklidische Norm von x.
676
Behauptung: kHnk2 = 2n/2.
Beweis der Behauptung:
Erinnerung: Hn⊤ · Hn = 2n · In, In 2n × 2n-Identitätsmatrix.
Matrix 2n · In hat 2n-fachen Eigenwert 2n (trivial).
Also kHnk2 = 2n/2.
(Beweis der Behauptung)
2
677
⊤
Immer noch zu zeigen: |eA HneB | ≤ 2
(3/2)n
.
Es ist keAk2 = |A|1/2 und keB k2 = |B|1/2.
Damit:
|e⊤A · HneB | ≤ keAk2 · kHneB k2
≤ keAk2 · kHnk2keB k2
(Cauchy-Schwarz)
(Fakt)
≤ |A|1/2 · 2n/2 · |B|1/2
≤ 2n/2 · 2n/2 · 2n/2
= 2(3/2)n.
2
Gezeigt: Skalarprodukt über Z2 hat lineare Komplexität bei
zweiseitigem Fehler selbst dann, wenn nur exponentiell
kleiner Abstand zu 1/2.
678
Fazit:
Wir haben ein Reservoir von Methoden für
untere Schranken für die Länge von
deterministischen / nichtdeterministischen / randomisierten
Kommunikationsprotokollen.
Nun einige Anwendungen.
679
15.5 Kommunikationskomplexität und VLSI-Schaltkreise
Definition: VLSI-Schaltkreis
b
x3
ℓ
x1
x2 x4
x5
x6
x7
y x8
• Rechteckige Anordnung von Zellen,
jede kann ein Bit speichern.
• In einem Zeittakt: Zellen verarbeiten
gespeichertes Bit, Ergebnisbit an
Teilmenge der Nachbarzellen.
• Über Verbindung nur ein Bit pro Takt.
• Ein- und Ausgabe über
spezielle Zellen.
Fläche A = b · ℓ, T Anzahl Zeittakte.
Komplexitätsmaß: AT 2
680
Beobachtung:
Für beliebige Teilmenge W der Variablen existiert Schnitt
der
Länge ≤ ℓ + 1, sodass links und rechts höchstens |W |/2
Eingabezellen für Variablen in W .
1/2
O. B. d. A.: ℓ ≤ b und daher ℓ ≤ A .
Kommunikation über Schnitt pro Zeittakt ≤ ℓ + 1 Bits.
Alice und Bob benutzen Chip und simulieren die Rechnung
auf beiden Seiten des Schnittes und simulieren den
Bitaustausch durch Kommunikation. Protokoll bezüglich
der Eingabepartition durch Schnitt.
C(f ) ≤ (ℓ + 1) · T + 1 (+1 für Austausch des Ergebnisses)
≤ (A1/2 + 1) · T + 1 = O(A1/2 · T ).
681
Damit gezeigt:
Satz: Für beliebige Teilmenge W der Eingabevariablen
von f und Kommunikationsprotokolle mit balancierter Partition
bez. W gilt AT 2 = Ω(C(f )2).
Unsere früheren Ergebnisse liefern also z. B.:
Satz 15.6.1:
VLSI-Schaltkreise für MULn erfüllen AT 2 = Ω(n2).
682
15.6 Kommunikationskomplexität und Turingmaschinen
Satz: Jede k-Band-TM mit Zeit t(n) kann durch eine 1-BandTM mit Zeit O(t(n)2) simuliert werden (d. h. selbes Akzeptanzverhalten bzw. selbe berechnete Funktion).
Beweisskizze:
• Simulierende TM benutzt k Spuren für Inhalte der k Bänder
der simulierten TM.
• Kopfbewegungen durch Verschieben der kompletten
Bandinhalte in den jeweiligen Spuren, Länge jeweils
höchstens t(n).
2
683
Nun: Das geht nicht besser.
n
n
Für f = (fn) mit fn : {0, 1} × {0, 1} → {0, 1} sei
L∗f := {a c b | |a| = |c| = |b|, a, b ∈ {0, 1}∗, c ∈ {2}∗
und f|a|(a, b) = 1 }.
(Dabei bezeichnet | · | wieder die Stringlänge.)
684
Bemerkung 15.7.1:
Für L∗EQ gibt es eine 2-Band-TM mit Zeit O(n).
Beweis:
∗
∗
∗
• Teste, ob Eingabe aus {0, 1} {2} {0, 1} und
teste auf zwei Bändern, ob die 0-1-Teile gleich lang sind.
• Falls ja, schreibe hinteren 0-1-Teil auf Band 2
und eliminiere Zweien.
• Teste, ob Inhalt von Band 1 = Inhalt von Band 2“.
”
2
685
Satz 15.7.3: Jede 1-Band-TM für L∗EQ braucht Zeit Ω(n2).
Dazu benutzen:
∗
Satz 15.7.2: Sei M 1-Band-TM für Lf ,
die mit Zeit t(n) auskommt, dann gilt:
t(3n) pub
R0 (fn) = O
.
n
Anwendung für fn = EQn:
pub
2
Satz 15.7.2 liefert: t(n) = Ω(n · R0 (EQn/3)) = Ω(n ).
Wir haben:
(triv.)
COR(EQn) ≥ n ⇒ R1,2/3(EQn) ≥ n
Damit folgt
pub
R0 (EQn)
(Newman)
⇒
pub
R1,1/2(EQn) = Ω(n).
= Ω(n) und Satz 15.7.3.
686
Beweis von Satz 15.7.2:
1-Band-TM M für L∗f mit Rechenzeit höchstens t(n) gegeben.
Alice kennt a ∈ {0, 1}n, Bob b ∈ {0, 1}n,
wollen fn(a, b) berechnen.
Spieler simulieren M auf der Eingabe w = a 2
. . . 2} b.
| 2{z
n-mal
Preprocessing:
Mit öffentlichen Zufallsbits wird i ∈ {0, . . . , n}
zufällig gleichverteilt gewählt.
0
n n+1
2n 2n+1
a1 . . . an 2 2 . . . . . . 2 b1
|
{z
}
Schnitt nach n + i Zellen
3n
...
bn
687
Simulation:
Alice zu Anfang aktiver Spieler.
Aktiver Spieler simuliert TM, bis das nächste Mal
Schnitt überschritten. Sendet dann aktuellen Zustand q
mit O(1) Bits. Danach anderer Spieler aktiv.
Dies wird fortgesetzt, bis TM stoppt.
Dann kennt aktiver Spieler Ergebnis und sendet es.
Offensichtlich Las-Vegas-Protokoll, uns interessiert
erwartete Protokolllänge über zufällige Wahl der Schnitte.
688
Analyse der erwarteten Protokolllänge:
zi := zi (a, b) := Anzahl der Rechenschritte, bei denen M
den Schnitt für i ∈ {0, . . . , n} überschreitet.
Pro Schritt wird maximal ein möglicher Schnitt überschritten.
Es gibt höchstens t(3n) Rechenschritte. Damit:
z0 + z1 + · · · + zn ≤ t(3n) ⇒
(z0 + z1 + · · · + zn)/(n + 1) ≤ t(3n)/n.
Erwartete Anzahl Nachrichten mit einem Zustand ≤ t(3n)/n,
jeweils O(1) Bits, eine 1-Bit-Nachricht am Schluss:
Insgesamt erwartete Protokolllänge O(t(3n)/n).
2
689
16. Die Komplexität boolescher Funktionen
16.1 Grundlegende Überlegungen
Modelle:
Schaltkreise und Branchingprogramme
mit und ohne Einschränkungen.
Probleme:
Funktionenfolgen fn : {0, 1}n → {0, 1}m, meistens m = 1.
690
Ziel wie immer:
Komplexität von booleschen Funktion bestimmen.
• Obere Schranken:
Oft: Simulation von effizientem Algo. im gewählten Modell.
• Untere Schranken:
Wichtig: Neue Methoden kennen lernen.
Untere Schranken in zwei Geschmacksrichtungen“:
”
• Entscheidungsprobleme / Fktn. mit einem Ausgabebit:
Beispiel: MULn.
• Funktionen mit mehreren Ausgabebits:
Beispiel: n-Bit-Multiplikation.
Letztere typischerweise einfacher zu zeigen.
691
Erinnerung: Jede Funktion {0, 1}n → {0, 1} durch Schaltkreise
mit exponentieller Größe in n darstellbar.
Erstaunlicherweise nicht schwer zu zeigen:
Es gibt Funktionen, für die jeder Schaltkreis exponentielle
Größe hat. Sogar: Dies gilt für fast alle Funktionen.
Methode: Abzählmethode von Shannon
2n
n
• Es gibt 2 Funktionen f : {0, 1} → {0, 1}.
• Es gibt 2O(s log(s+n)) boolesche SKs mit s Bausteinen:
Pro Baustein:
22
– 2 = 16 binäre boolesche Operationen;
– höchstens s + n + 1 mögliche Vorgänger
(s − 1 Bausteine + Eingabebits + Konstanten 0, 1).
O(s log(s+n))
2 s
=2
Schaltkreise.
Also ≤ 16 · (s + n + 1)
692
Sei 2c·s log(s+n) obere Schranke für Anzahl Schaltkreise
der Größe s, c > 0 geeignete Konstante.
Falls alle Funktionen Schaltkreis der Größe s haben:
2n
c·s log(s+n)
2 ≤ 2
n
2 ≤ c · s log(s + n).
′
n
Nicht mehr erfüllt für s = c · 2 /n,
′
c > 0 hinreichend kleine Konstante und n hinreichend groß:
′
n
′
n
c · s log(s + n) = c c · 2 /n · log c · 2 /n + n
′
n
2n
≤ c c · 2 /n · log 2 /n
≤ 2 c c′ · 2n.
′
n
Also gibt es Funktion, für die Schaltkreise mehr als c · 2 /n
Bausteine enthalten müssen.
693
Genauer kann man zeigen:
n
Für Funktionenfolgen (fn), fn : {0, 1} → {0, 1}, gilt:
n
• Fast alle (fn) erfordern SK-Größe s(n) ≥ (2 /n)(1 − o(1)).
• Für jede Folge (fn) reicht SK-Größe s(n) ≤ (2n/n)(1 + o(1)).
Also: Fast alle Funktionen haben maximale Schaltkreisgröße!
Was wollen wir dann noch?
Nur Existenzbeweis. Fast alle“ Funktionen uninteressant,
”
in der Praxis vorkommende Funktionen haben starke Struktur.
Formal greifbarer: Uns interessieren f = (fn) mit Lf ∈ NP.
Nenne solche Funktionen explizit definiert.
694
Ziele im Großen Wettbewerb der KT“:
”
• Jagd nach Unteren-Schranken-Rekorden:
Größte bekannte Schranke in einem als
wichtig akzeptierten Modell.
• Entwicklung von Methoden für untere Schranken.
• Schranken für wichtige“, natürliche“ Funktionen.
”
”
• Schranken für immer allgemeinere Modelle.
695
16.2 Die Größe von Schaltkreisen
Definition: f : {0, 1}n → {0, 1} hängt essenziell von xi ab,
falls f|xi =0 6= f|xi =1.
Bemerkung:
Falls f von n Variablen essenziell abhängt, gilt C(f ) ≥ n − 1.
(Hier C(f ) Schaltkreiskomplexität.)
Beweis:
Schaltkreis ist zusammenhängender Graph mit
mindestens n Eingängen und einem Ausgang.
Also mindestens n − 1 innere Knoten (= Bausteine).
2
696
Schrankenrekord für Größe allgemeiner Schaltkreise
und explizit definierte Funktionen: 3n − O(log n) (seit 1984).
Nur wenige (2 + ε)n-Schranken, ε > 0.
Für all diese Schranken benutzt:
Methode: Bausteineliminierung (gate elimination)
Ersetze geeignete Variable xi durch geeignete
Konstante c ∈ {0, 1}, sodass
• viele“ Bausteine überflüssig werden und
”
• Funktion f|xi =c induktiv weiterbehandelt werden kann.
Bei Schranken (2 + ε)n, ε > 0, auch
Einfluss über lange Distanzen.
697
Hier Beispielanwendung mit Schranke 2n.
Definition:
Definiere T≥k,n, T≤k,n : {0, 1}n → {0, 1} durch
T≥k,n(x) = [x1 + · · · + xn ≥ k], analog T≤k,n.
Name: Positive bzw. negative Thresholdfunktion.
(Positive bzw. negative Schwellwertfunktion.)
Satz 16.2.1: C(T≥2,n) ≥ 2n − 3.
Beweis: Induktion über n.
n = 2: T≥2,2(x) = x1 ∧ x2.
Offensichtlich mindestens ein Baustein erforderlich.
698
n − 1 → n:
Sei S optimaler Schaltkreis für T≥2,n.
Sei G1 Baustein mit zwei Eingabevariablen an den Eingängen
(muss es geben, sonst kann Schaltkreis nicht korrekt sein).
xi xj
Es ist i 6= j , sonst Fkt. aus {xi , x i , 0, 1} berechnet.
G1
Dann G1 überflüssig: Für xi , 0, 1 klar, für x i :
Negation in Nachfolger hineinziehen.
G
G1 realisiert eine der 10 Funktionen, die von beiden
Eingängen essenziell abhängen (sonst wieder G1 überflüssig):
1. Fall: (xia ∧ xjb)c
oder 2. Fall: (xi ⊕ xj )c,
a, b, c ∈ {0, 1}.
Dabei für boolesche Funktion h: h1 := h und h0 := h.
699
Behauptung: Mindestens eine der beiden Variablen xi , xj
hat in S Ausgangsgrad mindestens zwei.
Beweis der Behauptung: Annahme, dies gilt nicht.
b c
a
1. Fall: (xi ∧ xj ) .
Für xj = b ergibt sich 0c und Funktion von xi unabhängig,
aber T≥2,n |x =b ∈ {T≥2,n−1, T≥1,n−1} und von xi ess. abh.
j
2. Fall: (xi ⊕ xj )c.
Wir erhalten für xi = xj = 0 und xi = xj = 1 dieselbe
Subfunktion, aber T≥2,n |x =x =1 = 1 und
i
j
T≥2,n |x =x =0 = T≥2,n−2 6= 1.
(Bew. der Beh.)
i
j
2
700
O. B. d. A. werde xi mindestens zweimal benutzt. Situation:
xj
G1
xi
g
G2
Setze xi := 0:
• G1 berechnet 0, 1, xj oder x j ;
• G2 berechnet 0, 1, g oder g.
Beide Bausteine eliminieren, Berechnung in
Nachfolger integrieren.
Resultierende Funktion: T≥2,n |x =0 = T≥2,n−1.
i
Nun C(T≥2,n) ≥ C(T≥2,n−1) + 2
Ind.-Vor.
≥
2(n − 1) − 3 + 2 = 2n − 3. 2
701
Fazit:
Größe von allgemeinen Schaltkreisen bisher
nur ungenügend verstanden.
Bessere Ergebnisse für monotone Schaltkreise:
Definition:
• Monotoner Schaltkreis ist Schaltkreis über der Basis {∧, ∨}.
• Für a = (a1, . . . , an), b = (b1, . . . , bn) ∈ {0, 1}n definiere
a ≤ b :⇔ ∀ i : ai ≤ bi .
Boolesche Funktion f heißt monoton, falls f (a) ≤ f (b)
für alle Eingaben a, b mit a ≤ b gilt.
Monotone Schaltkreise können genau die monotonen
booleschen Funktionen berechnen (hier ohne Beweis).
702
Methoden und Schranken für monotone Schaltkreise:
• Bausteineliminierung:
Ω(n3/2) für fn : {0, 1}n → {0, 1}n;
• Maß für Fortschritt der Rechnung an jedem Baustein:
2
n
n
Ω(n / log n) für fn : {0, 1} → {0, 1} .
(Wegener 1982)
• Approximatives Maß für Fortschritt:
Exponentielle Schranken z. B. für Cliquen-Problem.
Razborov (’85): 2
Ω(log2 n)
; Alon, Boppana (’85): 2
Ω(n1/6−ε)
703
16.3 Die Tiefe von Schaltkreisen
Erinnerung: D(f ) = minimale Tiefe eines Schaltkreises für f .
Bereits in Kapitel 14: Boolesche Formeln sind spezielle
boolesche Schaltkreise, die graphentheoretisch Bäume sind
(alle Bausteine haben Ausgangsgrad 1).
Definition: Für boolesche Funktion f definiere
L(f ) := minimale Größe einer booleschen Formel für f ,
Formelgröße von f .
Bemerkung 16.3.1: D(f ) ≥ ⌈ log(L(f ) + 1)⌉.
Beweis: Formeln sind binäre Bäume mit L(f ) inneren Knoten,
also L(f ) + 1 Blättern.
2
704
Satz von Spira (1971):
D(f ) = O(log L(f )). (Ohne Beweis.)
Also: D(f ) = Θ(log L(f )).
Damit Untersuchung der Formelgröße motiviert.
Bemerkung: Falls f von n Variablen essenziell abhängt,
gilt L(f ) ≥ n − 1 und D(f ) ≥ ⌈log n⌉.
Schrankenrekord für L(f ) seit 1966: Ω(n2/ log n), damit
Schrankenrekord für D(f ): 2 log n − log log n − O(1).
705
Die Methode von Nechiporuk
Idee: Funktion hat kleine Formel ⇒
Funktion hat nicht viele verschiedene Subfunktionen.
Satz 16.3.2 (Nechiporuk 1966):
• f : {0, 1}n → {0, 1}, Variablenmenge X = {x1, . . . , xn}.
• Seien S1, . . . , Sk ⊆ X disjunkte Mengen von Variablen,
von denen f essenziell abhängt.
• Sei si die Anzahl verschiedener Subfunktionen von f auf Si ,
wenn wir alle Konstantsetzungen der Variablen aus X − Si
betrachten.
1 X
(log si + 2) − 1.
Dann gilt: L(f ) ≥
4
1≤i ≤k
706
Beweis:
Sei eine Formel für f gegeben.
Sei ti die Anzahl der Blätter, die Variablen aus Si sind.
Zeige: ti ≥ (1/4) · (log si + 2), i = 1, . . . , k.
Damit folgt die Behauptung (dort zusätzlich −1, da
Anzahl innerer Knoten um 1 kleiner als Anzahl Blätter).
Sei Wi Menge der inneren Knoten, für die es im
linken und rechten Teilbaum Si -Blätter gibt.
707
Beispiel:
x1
x2
x3
x4
x4
x1
x3
x2
11
00
00
11
00
11
11 Von
00
00
11
00
11
Blättern in S1 := {x1, x2}
induzierter, reduzierter Teilbaum.
00= Knoten in W .
11
00
11
1
00
11
11
00
00
11
00
11
00
11
x1
x2
x3
x4
x4
x1
x3
x2
111
000
000
111
000
111
11
00
00
11
00
11
00
11
11
00
00
11
00
11
00
11
Von Blättern in S2 := {x3, x4}
induzierter, reduzierter Teilbaum.
000= Knoten in W .
111
000
111
2
000
111
708
Jetzt formal:
Sei wi := |Wi |. Dann ist wi = ti − 1:
Durch Si induzierter, reduzierter (binärer) Teilbaum hat
ti Blätter und wi innere Knoten.
Betrachte Wege im ursprünglichen Baum folgender Bauart:
• Start an Si -Blatt oder Wi -Knoten;
• Ende an Wi -Knoten oder Wurzel des Baumes;
• dazwischen kein Wi -Knoten.
(Diesen Wegen entsprechen also Kanten
im von Si induzierten, reduzierten Teilbaum.)
Sei pi die Anzahl dieser Wege.
709
Es ist pi ≤ 2wi + 1, denn:
An jedem Wi -Knoten kommen nur zwei Pfade an und
falls Wurzel kein Wi -Knoten, dort ein weiterer Pfad.
Was kann an so einem Pfad passieren, wenn Variablen
aus X − Si konstant gesetzt werden?
Am Start Funktion g, dann nur Einfluss durch Konstanten, also
am Ende 0, 1, g oder g, nur vier Optionen!
si ≤ 4
pi
2wi +1
≤ 4
2t −1
= 4 i
= 24ti −2
(da pi ≤ 2wi + 1)
(da wi = ti − 1)
⇒ log si ≤ 4ti − 2
⇒ ti
≥ (1/4) · (log si + 2).
g
11Wi -Knoten
00
00
11
00
11
Konstante
kein Wi -Knoten
11
00
00 Wi -Knoten
11
00
11
2
710
Wie groß kann die Schranke maximal werden?
Für alle i = 1, . . . , k:
• si ≤ 2
• si ≤ 2
2|Si |
(mehr Subfunktionen auf Si gibt es nicht);
n−|Si |
(mehr Konstantsetzungen der Variablen
in X − Si gibt es nicht).
o
n |S |
X
i
log min 22 , 2n−|Si | → max für S1, . . . , Sk disjunkt.
1≤i ≤k
2
Analysis → Maximum = O(n / log n).
Lässt sich tatsächlich für konkrete Funktion realisieren. . .
711
Modell der indirekten Adressierung:
Definition: ISA (indirect storage access)
Variablen: x0, . . . , xn−1, n = 2m;
y0, . . . , yk−1, k = m − ⌊log m⌋.
Für i = 0, . . . , n/m − 1: i -ter x-Block,
x(i ) := (xi m, . . . , xi m+m−1) (Länge m).
1. y → |y|.
2. Falls 0 ≤ |y| ≤ ⌊n/m⌋ − 1:
x(|y|) = (x|y|m, . . . , x|y|m+m−1) → |x(|y|)|,
ISAn(x, y) := x|x(|y|)|.
(indirekte Adresse)
(direkte Adresse)
Sonst (|y| ≥ ⌊n/m⌋): ISAn(x, y) := 0.
712
Satz 16.3.3: L(ISAn) = Ω(n2/ log n).
(⇒ D(ISAn) ≥ 2 log n − loglog n − O(1)).
Beweis: Für i = 0, . . . , n/m − 1 definiere
Si := {xi m, . . . , xi m+m−1}, Variablen des i -ten x-Blockes.
Untere Schranke für Anzahl Subfunktionen auf Si :
• Fixiere y so, dass |y| = i , dann mit Si -Variablen
(direkte Adresse) noch beliebige x-Variablen adressierbar.
• Jede Belegung der n − m Variablen in x außerhalb von
Si liefert daher eine neue Subfunktion.
Damit für i = 0, . . . , n/m − 1:
n−m
si ≥ 2
und log si ≥ n − m = n − log n = Ω(n).
Also untere Schranke n/m · Ω(n) = Ω(n2/ log n).
2
713
Bisher keine besseren Ergebnisse für Formelgröße bekannt.
Erst recht also keine superlogarithmischen Schranken
für Schaltkreistiefe.
Jetzt weitere Methode, mit der es zumindest im
Prinzip möglich ist, bessere Ergebnisse zu erhalten:
Charakterisierung von Schaltkreistiefe mit Hilfe
von Kommunikationskomplexität.
Damit immerhin: Für monotone Schaltkreise lineare
untere Schranken, also asymptotisch bestmöglich.
714
Kommunikationskomplexität und die Tiefe von
Schaltkreisen (Karchmer, Wigderson 1988)
Definition 16.3.4: Zu f : {0, 1}n → {0, 1} definiere
Relation Rf ⊆ {0, 1}n × {0, 1}n × {1, . . . , n}:
• Für Eingaben (a, b) mit a ∈ f −1(1), b ∈ f −1(0):
(a, b, i ) ∈ Rf :⇔ ai 6= bi , i ∈ {1, . . . , n}.
• Eingaben (a, b) mit a ∈
/ f −1(1) oder b ∈
/ f −1(0) illegal.
Beachte: Für a ∈ f −1(1) und b ∈ f −1(0) gilt a 6= b,
also existiert immer eine Lösung i mit ai 6= bi .
715
Relation Rf mit Kommunikationsprotokollen berechnen.
Ziel: Zshg. Kommunikationskomplexität ↔ SK-Tiefe.
Variante unseres Schaltkreismodells:
Eingaben: x1, x2, . . . , xn, x 1, x 2 . . . , x n, 0, 1;
Bausteine: AND, OR.
Tiefe von modifizierten SKs für f sei D ∗(f ).
Bemerkung: D(f ) − 1 ≤ D ∗(f ) ≤ 2 · D(f ).
716
Beweis:
D(f) ≤ D∗(f) + 1:
Simulation durch Standard-SK: x i mit einem zusätzlichen
Baustein, Tiefe höchstens um 1 größer.
D∗(f) ≤ 2 · D(f):
Simulation Standard-SK → modifizierter SK:
Beliebiger Baustein mit zwei Eingängen:
Baustein (x a ∧ y b)c oder (x ⊕ y)c, a, b, c ∈ {0, 1}.
1. EXOR-Bausteine eliminieren:
x y
x y
x y
Tiefe wächst
−→
∧
∧
maximal um Faktor 2
⊕
∨
2. De-Morgan-Regeln → NOT-Bausteine zu den Eingängen.
2
717
∗
Satz 16.3.5: D (f ) = C(Rf ).
Beweis: O. B. d. A. f nicht konstant und Rf 6= ∅ (sonst trivial).
C(Rf ) ≤ D∗(f):
Simulation Schaltkreis für f → Protokoll für Rf .
∗
Alice und Bob kennen beide Schaltkreis für f mit Tiefe D (f ).
AND-Bausteine gehören“ Bob, OR-Bausteine Alice.
”
Ziel: Spieler wollen Weg im Schaltkreis vom Ausgabebaustein
zu einer Eingabe xi oder x i verfolgen, sodass i korrekte
Ausgabe ist, Kommunikation 1 Bit pro Ebene.
718
Genauer:
Betrachte Eingaben a ∈ f −1(1) und b ∈ f −1(0).
Spieler suchen Weg, sodass für jede Funktion g am Ausgang
eines Bausteines auf dem Weg gilt: g(a) = 1 und g(b) = 0 .
• Dies gilt am Ausgabebaustein, da a ∈ f −1(1) und b ∈ f −1(0).
• Falls dies an der Eingabe gilt, ist
xi (a) = ai = 1 und xi (b) = bi = 0 oder
x i (a) = ai = 1, also ai = 0, und x i (b) = bi = 0, also bi = 1,
d. h. Ziel erreicht.
• Der Fall, dass eine Konstante als Eingabe erreicht wird,
kann nicht auftreten, wenn die obige Bedingung erfüllt ist.
Wie wählen die Spieler den Weg rückwärts?
719
1. Fall: OR-Baustein.
g1 g2
∨
g
g(b) = 0 ⇒ g1(b) = 0 und g2(b) = 0, d. h.,
beide Vorgänger geeignet.
g(a) = 1 ⇒ g1(a) = 1 oder g2(a) = 1, d. h.,
es gibt einen geeigneten Vorgänger.
Alice kann geeigneten Vorgänger auswählen und Bob darüber
mit einem Bit informieren.
2. Fall: AND-Baustein.
(g1(a) = 1 und g2(a) = 1) und (g1(b) = 0 oder g2(b) = 0).
Bob wählt Vorgänger und informiert Alice mit einem Bit.
Illegale Eingaben: Spieler finden evtl. keinen passenden
Vorgänger, dann irgendeinen wählen.
720
D∗(f) ≤ C(Rf ):
Simulation Protokollbaum → Formel gleicher Tiefe.
Konstruktion der Formel:
Protokollbaum um 180 ◦ drehen“.
”
• Alice-Knoten
−→
• Bob-Knoten
−→
• Blatt mit Ausgabe i ∈ {1, . . . , n} =
b
Rechteck, legale Eingaben (a, b) mit
ai = 1, bi = 0
−→
ai = 0, bi = 1
−→
OR-Baustein;
AND-Baustein;
Eingabe xi ;
Eingabe x i .
Erhalte so Formel gleicher Tiefe wie Protokollbaum.
721
Noch zu zeigen: Formel berechnet f .
Zeige folgende stärkere
Behauptung:
Für einen Knoten v im Protokollbaum sei Rv = Av × Bv das
Rechteck mit den legalen Eingaben, die an v ankommen,
−1
−1
wobei Av ⊆ f (1) und Bv ⊆ f (0). Dann wird in der Formel
am Ausgang des Bausteins v eine Funktion gv berechnet mit
gv (a) = 1 für a ∈ Av und gv (b) = 0 für b ∈ Bv .
722
Diese stärkere Behauptung bedeutet für die Wurzel r:
Rr = A × B = f −1(1) × f −1(0), also
gr (a) = 1 für a ∈ f −1(1), gr (b) = 0 für b ∈ f −1(0),
also gr = f .
Also berechnet Formel tatsächlich f .
Beweis der Behauptung:
Strukturinduktion von Blättern zur Wurzel.
Induktionsanfang, v Blatt:
Per Konstruktion korrekt.
723
Induktionsschritt:
1. Fall: v Alice-Knoten /
OR-Baustein.
0
v1
A
gv2
gv1
v
1
v2
−→
∨
gv = gv1 ∨ gv2
Erinnerung: Rv = Av × Bv Menge der legalen Eingaben,
die im Protokollbaum an v ankommen.
Da Alice im Protokoll sendet:
Bv1 = Bv2 = Bv und Av1 und Av2 bilden Partition von Av .
Induktionsvoraussetzung anwenden:
(a, b) ∈ Av1 × Bv1 ⇒ gv1 (a) = 1, gv1 (b) = 0;
(a, b) ∈ Av2 × Bv2 ⇒ gv2 (a) = 1, gv2 (b) = 0.
⇒ gv (a) = gv1 (a) ∨ gv2 (a) = 1 für alle a ∈ Av = Av1 ∪ Av2 ;
gv (b) = gv1 (b) ∨ gv2 (b) = 0 für alle b ∈ Bv = Bv1 = Bv2 .
2. Fall: v Bob-Knoten / AND-Baustein. Argumente dual.
(Bew. der Beh. und des Satzes)
2724
Was ist bei monotonen Schaltkreisen anders?
Simulation Schaltkreis → Protokoll:
Eingaben x 1, x 2, . . . , x n im Schaltkreis verboten.
Alice und Bob und Bob treffen stets auf ein xi , d. h.,
für Eingaben (a, b) ∈ f −1(1) × f −1(0) gilt ai = 1 und bi = 0.
n
n
Spieler realisieren Relation Mf ⊆ {0, 1} × {0, 1} × {1, . . . , n},
für a ∈ f −1(1) und b ∈ f −1(0):
(a, b, i ) ∈ Mf :⇔ ai = 1, bi = 0, i ∈ {1, . . . , n}.
Simulation Protokollbaum → Formel:
Mit Protokollbaum für Mf starten, dann Resultat monotone
Formel für f . Denn: Keine legalen Eingaben (a, b) mit
ai = 0, bi = 1, also keine x i -Eingänge in der Formel.
725
Sei Dm(f ) minimale Tiefe eines monotonen
Schaltkreises für f . Wir haben bewiesen:
Satz 16.3.6: Falls f monoton, dann Dm(f ) = C(Mf ).
ENDE
726
Herunterladen