Effiziente Algorithmen und Komplexitätstheorie mit dem

Werbung
Effiziente Algorithmen und
Komplexitätstheorie mit dem Schwerpunkt
Komplexitätstheorie
Ingo Wegener
WS 2003/2004
– Wiederholung GTI
(insbes. Kap. 3.2, 3.3, 3.4, 3.5, 4.1, 4.2, 4.5, 5.3)
2,5
– Pseudopolynomielle Algorithmen und starke
NP-Vollständigkeit (7.2)
0,5
– Die Komplexität von Approximationsproblemen –
klassische Resultate (8.1-8.5)
3,5
– Die Komplexität von Black-Box-Problemen
(9.1- 9.3)
2,0
Literatur
I. Wegener: Komplexitätstheorie. Springer, 2003.
. – Seite 1/602
– Weitere Komplexitätsklassen und Beziehungen
zwischen den Komplexitätsklassen
(Auswahl aus Kap.10)
– Interaktive Beweise
(Auswahl aus Kap.11)
– Das PCP-Theorem und die Komplexität von
Approximationsproblemen (Kap. 12)
3,0
3,0
. – Seite 2/602
– Branchingprogramme und Speicherplatz
(14.4)
0,5
– Kommunikationskomplexität
(Auswahl aus Kap.15)
5,0
– Komplexität boolescher Funktionen
(Auswahl aus Kap.16)
5,0
5,0
. – Seite 3/602
. – Seite 4/602
7.2 Pseudopolynomielle Algorithmen
und starke NP-Vollständigkeit
Die Grenze zwischen einfachen Problemen (in P) und
schwierigen Problemen (NP-schwierig) verläuft oft an
überraschenden Stellen:
Hier: Spielt die Größe der Zahlen in der
Eingabe eine Rolle?
2-SAT vs 3-SAT
EC
vs VC
2-CP vs 3-CP
Das Rucksackproblem KP und sogar der Spezialfall Subset
Sum Problem SSS (früher KP∗ ) sind NP-vollständig.
Bitlänge n → Zahlen aus {0, 1, . . . , 2n − 1}.
und vieles mehr.
Zur Erinnerung: Gegeben a1 , . . . , an , S
P
ai = S .
∃? I ⊆ {1, . . . , n} :
i∈I
. – Seite 5/602
. – Seite 6/602
Beweis: 3-SAT ≤p SSS
%
n Variablen, m Klauseln → 2n + 2m Zahlen mit n + m
Dezimalstellen.
Definition: Ein Algorithmus A hat eine
pseudopolynomielle Rechenzeit, wenn die
Rechenzeit tA (x) durch ein Polynom in |x| und max(x)
beschränkt ist.
Müssen die Zahlen so riesig sein?
Rucksackproblem: g1 , . . . , gn
a1 , . . . , a n
Ist SSS nur für große Zahlen schwierig?
Eingabe x → |x| Länge der Eingabe
max(x) größte Zahl in x (stets ganzzahlig
und nicht negativ).
. – Seite 7/602
Gewichte, G Gewichtsgrenze,
Nutzen.
DAP2 : dynamische Programmierung: O(nG).
EA
: dynamische Programmierung: O(n2 · max{a1 , . . . , an }).
beides pseudopolynomiell
und praktisch relevant
. – Seite 8/602
Definition 7.2.1:
Ein Entscheidungsproblem A heißt
Dieser Begriff ist nur sinnvoll, wenn die
Probleme überhaupt sehr große Zahlen erlauben.
stark NP-vollständig (NP-complete in the strong sense),
Also nicht: SAT, CLIQUE, IS, VC
DHC, HC, . . .
(Es ist nicht sinnvoll, die Knoten eines Graphen
mit riesigen Zahlen zu benennen.)
wenn es ein Polynom p gibt, so dass
Ap , nämlich A eingeschränkt auf Eingaben x, bei denen
alle Zahlen nicht größer als p(|x|) sind,
Aber: SSS, PARTITION, KP
TSP
BP
NP-vollständig ist.
. – Seite 9/602
. – Seite 10/602
Theorem 7.2.3:
Anders ausgedrückt:
NP 6= P ⇒ SSS, PARTITION, KP nicht
stark NP-vollständig.
Falls NP 6= P ist, gibt es für stark
Beweis:
pseudopolynomielle Algorithmen.
NP-vollständige Probleme nicht einmal
Ein pseudopolynomieller Algorithmus
ist für polynomiell kleine Zahlen in der Eingabe
ein polynomieller Algorithmus.
. – Seite 11/602
. – Seite 12/602
8 Die Komplexität von Approximationsproblemen – klassische Resultate
Theorem 7.2.2:
TSP ist stark NP-vollständig.
Beweis:
Erinnerung:
HC ≤p
8.1 Komplexitätsklassen
Gibt es für bestimmte NP-äquivalente Optimierungs-
TSP2,∆,sym
probleme wenigstens effiziente ApproximationsBei HC keine großen Zahlen möglich.
Die polynomielle Reduktion erzeugt n Städte
und Distanzwerte 1 und 2.
Frage: ∃? Tour mit Kosten ≤ n.
Theorem 7.2.5:
BP ist stark NP-vollständig.
Beweis:
Technisch aufwändig.
algorithmen?
Oft in Anwendungen ausreichend!
Negative Aussagen, falls NP 6= P.
. – Seite 13/602
. – Seite 14/602
Forderung 1: v(x, s) > 0.
Optimierungsprobleme
Wir wollen durch v(x, s) dividieren und das soll
monoton fallend in v(x, s) sein.
Alle bisherigen Probleme: ≥ 0 sowieso erfüllt.
Clique: Lösung leere Menge hat Wert 0, aber trivial
bessere Lösung, ein einzelner Knoten mit Wert 1.
Eingabe x → S(x) 6= ∅ (Menge zulässiger Lösungen
(solutions)), z. B. alle Rundreisen auf
n Städten.
Anzahl der Bitstellen aller s ∈ S(x) und
v(x, s) polynomiell in |x| beschränkt
(sonst Berechnung in polynomieller Zeit unmöglich).
Also: exponentiell große Werte okay, aber
nicht doppelt exponentiell große Werte.
→ v(x, s) für s ∈ S(x) Wert (value) der
Lösung s für die Eingabe x,
z. B. Länge der Rundreise für die zu x
gehörende Distanzmatrix.
Forderung 2:
. – Seite 15/602
. – Seite 16/602
Die Approximationsgüte (kurz Güte) einer Lösung s ∈ S(x)
Vergleiche v(x, s) und vopt (x).
Versuch 2:
vopt (x)/v(x, s)
(Maßeinheit km oder m oder cm irrelevant,
Abweichung in Relation der Werte)
Versuch 1: |v(x, s) − vopt (x)|
BP:
Abweichung um 10 Kisten gravierend, wenn
18 Kisten genügen, aber nicht, wenn 1800 Kisten
nötig sind.
TSP: Abweichung 7 in km, aber 700000 in cm.
Nur in wenigen Fällen geeignet.
Bezeichnung
r(x, s)
(approximation ratio)
Approximationsverhältnis
passender als Approximationsgüte,
denn für Maximierungsprobleme
r(x, s) ≥ 1 und kleine Werte besser als große.
. – Seite 17/602
. – Seite 18/602
Für Minimierungsprobleme
vopt /v(x, s) ≤ 1 und groß ist besser als klein.
Nun zu Algorithmus A, der für jedes x
ein s ∈ S(x) berechnet, Bezeichnung sA (x).
Vereinheitlichung für Minimierungsprobleme
r(x, s) = v(x, s)/vopt (x).
rA (x) := r(x, sA (x))
rA (n) := sup{rA (x) | |x| ≤ n}
Nun r(x, s) ≥ 1 und wir wünschen uns kleine r-Werte.
maximale Approximationsgüte
(worst-case approximation ratio)
Lösung s ∈ S(x) ist ε-optimal für ε := r(x, s) − 1.
Minimierung: Wert von s um 100ε% über Optimum.
Maximierung: Optimum um 100ε% über Wert von s oder
ε
Wert von s um 100( 1+ε
)% unter Optimum.
. – Seite 19/602
Wie kleine rA (n) sind in polynomieller Zeit erreichbar ?
. – Seite 20/602
Noch ein anderes Maß für die Approximationsgüte:
Was ist bei Anwendungen mit großen vopt -Werten?
BFD (best fit decreasing) ist ein Approximationsalgorithmus
für Bin Packing mit
∞
Asymptotische maximale Approximationsgüte rA
(asymptotic worst-case approximation ratio)
v(x, sBFD (x)) ≤
⇒ rBFD (x) ≤
11
9
11
vopt (x) + 4
9
∞ := inf{b | ∀ε > 0 ∃v(ε) ∀v
rA
opt ≥ v(ε) :
rA (x) ≤ b + ε}
11
4
+
9
vopt (x)
Da
47
9.
Da vopt (x) ≥ 1 : rBFD (n) ≤ + 4 =
Trivial, ob vopt (x) = 1, für diese Eingabe opt. Resultat, also
4
29
Ungleichung nur für vopt (x) ≥ 2 : rBFD (n) ≤ 11
9 + 2 = 9.
4
vopt (x)
∞
rBFD
≤
→ 0 für vopt → ∞ :
11
9.
. – Seite 21/602
sind Suchprobleme, bei denen eine
Lösung mit vorgegebener Approximationsgüte
berechnet werden soll.
NP-äquivalent ↔ polynomiell lösbar
Approximationsprobleme
Auswertungsvariante:
Zu x berechne b mit
vopt (x) ∈ [b, b · (1 + ε)] bei Max.problemen,
. – Seite 22/602
Entscheidungsvariante:
Gegeben b und x, entscheide ob
vopt (x) ∈ [b, b · (1 + ε)] ist.
Falls bei Max.problemen, vopt (x) ≥ b NP-vollständig ist,
ist dies nie einfach für beliebiges ε.
Also: Hier keine Beschränkung auf
Entscheidungsvarianten.
∈ [b/(1 + ε), b] bei Min.problemen.
. – Seite 23/602
. – Seite 24/602
Definition 8.1.1:
gegeben.
Sei r : N → [1, ∞) mit r(n + 1) ≥ r(n)
APX(r(n)) enthält alle Approximationsprobleme, für die es
einen polynomiell zeitbeschränkten Algorithmus A mit
rA (n) ≤ r(n) gibt.
APX :=
S
APX(c)
c≥1
APX∗ :=
T
APX(c)
c>1
Für jedes c > 1 gibt es einen APX(c)-Algorithmus, aber nicht: Es gibt einen Algorithmus, der für jedes
c > 1 ein APX(c)-Algorithmus ist – der müsste stets
optimale Lösungen berechnen.
Genauer:
(mit konstanter Approx.güte
in pol. Zeit approximierbar)
Wir hätten gerne einen Algorithmus, bei dem
wir die gewünschte Approximationsgüte c > 1 einstellen
können.
Dennoch:
(für jedes c > 1 effizient
approximierbar)
nicht c ≥ 1!!!
. – Seite 25/602
Definition 8.1.2: Ein polynomielles Approximationsschema
(polynomial-time approximation scheme, PTAS) ist ein
Algorithmus, der ein Eingabepaar (x, ε) erhält, x eine
Eingabe für das betrachtete Optimierungsproblem, ε > 0
eine rationale Zahl, und dann in polynomiell beschränkter
Zeit (p(|x|)) eine Lösung mit Approximationsgüte ≤ 1 + ε
berechnet.
Die Komplexitätsklasse PTAS enthält alle Optimierungsprobleme, für die es ein PTAS gibt.
. – Seite 26/602
Erlaubte Rechenzeiten: n1/ε , n · 21/ε , . . .
besser wäre n2 (1/ε)3 , . . .
Definition 8.1.3: Ein echt polynomielles Approximationsschema (fully PTAS, FPTAS) ist ein PTAS, bei dem die
Rechenzeit polynomiell in |x| und 1/ε beschränkt ist.
Komplexitätsklasse FPTAS
Offensichtlich: P ⊆ FPTAS ⊆ PTAS ⊆ APX∗ ⊆ APX
. – Seite 27/602
. – Seite 28/602
8.2 Approximationsalgorithmen
(→ Spezialvorlesung)
MIN-VC ∈ APX(2)
Hier: ein paar Ergebnisse und ein paar algorithmische
Ideen, um ein Gefühl für Approximierbarkeit zu bekommen.
– alle Knoten sind frei
MAX-CLIQUE ∈ APX(O(n/ log2 n))
– durchlaufe Kantenliste,
wähle Kante e = {v, w}, falls v und w frei,
dann v und w unfrei,
MIN-SET-COVER ∈ APX(ln n + 1)
– Ausgabe: alle unfreien Knoten.
Zeit: O(n + m)
Wenn k Kanten gewählt, bilden diese ein Matching, für ihre
Überwachung brauchen wir mindestens k Knoten, wir
haben 2k Knoten gewählt. Diese überwachen offensichtlich
alle Kanten (sonst Kante gewählt).
. – Seite 29/602
. – Seite 30/602
Setze X = X1 + · · · + Xm .
MAX-3-SAT ∈ APX(8/7) (jede Klausel enthält drei
verschiedene Literale)
Satz von der vollständigen Wahrscheinlichkeit:
E(X) + 12 · E(X | x1 = 1) + 12 · E(X | x1 = 0)
⇒ ∃ c1 ∈ {0, 1} E(X | x1 = c1 ) ≥ E(X) = (7/8) · m.
– randomisierter Algorithmus A,
– erwartete Approximationsgüte,
– Derandomisierung von A.
Ziel: Erfülle mindestens (7/8)m der m Klauseln.
(
1 ci erfüllt
Zufällige Belegung der Variablen, Xi =
0 sonst
Prob(Xi = 1) = 7/8, E(Xi ) = 7/8, E(X1 + · · · + Xm ) = (7/8)m.
. – Seite 31/602
Wenn wir dieses c1 berechnen können, machen wir für
diesen x1 -Wert mit x2 weiter, . . .
P
E(X | x1 = 1) =
E(Xi | x1 = 1), E(X | x1 = 0) analog.
1≤i≤m
allgemein 1, wenn erfüllt; 78 bei noch 3 Literalen;
3
1
4 bei 2 Literalen; 2 bei 1 Literal;
0, wenn kein Literal übrig.
. – Seite 32/602
Am Ende haben wir c1 , . . . , cn ∈ {0, 1} mit
E(X | x1 = c1 , . . . , xn = cn ) ≥ (7/8) · m.
MIN-BP ∈ APX(2)
∃ pol. Algo. mit Approximationsgüte 1 + O
dies ist keine „richtige“ Zufallsvariable, da aller
Zufall durch die Bedingungen festgelegt ist.
asymptotisches FPTAS
log2 vopt (x)
vopt (x)
MIN-TSP∆,sym ∈ APX(3/2)
Also ist (c1 , . . . , cn ) eine 8/7-Approximation.
Rechenzeit:
(DAP2)
MIN-TSPEuklid ∈ PTAS
O(n · m).
Wie kann man überhaupt ein (F)PTAS entwerfen?
→
Vorlesung Effiziente Algorithmen,
hier zwei Beispiele.
. – Seite 33/602
Betrachte alle ≤ 2b1/εc Aufteilungen der großen Aufgaben
auf die Maschinen.
Ein PTAS für ein einfaches Lastverteilungsproblem:
Gegeben n Aufgaben mit Bearbeitungdauern a1 , . . . , an .
Verteilung auf zwei gleichartige Maschinen, so dass
möglichst frühzeitig alle Aufgaben erledigt sind.
min
I⊆{1,...,n}
(max{
X
i∈I
ai ,
X
. – Seite 34/602
Jeweils greedy Algorithmus: Kleine Aufgaben sequenziell
verteilen, jeweils auf die weniger ausgelastete Maschine.
Rechenzeit: O(n) pro Aufteilung, zusammen O(n21/ε ).
ai })
Approximationsgüte?
Betrachte optimale Aufteilung und den Lösungsversuch, der
die großen Aufgaben genauso verteilt.
i∈I
/
L := a1 + · · · + an
Aufgabe i heißt „groß“, wenn ai ≥ εL ist.
⇒ ≤ b1/εc große Aufgaben.
. – Seite 35/602
. – Seite 36/602
O. B. d. A.: Belastung von M1 nicht größer als die von M2 .
Ein FPTAS für KP (nur Ideen)
1. Fall: Alle kleinen Aufgaben passen auf M1 , ohne die
Belastung von M2 zu übertreffen. Dann berechnen wir
optimale Lösung. Güte 1.
Kap. 7.2: Exakter Algorithmus mit Laufzeit
O(n2 · amax ).
2. Fall: ¬ 1. Fall. Dann ist die Differenz der Auslastungen
höchstens εL.
Also größere Last ≤ L/2 + εL/2.
Außerdem größere Last bei opt. Lösung ≥ L/2.
Güte ≤ L/2+εL/2
= 1 + ε.
L/2
Idee: ai -Werte abschneiden, dann exakt mit ungenauen
Werten rechnen.
Setze a0i := bai · 2−t c (Abschneiden der letzten t Bits).
Gewichtswerte und Gewichtsgrenze unverändert.
. – Seite 37/602
. – Seite 38/602
8.3 Die Lückentechnik (gap technique)
t zu klein: Rechenzeit des exakten Algorithmus
mit O(n2 · a0max ) zu groß.
t zu groß:
Ziel: Ergebnisse vom Typ
∈
/
NP 6= P ⇒ Problem A ∈
/
∈
/
∈
/
Approximationsgüte zu schlecht.
Wir haben Gück. Es gibt einen passenden t-Wert.
→ Rechenzeit O(n3 · ε−1 ),
Approximationsgüte 1 + ε.
FPTAS
PTAS
APX(c)
APX(r(n))
Polynomielle Reduktionen und Turing-Reduktionen liefern
derartige Ergebnisse nicht.
Brauchen wir ein Analogon zum Satz von Cook?
Fazit: Approximationsalgorithmen sind eine
praktisch relevante Alternative.
. – Seite 39/602
. – Seite 40/602
Für viele Ergenisse schon → PCP-Theorem,
Die NP-schwierigen Entscheidungsprobleme zu
Optimierungsproblemen haben oft folgendes Aussehen:
aber es gibt einige Ergebnisse, die mit klassischen
Ergebnissen erzielt werden können. Idee:
Ist vopt (x) ≥ b?
Ist vopt (x) ≤ b?
Approximationsproblem polynomiell lösbar
⇒ NP-schwieriges Entscheidungsproblem
polynomiell lösbar.
→ Maximierung
→ Minimierung
Dabei kann b Teil der Eingabe sein oder aber nur von der
Länge der Eingabe abhängen oder aber einen konstanten
Wert haben.
Welche Entscheidungsprobleme sind da geeignet?
. – Seite 41/602
MIN-BP: Genügen 2 Kisten? → PARTITION
. – Seite 42/602
Definition: Das Problem „vopt (x) ≥ b?“ ist ein
(a, b)-Lückenproblem, wenn aus v(x, s) < b, s ∈ S(x), sogar
v(x, s) ≤ a < b folgt (dual für Minimierungsprobleme mit
≤ statt ≥ und > statt <).
MAX-SAT: Sind mind. m Klauseln (also alle) erfüllbar?
MAX-CLIQUE: Per Definition gehört der Wert k zur
Eingabe und kann jeden Wert in
{1, . . . , n} annehmen.
Bemerkung 8.3.1: Ist ein (a, b) Lückenproblem
NP-schwierig, dann ist es NP-schwierig, eine
Approximationsgüte zu erzielen,
die kleiner als b/a ist (Maximierungsprobleme)
(die kleiner als a/b ist (Minimierungsprobleme)).
Aber 3-SAT ≤p CLIQUE
stets 3m Knoten und k = m.
Also MAX-CLIQUE auf Graphen mit n Knoten, n durch 3
teilbar. Gibt es Clique mit mindestens n/3 Knoten?
. – Seite 43/602
. – Seite 44/602
Beweis:
Ideal wäre es, wenn der Beweis des Theorems von Cook
eine Lücke ergibt!
Annahme: A ist polynomieller Approximationsalgorithmus
mit rA (n) < b/a.
Wir benutzen A, um zu entscheiden, ob vopt ≥ b ist.
1. Fall: A liefert Ergebnis s mit v(x, s) ≥ b (Antwort: Ja)
2. Fall: A liefert Ergebnis s mit v(x, s) < b, also v(x, s) ≤ a.
Falls vopt ≥ b, wäre
rA (x) ≥ ab im Widerspruch zur Annahme.
Also Antwort: Nein ist korrekt ⇒ NP = P.
Aber
x∈L
⇒ alle Klauseln erfüllbar,
x∈
/L
⇒ alle bis auf eine Klausel erfüllbar,
nämlich die, ob die letzte Konfiguration
erfüllend ist.
. – Seite 45/602
Theorem 8.3.2:
NP 6= P ⇒ MIN-TSP ∈
/ APX(2n )
. – Seite 46/602
Probleme mit kleinen Lösungswerten:
v(x, s) > 0, v(x, s) ganzzahlig, ∃ Polynom p : v(x, s) ≤ p(|x|).
Beweis:
z. B. Aufteilungsprobleme wie MIN-BP
Überwachungsprobleme wie MIN-VC
Cliquenprobleme wie MAX-CLIQUE
Teambildungsprobleme
MAX-SAT
usw.
HC ≤p TSP
{i, j} ∈ E → dij = 1
{i, j} ∈
/ E → dij = 2
Hamiltonkreis → Tourkosten n
alle anderen Touren kosten ≥ n + 1
a/b > 2n
neu
1
n2n
n =b
b
≥ n2n + n − 1 =a
b
. – Seite 47/602
. – Seite 48/602
Theorem 8.3.3: NP 6= P ⇒
NP-schwierige Optimierungsprobleme B mit kleinen
Lösungswerten haben kein FPTAS.
Beweis:
Die Laufzeit ist also polynomiell.
Lösungswerte liegen in {1, . . . , p(n)}.
Falls Ergebnis nicht optimal, dann Güte
Sei v(x, s) ≤ p(|x|).
Annahme: ∃ FPTAS A für B .
≥
i
i−1
Setze ε(n) := 1/p(n) ⇒
Aus A wird ein Approximationsalgorithmus der Güte
1 + ε(n) und die Laufzeit ist ein Polynom in |x| und
1/ε(|x|) = p(|x|), also ein Polynom in |x|.
≥
p(n)
p(n)−1
mit 2 ≤ i ≤ p(n)
=1+
1
p(n)−1
> 1 + ε(n).
Widerspruch! . – Seite 49/602
Theorem 8.3.4: Sei NP 6= P und B ein
Minimierungsproblem mit ganzzahligen Lösungswerten.
Falls für B die Entscheidung, ob vopt ≤ k
für ein konstantes k NP-schwierig ist, gibt es für B
keinen polynomiellen Algorithmus mit einer
Approximationsgüte, die kleiner 1 + 1/k ist.
. – Seite 50/602
Beweis:
Wende Bemerkung 8.3.1 an, da wir ein
(k, k + 1)-Lückenproblem haben.
Korollar 8.3.5: NP 6= P ⇒
MIN-GC ∈
/ APX(c) mit c < 4/3,
MIN-BP ∈
/ APX(c) mit c < 3/2.
(Bei Maximierungsproblemen analog für vopt ≥ k + 1.)
(Aber MIN-BP hat ein asymptotisches FPTAS.)
. – Seite 51/602
. – Seite 52/602
Dann wird aus der (3, 4)-Lücke eine (3k, 4k)-Lücke, der
Quotient ist derselbe, aber er tritt bei beliebig großen
Färbungszahlen auf.
Im Gegensatz dazu gilt für MIN-GC:
NP 6= P ⇒ Es gibt keinen polynomiellen
Approximationsalgorithmus mit asymptotischer Güte
kleiner als 4/3.
k=4
Beweis mit Boosting Technik:
G
G
Sei χ(G) die Färbungszahl für G = (V, E).
Wir konstruieren in polynomieller Zeit aus G
einen Graphen Gk = (Vk , Ek ) mit χ(Gk ) = k · χ(G).
k disjunkte Kopien
von G,
Knoten aus verschiedenen
Kopien sind
G
G
. – Seite 53/602
verbunden.
. – Seite 54/602
χ(Gk ) ≤ k · χ(G)
χ(Gk ) ≥ k · χ(G)
Färbe jede Kopie von G mit χ(G) Farben.
Keine Farbe kann in zwei Kopien von
G verwendet werden und jede Kopie
Benutze für jede Kopie andere Farben.
braucht χ(G) Farben.
. – Seite 55/602
. – Seite 56/602
8.4 Approximationserhaltende Reduktionen
Zusammenfassung:
NP 6= P
MAX-KP
∈ FPTAS − P
MIN-BP
∈ APX − PTAS
MIN-GC
∈
/ PTAS
⇒
A ≤p B,
B gut approximierbar, folgt dann
etwas für A?
IS ≤p VC
G = (V, E)
k
VC ∈ APX(2)
→
G = (V, E)
n−k
IS wie CLIQUE nicht
gut approximierbar
MIN-TSP ∈
/ APX.
Warum? G :
...
V0
V 0 opt. |V 0 | = n/2
2-Approximation: V mit |V | = n
0
V vertex cover ⇔ V − V 0 independent set
. – Seite 57/602
Approximationserhaltende Reduktionen müssen mehr
Forderungen erfüllen.
V −V =∅
↓
Güte ∞
. – Seite 58/602
Definition 8.4.1: Eine PTAS-Reduktion eines
Optimierungsproblems A auf ein Optimierungsproblem B ,
A ≤PTAS B , besteht aus f , g und α:
– f:
Eingaben für A −→ Eingaben für B in polynomieller Zeit,
– g:
Eingabe x für A, y ∈ SB (f (x)), ε ∈ Q+ −→
g(x, y, ε) ∈ SA (x) in polynomieller Zeit,
– α : Q+ −→ Q+ surjektiv, in polynomieller Zeit berechenbar,
– rB (f (x), y) ≤ 1 + α(ε) ⇒ rA (x, g(x, y, ε)) ≤ 1 + ε.
A „approximationsreduzierbar“ auf B :
Gegeben: Eingabe x für A.
Reduktion soll aus zwei Teilen bestehen:
1.) Berechnung einer Eingabe f (x) für B .
2.) Falls „gute“ Lösung für f (x) bekannt ist,
Berechnung einer „ausreichend guten“ Lösung für x.
Formal:
. – Seite 59/602
. – Seite 60/602
Lemma 8.4.2: A ≤PTAS B , B ∈ PTAS ⇒ A ∈ PTAS.
Beweis: Gegeben Eingabe x für A, ε ∈ Q+ .
Gesucht Lösung z ∈ SA (x) mit rA (x, z) ≤ 1 + ε.
Lemma 8.4.3: A ≤PTAS B, B ∈ APX ⇒ A ∈ APX.
Beweis: B ∈ APX ⇒ ∃ δ ∈ Q+ : B ∈ APX(1 + δ).
α aus A ≤PTAS B ist surjektiv ⇒
∃ ε ∈ Q+ : α(ε) = δ.
aus A ≤PTAS B
%
↑
1.) Berechne Eingabe f (x) für B , α(ε) ∈ Q+ (pol. Zeit).
Behauptung:
2.) Wende PTAS für B auf (f (x), α(ε)) an,
Ergebnis y ∈ SB (f (x)) rB (f (x), y) ≤ 1 + ε.
A ∈ APX(1 + ε).
Dies kann mit dem Beweis von Lemma 8.4.2 bewiesen
werden.
aus A ≤PTAS B
%
3.) Berechne g(x, y, ε) ∈ SA (x) (pol. Zeit).
4.) Eigenschaft 4 aus A ≤PTAS B : rA (x, g(x, y, ε)) ≤ 1 + ε. . – Seite 61/602
≤PTAS sind reflexiv und transitiv.
. – Seite 62/602
A ≤PTAS B
B ≤PTAS C
A ≤PTAS C
A ≤PTAS A :
f (x) = x
g(x, y, ε) = y
α(ε) = ε.
bzgl. (f1 , g1 , α1 )
bzgl. (f2 , g2 , α2 )
bzgl. (f, g, α)
⇒
f = f2 ◦ f1
α = α2 ◦ α1
g(x, y, ε) := g1 (x, g2 (f1 (x), y, α1 (ε)), ε)
. – Seite 63/602
. – Seite 64/602
y = g1 (x, y1 , ε)
ε-optimal für A
(x, ε)
(f1 , α1 )
Theorem 8.4.4a:
MAX-CLIQUE =PTAS MAX-IS.
g1
y1 = g2 (f1 (x), y2 , α1 (ε))
α1 (ε)-optimal für B
(f1 (x), α1 (ε))
(f2 , α2 )
g2
(f2 ◦ f1 (x), α2 ◦ α1 (ε))
ggf. ein PTAS
für C
Welche von den uns bekannten Reduktionen sind
PTAS-Reduktionen?
Nicht viele.
sei y2 ∈ SC (f2 ◦ f1 (x))
α2 ◦ α1 (ε)-optimal für C
Beweis: ≤PTAS
(≥PTAS analog)
G = (V, E)
y unabh. für G
ε
f
→ G := (V, E)
g
→ y CLIQUE für G
α
→ ε
. – Seite 65/602
Theorem 8.4.4b:
MAX-3-SAT ≤PTAS MAX-CLIQUE.
Beweis:
c1
c2
..
.
„⇒ “ ci1 , . . . , cik gemeinsam erfüllbar ⇒
die erfüllten Literale bilden k -Clique
Zur Erinnerung 3-SAT ≤p CLIQU E.
◦ ◦ ◦ Kanten nur zwischen
f
−→
cm
∃? erfüllende Belegung
Sogar:
. – Seite 66/602
◦ ◦ ◦ verschiedenen Zeilen
..
.
und sich nicht
widersprechenden
◦ ◦ ◦ Literalen
∃? Clique der Größe m
„⇐ “ k -Clique enthält Knoten aus k Zeilen,
es gibt Belegung, die die zugehörigen Literale erfüllt,
damit werden die zugehörigen Klauseln erfüllt.
(Dies wird die Abbildung g . Diese Belegung ist in
polynomieller Zeit berechenbar.)
Maximal k Klauseln erfüllbar ⇔ Größte Clique hat k Knoten.
. – Seite 67/602
. – Seite 68/602
(c1 , . . . , cm )
ε
Clique in G der
Größe k
f
−→
α
−→
g
−→
SAT ≤p 3-SAT enthält 4-SAT ≤p 3-SAT
G = (V, E) (der Wert m ist
hier überflüssig)
ε
Belegung, die mindestens
k Klauseln erfüllt
(z1 + z2 + z3 + z4 )
(z1 + z2 + y) und
(y + z3 + z4 )
Extravariable y für diese Klausel
m Klauseln
−→ 2m Klauseln
davon m trivial erfüllbar,
alle y -Variablen auf 1
opt(c1 , . . . , cm ) = opt(G)
Ist die Clique C in G (1 + ε)-optimal, dann ist
g(C) für (c1 , . . . , cm ) (1 + ε)-optimal.
&
formal g((c1 , . . . , cm ), C, ε)
f
−→
⇒ die erzeugten Eingaben für MAX-3-SAT haben
triviale 2-Approximation. Aus ihr lässt sich nichts für
MAX-4-SAT ableiten.
. – Seite 69/602
. – Seite 70/602
8.5 Vollständige Approximationsprobleme
Also f nicht als Teil von MAX-3-SAT ≤PTAS MAX-4-SAT
geeignet. Es müsste ε > 0 mit α(ε) = 1 geben, also
2-Approx. für MAX-4-SAT impliziert (1 + ε)-Approx. für
MAX-3-SAT.
Wir brauchen ein Analogon zu NP, also eine
Komplexitätsklasse, die so groß ist, dass sie schwierige
Optimierungsprobleme enthält, und die so klein ist, dass die
gängigen schwierigen Optimierungsprobleme zu den
schwierigsten dieser Klasse gehören.
NP
– einfach, wenn „Beweis“ für x ∈ L gegeben ist.
NPO – statt Beweis wird Lösung vorgegeben.
. – Seite 71/602
. – Seite 72/602
Gilt P ⊆ FPTAS ⊆ PTAS ⊆ APX ⊆ NPO?
Definition 8.5.1: Die Komplexitätsklasse NPO
(nondeterministic polynomial-time optimization problems)
enthält die Optimierungsprobleme, für die die beiden
folgenden Probleme polynomiell lösbar sind:
NEIN
Hopt – „Optimierungsvariante“ des Halteproblems.
– gegeben (x, s), überprüfe, ob s ∈ S(x) ist;
Eingaben: hM iw (Gödelnummer und Eingabe).
Zulässige Lösung: Ja und Nein !
Wert der richtigen Antwort: 2.
Wert der falschen Antwort: 1.
Ziel: Maximierung.
Dann: Hopt ∈ APX(2). (Ausgabe stets „ja“)
Hopt 6∈ NPO. (Berechnung des Wertes nicht rekursiv.)
– für s ∈ S(x), berechne v(x, s).
(Speziell: MAX-NPO und MIN-NPO.)
Typische Optimierungsprobleme: alle in NPO.
. – Seite 73/602
Konsequenz:
. – Seite 74/602
Definition 8.5.2: A ist NPO-vollständig (APX-vollständig,
PTAS-vollständig), wenn gilt:
Wir betrachten nur NPO-Probleme und definieren die
Komplexitätsklassen neu:
– A ∈ NPO (A ∈ APX, A ∈ PTAS),
– ∀B ∈ NPO (B ∈ APX, B ∈ PTAS):
z.B.
APXneu := APXalt ∩ NPO.
B ≤PTAS A.
Dann gilt:
P ⊆ FPTAS ⊆ PTAS ⊆ APX ⊆ NPO.
Nur mit PCP-Theorem: MAX-3-SAT ist APX-vollständig.
Was geht mit klassischen Methoden?
. – Seite 75/602
. – Seite 76/602
Ziel: Sei A ∈ MAX-NPO. Dann A ≤PTAS MAX-W-SAT.
MAX-W-SAT: (W =
b weight)
Eingabe: Klauseln c1 , . . . , cm über x1 , x1 , . . . , xn , xn .
Gewichte w1 , . . . , wn für Variablen, wi ∈ N0 .
Lösungsmenge: alle Belegungen a ∈ {0, 1}n .
v((c1 , . . . ,(cm , w1 , . . . , wn ), a)
P
max{1, wi ai } , falls a erfüllend
:=
1
, sonst.
Ziel: Maximierung.
Lemma 8.5.3:
Beweis:
Methode: Möglichst viel aus dem Beweis des Theorems
von Cook „retten“.
Dazu: Betrachte folgenden NP-Algorithmus zu A:
Eingabe x, zulässig für A. Sei p Polynom
mit |s(x)| ≤ p(|x|) für s(x) ∈ S(x).
Erzeuge nichtdeterministisch String s der Länge ≤ p(|x|).
Überprüfe, ob s ∈ S(x).
Nein, dann ablehnender Haltezustand.
Ja, berechne v(x, s) und akzeptiere.
Dabei vorgegebene Speicherplätze für
die Bits von v(x, s).
Rechenzeit polynomiell, da A ∈ MAX-NPO.
Definition klar
%
MAX-W-SAT ist MAX-NPO-vollständig.
Trivial: MAX-W-SAT ∈ MAX-NPO.
. – Seite 77/602
Beachte: Für Optimierungsprobleme ist S(x) 6= ∅,
also gibt es stets erfüllende Belegung.
Für y ∈ S(f (x))
(
irgendein y 0 ∈ S(x), falls y nicht erfüllend
g(x, y, ε) :=
s ∈ S(x), das zu y „passt“, wenn y erfüllend.
Beweis des Theorems von Cook:
NP-Algorithmus
mit Rechenzeit p(|x|)
pol. Zeit
−−−−→
. – Seite 78/602
Klauselmenge c1 , . . . , cm
Algorithmus akzeptiert x ⇔ Klauselmenge erfüllbar
Was heißt das?
y ist erfüllend
⇒ y enthält Codierung des Rechenweges des
NP-Algorithmus
⇒ y enthält Codierung der Lösung s, die verwendet wird,
dieses s wird berechnet.
Nun zusätzlich Gewichte:
Variable, ob Bit mit Wertigkeit 2i in v(x, s) den
Wert 1 hat, erhält Gewicht 2i .
Alle anderen Variablen Gewicht 0.
Dies ist die Abbildung f aus der PTAS-Reduktion.
v(x, s) = Wert(f (x), y ) nach Konstruktion.
. – Seite 79/602
. – Seite 80/602
Daher:
α(ε) := ε.
Ähnlich:
MIN-W-SAT ist MIN-NPO-vollständig.
Etwas technisch:
Es folgt: y (1 + ε)-optimal für f (x) ⇒
s bzw. y 0 (1 + ε)-optimal für x.
MAX-W-SAT =PTAS MIN-W-SAT
Konsequenz:
Denn: Lösungswerte in den Problemen entsprechen sich.
Wenn y nicht erfüllend, ist der Wert 1 der schlechtestmögliche und y 0 kann nicht schlechter sein.
Theorem 8.5.4: MAX-W-SAT und MIN-W-SAT sind
NPO-vollständig.
Viele wichtige Ergebnisse über oft technisch
anspruchsvolle approximationserhaltende Reduktionen.
. – Seite 81/602
. – Seite 82/602
9. Die Komplexität von Black-BoxProblemen
9.1 Black-Box-Optimierung
Was sind Heuristiken?
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?
. – Seite 83/602
–
–
–
–
–
–
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.
. – Seite 84/602
Die Metaheuristik für Funktionen f : Sn → R
↓
endlich, z. B. {0, 1}n , alle
Touren auf {1, . . . , n}, . . .
– 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.
1. Wähle eine W.verteilung 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 ).
– Unsere Probleme sind aber doch „anders“, keine
Funktionen oder . . . ?
. – Seite 85/602
Probleme können stets als Funktionenklassen aufgefasst
werden:
. – Seite 86/602
Nun aber auch „strukturelle“ Klassen:
– alle Polynome f : {0, 1}n → R vom Grad höchstens d,
– 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 Graph G
betrachte (
fG : Potenzmenge(V ) → N0 mit
|V 0 | falls V 0 Clique in G
0
fG (V ) :=
sonst.
0
. – Seite 87/602
– alle unimodalen Funktionen f : {0, 1}n → R, d. h jeder
nicht global optimale Suchpunkt hat einen besseren
Hamming-Nachbarn.
Was unterscheidet Heuristiken von anderen randomisierten
Algorithmen?
. – Seite 88/602
Normale Algorithmen kennen das Problem, also die
betrachtete Klasse von Funktionen, die Dimension n des
Suchraums und die betrachtete Probleminstanz f .
Einwand: Aber es gibt doch auch Heuristiken, die
Kenntnisse über f verwenden.
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, die
befragt werden kann.
x
−→
f
Das sind hybride Algorithmen, die Heuristiken mit
problemspezifischem Wissen verbessern.
Erst einmal: Analyse reiner Heuristiken.
Einwand: Warum sollen wir uns künstlich dumm stellen und
Kenntnisse über die Probleminstanz nicht verwenden?
f (x)
−→
Prinzipiell sollten wir alles tun, um Algorithmen schnell zu
machen, aber es gibt Szenarien, in denen Heuristiken die
richtige Wahl sind.
Begriff: Black Box ← Ernst Mach (1905).
. – Seite 89/602
Szenario 1
. – Seite 90/602
Szenario 2
Die zu optimierende Funktion ist tatsächlich unbekannt.
Algorithmische Probleme sind Teilprobleme in Projekten.
Lösungen, also Algorithmen, werden schnell gebraucht.
Heuristiken sind eine gute Alternative, wenn
Jede Parametereinstellung x ∈ Sn definiert eine
Geld, Zeit oder Expertise
Maschine, f (x) beschreibt ihre Qualität, f viel zu
nicht ausreichen, um einen problemspezifischen
Algorithmus zu entwerfen.
komplex, um analytisch beschreibbar zu sein.
Optimierung einer Maschine, z. B. Rührmaschine:
x → f (x)
Aber: Der beste problemspezifische Algorithmus übertrifft
normalerweise alle Heuristiken.
. – Seite 91/602
durch Experiment oder
Simulation des Experimentes.
. – Seite 92/602
Konkrete Beispiele:
Wie bewerten wir die von Heuristiken verbrauchten
Ressourcen?
– Laufverhalten von Robotern bei wechselndem
Untergrund.
Anfragen an die Black Box sind teuer, nur sie werden mit
jeweils Kosten 1 bewertet.
– Optimierung von Enzymen zur Trennung chiraler
Moleküle.
→ 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.
. – Seite 93/602
Black-Box-Komplexität einer Funktionenklasse Fn auf Sn
= inf
A : A ist Black-Box-Algo auf Sn
sup
f ∈ Fn
. – Seite 94/602
Obere Schranken können „zu klein“ sein,
z. B. polynomiell für NP-schwierige Probleme.
bester Algorithmus
worst-case Eingabe
Minimierung quadratischer pseudoboolescher Polynome
f : {0, 1}n → R :
X
X
f (x) = w0 +
wi x i +
wij xi xj .
1≤i≤n
Erwartungswert (bezüglich random bits der Heuristik)
von XA,f
(Zufallsvariable, die die Anzahl der
Black-Box-Anfragen bis zum ersten
optimalen Suchpunkt misst.)
. – Seite 95/602
1≤i<j≤n
Das Problem ist als NP-schwierig bekannt, MAX-2-SAT ist
ein Spezialfall.
Ziel des Black-Box-Algo: Mit n0 + n1 + n2 = O(n2 )
Anfragen die Gewichte herausfinden, dann f durch
Ausprobieren optimieren, dann als nächste Anfrage xopt .
. – Seite 96/602
f (0n )
= w0
i−1
f (0 10n−i ) = w0 + wi
f (0i−1 10j−i−1 10n−j
)
Ein Ausflug in Zwei-Personen-Nullsummenspiele
berechne wi für alle i
II zahlt an I
Beispiel 1:
= w0 + wi + wj + wij → berechne wij .

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?
I
Hier: Untere Schranken im unbeschränkten Modell! WIE?
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








. – Seite 97/602
Beispiel 2:

I







. – Seite 98/602
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.
II

−2 −1
0
1
2

2 −2 −1
0
1 

1
2 −2 −1
0 

0
1
2 −2 −1 

−1
0
1
2 −2
Erwartete Auszahlung X(p, q).
Sp. I wählt p, eine allwissende Gegnerin kann die
Auszahlung auf minq X(p, q) drücken.
Beachte: Bei festem p gibt es für II eine beste reine Strategie
(W.keit 1 für eine Spalte).
. – Seite 99/602
. – Seite 100/602
Also kann sich Spieler I eine erwartete Auszahlung von
vI = maxp minq X(p, q) = maxp minq rein X(p, q)
sichern.
Ausführlich:
Dual: Spielerin II kann sichern, dass die erwartete
Auszahlung nicht höher als
Insbesondere:
vI = maxp minq rein X(p, q) ≤ minq maxp rein X(p, q) = vII .
∀ p, q : minq0 rein X(p, q 0 ) ≤ vI ≤ vII ≤ maxp0 rein X(p0 , q)
vII = minq maxp X(p, q) = minq maxp rein X(p, q)
Wir erhalten eine untere Schranke (aus Sicht von Spieler I)
für den Wert des Spielers, indem wir eine W.verteilung p
wählen und die beste deterministische Gegenstrategie
betrachten.
ist.
Nullsummenspiel ⇒ vI ≤ vII .
Minimax-Theorem (von Neumann): vI = vII .
Hier genügt der einfache Teil vI ≤ vII .
. – Seite 101/602
. – Seite 102/602
9.2 Das Minimax-Prinzip von Yao
Was haben die Betrachtungen mit Algorithmen zu tun?
Algorithmenentwurf ist ein Zweipersonen-Nullsummenspiel
gegen den Teufel, der die Probleminstanz auswählt. Wir
zahlen für jeden Rechenschritt (hier: jede Black-Box-Frage).
Black-Box-Komplexität ist als
inf A 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.
. – Seite 103/602
Also f ∈ Fn Probleminstanz
fp , gemäß p zufällige Eingabe
A deterministischer Suchalgorithmus
Aq , randomisierter Algorithmus (stets Verteilung über
deterministischen Algorithmen)
T (fp , Aq ) := erwartete Rechenzeit für Aq und fp .
. – Seite 104/602
Theorem 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 case erwartete
Rechenzeit randomisierter Algorithmen, indem wir untere
Schranken für die erwartete Rechenzeit deterministischer
Algorithmen bezüglich einer beliebigen Verteilung auf der
Eingabemenge beweisen.
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!
. – Seite 105/602
. – Seite 106/602
9.3 Untere Schranken für die BlackBox-Komplexität
Deterministische Suchstrategien lassen sich durch
Entscheidungsbäume beschreiben.
Randomisierte Suchheuristiken:
Option 1: Randomisierte Entscheidungsbäume
x1
a
x2 (a)
b
x2 (b)
c
x2 (c)
1. Zufallsentscheidung
Kosten 0
r1
1. Suchpunkt
mögliche Antworten
a
b
x1 (b) x1 (c)
x1 (a)
2. Suchpunkt
α
β
r2 (a, α)
Für jedes f ∈ Fn , jede Probleminstanz, eindeutiger
Suchpfad von der Wurzel aus.
A
x2 (a, α, A)
Suchzeit: Anzahl der Knoten, bis optimaler Suchpunkt
gefragt wird, nicht unbedingt ein Blatt.
. – Seite 107/602
B
c
γ
d
x1 (d)
1. Suchpunkt
Kosten 1
2. Zufallsentscheidung
Kosten 0
2. Suchpunkt
Kosten 1
. – Seite 108/602
DAP 2:
Option 2: Zufällige Auswahl eines deterministischen
Entscheidungsbaums
– Jedes allgemeine Sortierproblem benötigt im worst
case mindestens dlog(n!)e Vergleiche.
ZZG
...
deterministische
Entscheidungsbäume
– Eingabeverteilung auf allen Ordnungstypen →
durchschnittliche Rechenzeit deterministischer
Algorithmen.
Gleichverteilung → durchschnittliche Anzahl an
Vergleichen mindestens dlog(n!)e − 1.
– Minimax-Prinzip → durchschnittliche Anzahl
randomisierter Algorithmen für worst case Eingabe
mindestens dlog(n!)e − 1.
Alle Zufallsentscheidungen vorab, praktisch ineffizient,
abstrakt hilfreich.
. – Seite 109/602
Hier: Untere Schranke auf ähnliche Weise, aber
– nicht nur zwei Antworten wie bei Vergleichen,
– Antworten nicht notwendigerweise an Blättern.
(→ Übungsaufgabe)
Diese Schranken übertreffen niemals dlog |Fn |e für
. – Seite 110/602
Ein einfaches Beispiel: die Nadel im Heuhaufen (needle in
the haystack).
(
1 x=a
N = {Na | a ∈ {0, 1}n }, Na (x) =
0 x 6= a
Theorem 9.3.1:
Die Black-Box-Komplexität von N beträgt 2n−1 + 1/2.
Fn ⊆ {f : Sn → R}
Wie erhalten wir größere Schranken?
– Entscheidungsbäume müssen „ziemlich unbalanciert“
sein.
– Dafür geeignete Eingabeverteilungen, nicht unbedingt
Gleichverteilung.
. – Seite 111/602
Beweis: obere Schranke:
Wähle nach Gleichverteilung Permutation π auf {0, 1}n und
wähle die Suchpunkte in Reihenfolge bzgl. π .
Erwartete Anzahl an Suchpunkten bis a:
1
n
n−1 + 1/2.
2n (1 + 2 + · · · + 2 ) = 2
. – Seite 112/602
untere Schranke:
Minimax-Prinzip und Gleichverteilung auf N .
Aussehen aller deterministischen Suchstrategien ohne
Wiederholung von Fragen:
Randomisierte lokale Suche und einfache evolutionäre
Algorithmen benötigen erwartete Zeit Θ(2n ), 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 .
a1
0
1
STOP, Funktion Na1 W’keit 1/2n
a2
0
Aber wir wissen jetzt: Das Szenario „Nadel im Heuhaufen“
hat eine hohe Komplexität und einfache Suchheuristiken
sind fast optimal.
1
STOP, Funktion Na2 W’keit 1/2n
...
a 2n
0
passiert nicht
1
STOP, Funktion Na2n W’keit 1/2n
Erwartete Fragenzahl:
1
n
2n (1 + 2 + · · · + 2 )
= 2n−1 + 1/2.
. – Seite 113/602
. – Seite 114/602
Ein weiteres Beispiel: Fallen (trap
( functions).
2n
x=a
T = {Ta | a ∈ {0, 1}n }, Ta (x) =
x1 + · · · + xn x 6= a.
Theorem 9.3.2:
Die Black-Box-Komplexität von T beträgt 2n−1 + 1/2.
Randomisierte lokale Suche versagt mit hoher
Wahrscheinlichkeit auf T (für die meisten Ta mit hoher
Wahrscheinlichkeit).
Beweis: obere Schranke: wie Theorem 9.3.1.
Zufällige Suche hat eine erwartete Suchzeit von 2n .
untere Schranke: fast wie in Theorem 9.3.1.
Nur die möglichen Antworten für die Frage b lauten
b1 + · · · + bn statt 0 und 2n statt 1.
Das Szenario „Falle“ hat eine hohe Komplexität und
evolutionäre Algorithmen sind schlecht.
Evolutionäre Algorithmen haben für die meisten Ta eine
erwartete Suchzeit von 2Θ(n log n) .
. – Seite 115/602
. – Seite 116/602
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.
untere Schranken:
– 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
U (b(n)) := {f : {0, 1}n −→ {−n, . . . , b(n)} | f unimodal}
Theorem 9.3.4: Sei δ(n) = o(n).
Black-Box-Komplexität (U (2δ(n) )) = 2Ω(δ(n)) .
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.
Erfolgswahrscheinlichkeit nach 2O(δ(n)) Schritten ist 2−Ω(n) .
. – Seite 117/602
. – Seite 118/602
Zwischenbemerkung: fP ist unimodal.
Beweis:
Gleichverteilung auf U (2δ(n) ) ?
Wieviele 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).
(
i
a = pi
fP (a) :=
a1 + · · · + a n − n a ∈
/ P.
. – Seite 119/602
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).
. – Seite 120/602
Aber: Wie erhalten wir P ?
Einfacher: Zufälliger Pseudopfad R = (r0 , r1 , . . . , rk ),
k = 2o(n) .
Lemma 9.3.3: R = (r0 , . . . , rk ) zufälliger Pseudopfad,
k = 2o(n) .
∀β > 0 ∃α = α(β) > 0 ∀a ∈ {0, 1}n : Prob(Ea ) = 2−Ω(n) ,
wobei Ea = {∃j ≥ βn : H(a, pj ) ≤ αn}.
r0 := 1n .
ri+1 := zufälliger Hammingnachbar von ri .
Aussage: Wo man nach mindestens linearer Zeit ist, „weiß
man kaum“.
P entsteht aus R durch Herausschneiden der Kreise:
p0 := r0 = 1n .
Ist pi = rj , wähle maximales m mit rm = rj und setze
pi+1 := rm+1 .
Konsequenz: Es ist sehr unwahrscheinlich, dass a auf
einem großen Kreis liegt.
Also: P „ziemlich lang“, später genauer.
P sollte nicht „viel kürzer“ als R sein.
. – Seite 121/602
Beweis von Lemma 9.3.3:
Wir untersuchen die Zufallsvariable Ht := H(a, pt ).
Ea,j := {H(a, pj ) ≥ αn}
Ziel:
Dann:
. – Seite 122/602
Ist Ht „groß“, ist Ht+i für kleines i auch noch groß.
2−Ω(n) .
Prob(Ea,j ) =
S
Ea =
Ea,j ,
Ist Ht „klein“, ist es wahrscheinlicher den Hammingabstand
zu vergrößern als ihn zu verkleinern.
βn≤j≤k
also
Prob(Ea ) ≤
P
Prob(Ea,j )
Genauer:
βn≤j≤k
≤ k · 2−Ω(n) = 2−Ω(n) , da k = 2o(n) .
Prob(Ht+1 = Ht + 1) = 1 − Ht /n,
Prob(Ht+1 = Ht − 1) = Ht /n.
Parameterwahl: γ := min{β, 1/10}, α := α(β) := γ/5.
→ Ea,j := {H(a, pj ) ≤ (γ/5)n}, wobei j ≤ βn.
. – Seite 123/602
. – Seite 124/602
1.Fall:
Hj−bγnc ≥ 2γn.
Dann mit Wahrscheinlichkeit 1: Hj ≥ γn
Hammingabstand sinkt pro Schritt maximal um 1.
2.Fall: Hj−bγnc < 2γn.
3
10 n.
Während des Abschnitts j − bγnc, . . . , j ist Ht < 3γn ≤
Also
7
Prob(Ht+1 = Ht + 1) ≥ 10
und
3
Prob(Ht+1 = Ht − 1) ≤ 10 während dieses Zeitintervalls.
7
Erwartete Anzahl abstanderhöhender Schritte ≥ 10
bγnc.
Wenn ≥
6
10 γn
abstanderhöhende Schritte, dann
≤
4
10 γn
abstandsenkende Schritte, also
Abstand erhöht sich um mindestens
6
4
1
10 γn − 10 γn = 5 γn = αn und ist mindestens αn.
6
Chernoffsche
Prob(≤ 10
γn abstanderhöhende Schritte)
⇒
Ungleichung
= 2−Ω(n) .
. – Seite 125/602
Beweis von Theorem 9.3.4:
Minimax-Prinzip:
Untere Schranke für deterministische Algorithmen
gegen fP .
Minimax-Prinzip für zufällige unimodale Funktionen,
Verteilung wie beschrieben.
Es reicht: Untere Schranke für Algorithmen mit
Zusatzinformationen, die nicht einmal das Optimum
erreichen müssen.
Länge von R ist 2δ(n) .
Lemma 9.3.3
Prob(in vi startet ein Kreis der Länge ≥ n)
=
2−Ω(n) .
2δ(n) 2−Ω(n)
Prob(es gibt einen Kreis der Länge ≥ n) ≤
= 2−Ω(n) .
Also Prob(Länge von P ≤ 2δ(n) /n) = 2−Ω(n) .
| {z }
2Ω(δ(n))
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,
→ einige Punkte „neben“ dem Pfad, gesammelt in N .
in nicht trivialen Situationen.
Wir nehmen in Zukunft an: Länge von P =
. – Seite 126/602
2Ω(δ(n)) .
. – Seite 127/602
. – Seite 128/602
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.
Ziel: Erfolgswahrscheinlichkeit in 2δ(n) /n2 Schritten = 2−Ω(n) .
Genügt: Erfolgswahrscheinlichkeit pro Schritt =
2−Ω(n) .
Einfach für den ersten Suchpunkt x:
Lemma 9.3.3 ⇒ Erfolgswahrscheinlichkeit 2−Ω(n) .
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 ∩ P = ∅}.
Lemma 9.3.3 ⇒ Prob(E) = 1 − 2−Ω(n) .
E ist so wahrscheinlich, dass sein Eintreten die Situation
„kaum“ verändert, genauer:
. – Seite 129/602
Sei x ein möglicher Suchpunkt und x∗ das Ereignis, das x
einen Erfolg ergibt.
. – Seite 130/602
Uns interessieren Punkte nach mindestens n Schritten.
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) .
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) .
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.
Aber: Der Algorithmus hat auch Kenntnis von Mnah .
. – Seite 131/602
. – Seite 132/602
10 Weitere Komplexitätsklassen und
Beziehungen zwischen ihnen
Genauer:
Die Kenntnis des Algorithmus bezieht sich auf den
Zeitpunkt t, er soll ein pj mit j ≥ t + n finden.
Bezogen auf den unbekannten Punkt pt+n/2 und β = 1/2
und α(1/2) sind alle bekannten Punkte mit hoher W.keit fern
(mindestens Hammingabstand α(1/2) · n) von pt+n/2 .
Wir betrachten P als startend in pt+n/2 , es soll ein Punkt
p(t+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).
– andere vernünftige, aber stärkere Annahmen als
NP 6= P,
– wie stehen BPP und NP zueinander?
. – Seite 133/602
. – Seite 134/602
Falls NP 6= P, kennen wir bzgl. ≤p eine weitere
Äquivalenzklasse:
10.2 Die Komplexitätswelt in NP und co-NP
Zur Erinnerung:
– bzgl. ≤p gibt es drei Äquivalenzklassen in P:
– alle Probleme, bei denen keine Eingabe akzeptiert
wird,
– alle Probleme, bei denen jede Eingabe akzeptiert
wird,
– alle anderen Probleme.
NPC – die Menge aller NP-vollständigen Probleme.
Was ist mit dem Rest, also
NPI := NP - P - NPC?
(NP-incomplete)
Ist NPI = ∅ oder NPI 6= ∅?
Bzgl. ≤T gibt es nur eine Äquivalenzklasse: P.
. – Seite 135/602
. – Seite 136/602
Primzahltest PRIMES: Ist n Primzahl?
Garey und Johnson (1979):
Drei prominente Kandidaten für NPI:
Aber PRIMES ∈ P (Argrawal, Kayal, Saxena).
LP (Lineares Programmieren):
∃ x 1 , . . . , xn ≥ 0
mit
c1 x 1 + · · · + c n x n ≥ B
und a11 x1 + · · · + a1n xn ≤ b1
..
.
Graphenisomorphieproblem GI:
Sind G1 = (V1 , E1 ) und G2 = (V2 , E2 ), d. h. bis auf die
Knotennummerierung identisch?
Formal: ∃f : V1 → V2 bijektiv und
{u, v} ∈ E1 ⇔ {f (u), f (v)} ∈ E2 ?
∃x ≥ ~0
cT x ≥ B
Ax ≤ b?
am1 x1 + · · · + amn xn ≤ bn ?
Vermutlich GI ∈
/P
(→ Studium von Problemen der
Isomorphie von Gruppen).
Vermutlich GI ∈
/ NPC (→ Kapitel 11).
Aber LP ∈ P (im Bitmodell):
– Ellipsoidmethode von Khachiyan,
– Innere-Punkte-Methode von Karmarkar.
. – Seite 137/602
Wir vermuten, dass NPI 6= ∅ ist, können das aber natürlich
nicht beweisen, denn
NP vs. co-NP
Entweder ist
NP = co-NP
oder
NP 6⊆ co-NP und co-NP 6⊆ NP
(NP und co-NP sind unvergleichbar)
NPI 6= ∅ ⇒ NP 6= P.
Aber:
Theorem 10.2.1:
. – Seite 138/602
NP 6= P ⇒
– NPI 6= ∅,
Beweis:
– ∃ L1 , L2 ∈ NPI : L1 6≤p L2 , L2 6≤p L1 .
NP ⊆ co-NP
⇒ co-NP ⊆ co-co-NP = NP
Beweis: mit Diagonalisierungsargumenten wie
„Die Diagonalsprache ist nicht rekursiv.“
Hier nicht.
)
⇒ NP = co-NP.
. – Seite 139/602
. – Seite 140/602
Aber:
NP = co-NP ⇔ „∀-und ∃-Quantor sind austauschbar“, denn
{0, 1}p(|x|) :
L ∈ NP ⇒ ∃ B ∈ P : L = {x | ∃ z ∈
(x, z) ∈ B},
p(|x|)
: (x, z) ∈ C}.
L ∈ co-NP ⇒ ∃ C ∈ P : L = {x | ∀ z ∈ {0, 1}
Also neue Vermutung / Hypothese: NP 6= co-NP.
Welche Hypothese, P 6= NP oder NP 6= co-NP, ist stärker?
NP 6= co-NP ⇒ P 6= NP.
Beweis:
Zeige P = NP ⇒ NP = co-NP.
Es gilt
P = NP
P = co-P
⇒ co-P = co-NP
)
⇒ NP = co-NP.
Vielleicht können wir aus NP 6= co-NP Aussagen folgern,
die wir aus NP 6= P (noch) nicht folgern können.
. – Seite 141/602
Theorem 10.2.2:
Beweis:
. – Seite 142/602
Sei also L0 ∈ NP.
0
Zu zeigen: L0 ∈ co-NP oder gleichbedeutend L ∈ NP.
NP 6= co-NP, L NP-vollständig
⇒L∈
/ co-NP.
Es ist L0 ≤p L (da L0 ∈ NP und L ∈ NPC).
Also existiert f : (Σ0 )∗ → Σ∗ pol. berechenbar
w ∈ L0 ⇔ f (w) ∈ L
äquivalent w ∈
/ L0 ⇔ f (w) ∈
/L
0
oder w ∈ L ⇔ f (w) ∈ L.
Aber L ∈ co-NP nach Voraussetzung, also L ∈ NP.
Zeige:
L NP-vollständig, L ∈ co-NP ⇒ NP = co-NP.
Es genügt zu zeigen:
L NP-vollständig, L ∈ co-NP ⇒ NP ⊆ co-NP
(⇒ NP = co-NP (s.o.)).
0
NP-Algo. für L :
Eingabe w, berechne f (w), wende
NP-Algo. für L auf f (w) an.
. – Seite 143/602
. – Seite 144/602
Anwendung:
Von GI wissen wir
GI ∈ NP (trivial),
NP 6= co-NP, L ∈ NP ∩ co-NP ⇒ L ∈
/ NPC und
L∈
/ co-NPC.
aber wir wissen nicht, ob GI ∈ co-NP ist.
Wir brauchen noch stärkere Hypothesen als NP 6= co-NP,
um die Vermutung GI ∈
/ NPC zu untermauern.
Lange bekannt:
PRIMES ∈ NP ∩ co-NP.
Dies war lange das beste Indiz, dass PRIMES weder in
NPC noch in co-NPC ist.
Heute besseres Argument:
PRIMES ∈ P.
. – Seite 145/602
. – Seite 146/602
10.3 Orakelklassen
NPC
co-NPC
Wie wir glauben,
Besser: Die Welt oberhalb von NP ∪ co-NP.
dass die
Orakel sind nur unbekannte Unterprogramme wie in
Turingreduktionen.
„Komplexitätswelt“
NPI
co-NPI
NP
in NP ∪ co-NP
Was passiert, wenn die Unterprogramme immer
schwierigere Probleme lösen können?
aussieht.
co-NP
NPI ∩ co-NPI
P
. – Seite 147/602
. – Seite 148/602
Definition 10.3.1
L Entscheidungsproblem, d.h. L ∈ ENT
P (L) := {L0 ∈ ENT | L0 ≤T L}
P(NP) = P(SAT).
„⊇“ trivial, da SAT ∈ NP.
(in polynomieller Zeit mit Orakel L entscheidbar).
C Komplexitätsklasse von Enscheidungsproblemen
S
P (C) := L∈C P (L).
„⊆“



Sei L ∈ NP, L0 ∈ P(L), d.h. L0 ≤T L
⇒ L0 ≤T SAT


Da L ∈ NP, gilt L ≤p SAT.
⇒ L0 ∈ P(SAT).
(Dieser Beweis funktioniert für C und alle C -vollständigen
Entscheidungsprobleme.)
. – Seite 149/602
Klar:
NP ⊆ P(NP).
Vermutlich:
Vermutlich also:
NP $ P(NP).
Sonst: viele Unterprogrammaufrufe von SAT ersetzbar
durch einen Aufruf ganz am Ende, dessen Antwort
übernommen wird.
NP ∪ co-NP $ P(NP).
Mögliche Iteration:
P(P(NP))?
P(P(NP)) = P(NP)
(allgemein für C statt NP)
„ ⊇ “ trivial.
„ ⊆ “ L ∈ P(P(NP)) ⇒ ∃L0 ∈ P(NP) : L ≤T L0
⇒ ∃L00 ∈ NP
: L0 ≤T L00 .
Sogar: co-NP ⊆ P(NP).
L ∈ co-NP ⇒ L ∈ NP
Benutze L-Orakel und negiere die Antwort.
D.h.:
. – Seite 150/602
Also: ∃L00 ∈ NP: L ≤T L00 , d.h. L ∈ P(NP).
NP 6= co-NP ⇒ NP $ P(NP).
. – Seite 151/602
. – Seite 152/602
Definition 10.3.2
L ∈ ENT.
Minimal Circuits
NP(L) := {L0 ∈ ENT | ∃ nichtdet. polyn. zeitbeschränkter Algo. für L0 , der
Unterprogramm für L benutzen
darf}.
S
NP(C ) :=
NP(L).
L∈C
Kommt da was Vernünftiges bei raus?
MC={ S Schaltkreis über {AND, OR, NOT}, AND und
OR binär | Für die von S berechnete Funktion
gibt es keinen kleineren Schaltkreis}.
Theorem 10.3.3: MC ∈ co-NP(NP).
(und vermutlich weder in NP oder NP(NP)).
Beweis:
. – Seite 153/602
polyn. überprüfbar
z
}|
{
0
0
MC={ S Schaltkreis | ∀ Schaltkreise S mit size(S ) < size(S)
S(a) 6= S 0 (a) }
∃ Eingabe a :
|
{z
}
polyn. überprüfbar
. – Seite 154/602
10.4 Die polynomielle Hierarchie
Zeige MC ∈ NP(NP).
Nun geht es „aufwärts“ – wir können viele Klassen
definieren – und sie erweisen sich als sinnvoll.
MC = { S Schaltkreis | ∃ S 0 size(S 0 ) < size(S)
∀ a : S 0 (a) = S(a)}.
Bezeichnungen:
∆1 = P, Σ1 = NP, Π1 = co-NP.
Definition 10.4.1: Für k ≥ 1 :
Σk+1 := NP(Σk )
Πk+1 := co-Σk+1 = co-NP(Σk )
∆k+1 := P(Σk )
S
PH := k≥1 Σk polynomielle
Hierarchie
L := {(S, S 0 ), size(S 0 ) < size(S) | ∃ a : S 0 (a) 6= S(a)}
⇒ L ∈ NP.
NP(L)-Algo. für MC, Eingabe S.
– Wähle nichtdet. S 0 mit size(S 0 ) < size(S).
– Teste mit Unterprogramm, ob (S, S 0 ) ∈ L.
Beispiele
Σ4 = NP(NP(NP(NP)))
Π4 = co-NP(NP(NP(NP)))
∆4 = P(NP(NP(NP)))
– Negiere die Antwort.
. – Seite 155/602
. – Seite 156/602
Auch möglich Σ0 := Π0 := ∆0 := P und Definition 10.4.1 für
k ≥ 0:
Σ1 = NP(P) = NP, Π1 = co-NP(P) = co-NP, ∆1 = P(P) = P.
Polynomielle Unterprogramme können ausgeführt werden.
Lemma 10.4.2 Teil 1:
∆k = co-∆k = P(∆k ) ⊆ Σk ∩ Πk ⊆ Σk ∪ Πk ⊆ ∆k+1 = P(Πk ).
a
b
c
d
e
f
Beweis:
Theorem 10.3.3 (neue Formulierung): MC ∈ Π2 .
a) ∆k = co-∆k
∆k = P(Σk−1 )
co-∆k = co-P(Σk−1 )
Bei polynomiellen Rechnungen können wir am Ende
negieren.
Wir müssen mit diesen Klassen vertraut werden.
. – Seite 157/602
b) ∆k = P(∆k )
∆k = P(Σk−1 )
P(∆k ) = P(P(Σk−1 ))
.
&
poly. Algo. mit
poly. Algo., der poly. Algo. mit
≡
Orakel L ∈ Σk−1
Orakel L ∈ Σk−1 benutzen darf
c) ∆k ⊆ Σk ∩ Πk
∆k = P(Σk−1 ) ⊆ NP(Σk−1 ) = Σk
∆k = P(Σk−1 ) ⊆ co-NP(Σk−1 ) = Πk
d) Σk ∩ Πk ⊆ Σk ∪ Πk (trivial)
. – Seite 158/602
e) Σk ∪ Πk ⊆ ∆k+1
Σk ⊆ P(Σk ) = ∆k+1
Πk = co-Σk ⊆ co-∆k+1 = ∆k+1
f) ∆k+1
∆k+1
=
=
P(Πk )
P(Σk ) =
P(Πk )
↑
↑
Orakel
Orakel
L ∈ Σk
L ∈ co-Σk
negiere Antworten
. – Seite 159/602
. – Seite 160/602
Lemma 10.4.2 Teil 2:
Lemma 10.4.2 Teil 3: Πk+1 = co-NP(Πk ) = co-NP(∆k+1 ).
(trivial, wende „co“ auf Teil 2 an.)
Σk+1 = NP(Πk ) = NP(∆k+1 ).
a
b
Lemma 10.4.2 Teil 4:
Σk ⊆ Π k ⇒ Σ k = Πk .
Beweis
Beweis:
a) Σk+1 = NP(Σk ) = NP(Πk ) (wie Teil 1f )
=
„⊇“ Orakel aus ∆k+1 = P(Σk ) durch Orakel aus Σk
ersetzbar:
Führe die polynomielle Rechnung aus und benutze
nur L ∈ Σk als Orakel.
=
Σk ⊆ Πk ⇒ co-Σk ⊆ co-Πk , also Πk ⊆ Σk
b) „⊆“ trivial, da Πk ⊆ ∆k+1 (Teil 1e)
Πk
Σk
und insgesamt Σk = Πk .
. – Seite 161/602
Unsere Vorstellung von PH
. – Seite 162/602
Komplexitätstheoretische Hypothesen/Vermutungen:
∀k:
% Σ1 &
∆1 → Σ 1 ∩ Π 1
l
% Σ2 &
Σ1 ∪ Π 1 → ∆ 2 → Σ 2 ∩ Π 2
& Π1 %
l
Σ2 ∪ Π2 → ∆3 → . . . PH
& Π2 %
Σk 6= Σk+1
Πk 6= Πk+1
→: „⊆“ ist bewiesen und „(“ ist vermutet.
Σk 6= Πk
↔: Unvergleichbarkeit ist vermutet.
∆k 6= Σk ∩ Πk 6= Σk 6= Σk ∪ Πk 6= ∆k+1
. – Seite 163/602
. – Seite 164/602
Drei Sichten auf NP:
Aber sehr nützliche logikorientierte Sichtweise.
– Nichtdeterministische Algorithmen, ex. akzeptierender
Rechenweg?
– Randomisierte Algorithmen, one-sided error, false
negatives, Fehlerwahrscheinlichkeit kleiner als 1,
Theorem 10.4.3:
L ∈ Σk ⇐⇒ ∃ Polynom p ∃ L0 ∈ P : Für A = {0, 1}p(|x|) ist
.k ungerade
L = {x | ∃y1 ∈ A ∀y2 ∈ A ∃y3 ∈ A . . .
– Logikorientierte Sicht, Existenzquantor und
polynomielles Prädikat.
∃
∀
yk ∈ A :
-k gerade
Welche Sichten auf Σk ?
(x, y1 , y2 , y3 , . . . , yk ) ∈ L0 }
– Per Definition nichtdeterministische Orakelalgorithmen.
– Leider keine Beschreibung durch randomisierte
Algorithmen.
Für k = 1 ist Σk = NP und wir erhalten die bekannte
logikorientierte Sicht auf NP.
. – Seite 165/602
. – Seite 166/602
Wenn wir glauben, dass wir nicht prinzipiell
Beweis von Theorem 10.4.3:
bei k + 1 Quantoren, also k Quantorenwechseln,
„⇐“
einen Quantor einsparen können (Quantifizierung über
k − 1 → k und k ≥ 2 :
polynomiell lange Strings, polynomielles Prädikat),
Zeige L ∈ Σk = NP(Σk−1 )
dann glauben wir, dass die polynomielle Hierarchie
Der nichtdet. Algorithmus erzeugt y1 ∈ A
nichtdeterministisch.
Orakelsprache
.k gerade
echt ist, also alle Klassen verschieden sind.
MC ∈ Σ2 ist jetzt ganz einfach.
Induktion über k, k = 1 schon in GTI.
L∗ = {(x, y1 ) | ∃ y2 ∈ A ∀ y3 ∈ A . . .
∀
yk ∈ A :
∃
-k ungerade
(x, y1 , y2 , y3 , . . . , yk ) ∈ L0 }.
. – Seite 167/602
. – Seite 168/602
0
Es ist L ∈ P, da L0 ∈ P.
Nach Induktionsvoraussetzung: L0 ∈ Σk−1 .
Der nichtdet. Algo. befragt das Orakel für (x, y1 ) und negiert
die Antwort.
Idee: De Morgan-Regeln haben die Quantoren gedreht
und die Antwort negiert.
Behauptung: x ∈ L ⇔ ∃ y1 ∈ A1 : (x, y1 )∈L
/ ∗.
x ∈ L ⇒ (Nach Voraussetzung)
∃ y1 ∈ A ∀ y2 ∈ A ∃ y3 ∈ A . . . (x1 , y1 , y2 , . . .) ∈ L0
⇒ ∃ y1 ∈ A : (x, y1 ) ∈
/ L∗
x∈
/ L ⇒ (nach Voraussetzung und De Morgan Regeln)
/ L0
∀ y1 ∈ A ∃ y2 ∈ A ∀y3 ∈ A . . . (x, y1 , y2 , . . .) ∈
⇒ ∀ y1 ∈ A1 : (x, y1 ) ∈ L∗
⇒ ¬(∃ y1 ∈ A : (x, y1 ) ∈
/ L∗ ).
. – Seite 169/602
. – Seite 170/602
Korollar 10.4.4:
„⇒“ Buch Seite 144.
Selber durcharbeiten.
Übungsblatt enthält Fragen zu dem Beweis.
L ∈ Πk ⇔ ∃ Polynom p ∃ L0 ∈ P : Für A = {0, 1}p(|x|) ist
.k ungerade
L = {x | ∀ y1 ∈ A ∃ y2 ∈ A ∀ y3 ∈ A . . .
(x, y1 , y2 , y3 , . . . , yk )∈L0 }.
∀
yk ∈ A :
∃
-k gerade
De Morgan Regeln auf Theorem 10.4.3:
0
Eigentlich ∈
/ L0 , wähle aber L0neu = Lalt , dann ∈ L0 .
. – Seite 171/602
. – Seite 172/602
Theorem 10.4.5:
Σk /Πk -Darstellung mit k Quantoren und
polynomiellem Prädikat,
der erste Quantor ist ein ∃/∀-Quantor.
Σk = Πk ⇒ PH = Σk
Falls es bei k Quantoren egal ist, ob wir mit ∃ oder ∀
beginnen, bringen auch 1000 weitere Quantoren nichts
Neues.
Vermutung: Jeder neue Quantor erhöht die
Beschreibungskraft und es macht
einen Unterschied, von welchem Typ
der erste Quantor ist.
Beweis:
Zeige Σk = Πk ⇒ Σk+1 = Πk+1 = Σk
und iteriere dieses Argument.
Wir wollen einen formal nicht ganz sauberen, aber
anschaulichen Beweis führen.
(Formal korrekt: → Übungen)
. – Seite 173/602
. – Seite 174/602
k=4
Korollar 10.4.6:
Σ4 = Π4 bedeutet
Beweis:
∃∀∃∀P = ∀∃∀∃P
(← Theorem 10.4.3/ Korollar 10.4.4).
Σ5 = ∃ (∀ ∃ ∀ ∃ P ) = |{z}
∃ ∃ ∀ ∃ ∀ P = ∃ ∀ ∃ ∀ P = Σ4 .
Σk = Σk+1 ⇒ PH = Σk .
Lemma 10.4.2 Σk ⊆ Πk+1
Voraussetzung Σk = Σk+1
⇒ (Lemma 10.4.2)
⇒ (Theorem 10.4.5)
⇒ (Voraussetzung)
∃
Analog Π5 = Π4 und damit
Σ5 = Σ 4 = Π4 = Π5 .
. – Seite 175/602
)
⇒ Σk+1 ⊆ Πk+1
Σk+1 = Πk+1
PH= Σk+1
PH= Σk .
. – Seite 176/602
Ein kanonisches Σk -vollständiges Problem bezüglich ≤p .
Theorem 10.4.7:
SATkCIR -Erfüllbarkeitsproblem der k -ten Stufe
An =
Also:
{0, 1}n
SATkCIR = { S Schaltkreis über kn Variablen für ein n ∈ N,
Variablenvektoren x1 , . . . , xk ∈ An |
∃ x1 ∈ An ∀x2 ∈ An ∃ x3 ∈ An . . . ∃∀ xk ∈ An :
S(x , . . . , x ) = 1 }
| 1 {z k
}
pol. überprüfbar
SATkCIR ist Σk -vollständig.
(Hier ohne Beweis.)
SATkCIR ∈ Σk−1 ⇔ Σk−1 = Σk .
Rückblick:
NP = P ⇒ PH = P.
Nun glauben wir noch stärker an NP 6= P.
Nach Definition: SATkCIR ∈ Σk .
. – Seite 177/602
. – Seite 178/602
10.5 BPP, NP und die polynomielle
Hierarchie
Ein kleines Gedankenspiel:
Gilt NP(L) 6= P(L)?
(Für L ∈ P gleichbedeutend zu „NP 6= P“?)
i
i
h
h
Vielleicht: ∀ L : NP(L) 6= P(L) oder ∀ L : NP(L) = P(L) ?
Nein, mit Diagonalisierungsargumenten bewiesen:
– Vielleicht ist BPP = P oder immerhin BPP ⊆ NP
oder . . .
Das widerspricht keiner unserer
Hypothesen.Wissenstand: BPP ⊆ Σ2 ∩ Π2 .
– Dagegen NP ⊆ BPP impliziert, dass NPC-Probleme
praktisch nicht schwierig sind – das glauben wir nicht.
⇒ PH ⊆ BPP
Untermauerung: NP ⊆ BPP ⇒
NP = RP.
∃ L1 : NP(L1 ) 6= P(L1 ) und ∃ L2 : NP(L2 ) = P(L2 ).
Falsifizierung von NP6=P-Beweisversuchen:
Wenn der Beweis auch NP(L) 6= P(L) für alle L impliziert,
dann ist er falsch!
. – Seite 179/602
. – Seite 180/602
Theorem 10.5.1:
BPP ⊆ Σ2 ∩ Π2 .
– Fehlerwahrscheinlichkeit bei Eingabelänge n
höchstens 2−(n+1) .
Beweis:
– Rechenzeit durch Polynom p beschränkt.
1.) Es genügt, BPP ⊆ Σ2 zu zeigen.
Dann folgt BPP = co-BPP ⊆ co-Σ2 = Π2 .
– Alle Rechenwege haben Länge genau p(n) bei
Eingabelänge n.
2.) Sei L ∈ BPP, d.h. es existiert ein randomisierter
Algorithmus mit polynomieller Rechenzeit und
Fehlerwahrscheinlichkeit höchstens 1/3.
– Es ist p(n) durch n ohne Rest teilbar,
k(n) := p(n)/n oder kurz k := p/n.
– Für n ≥ n0 ist p(n) ≤ 2n , die Eingabelängen n < n0
„interessieren nicht“.
Voraussetzung durch probability amplification
„verbessern“.
. – Seite 181/602
3.) „Visualisierung“ des BPP-Algorithmus
. – Seite 182/602
– Wie können wir diesen großen Unterschied nutzen?
– Rechenwege korrespondieren zu r ∈ {0, 1}p , d.h.
Realisierung der Zufallsbits.
– Die roten/ grünen Inseln liegen bei verschiedenen
Eingaben an anderen Stellen.
– A(x) = Menge akzeptierender Rechenwege zu x,
– Bijektive Transformationen tz , z ∈ {0, 1}p , auf {0, 1}p :
tz (r) := (r1 ⊕ z1 , . . . , rp ⊕ zp )
[tz ◦tz (r) = (r1 ⊕z1 ⊕z1 , . . . , rp ⊕zp ⊕zp ) = (r1 , . . . , rp ) = r)].
N (x) = Menge nicht akzeptierender Rechenwege zu x.
x∈L
{0, 1}p
x∈
/L
– Für festes r gilt:
x ∈ L ⇒ sehr viele tz (r) sind akzeptierend,
x∈
/ L ⇒ sehr wenige tz (r) sind akzeptierend.
Eigentlich noch nichts Neues.
{0, 1}p
. – Seite 183/602
. – Seite 184/602
Aber nun:
4.) Formalisierung eines polynomiellen Prädikats.
Es ist k = p/n polynomiell beschränkt.
Genügend viele Rechenwege r1 , . . . , rk ∈ {0, 1}p :
B = { (x, r = (r1 , . . . , rk ), z) |
x Eingabe, ri ∈ {0, 1}p Rechenweg,
z ∈ {0, 1}p ,
∃i ∈ {1, . . . , k} : tz (ri ) ist akzeptierend für x }
x ∈ L ⇒ gute Chance, dass für jedes z
mindestens ein tz (ri ) akzeptierend ist,
x∈
/ L ⇒ gute Chance, dass es ein z gibt,
so dass kein tz (ri ) akzeptierend ist.
Es ist B ∈ P, da wir den BPP-Algorithmus
auf polynomiell vielen festgelegten Rechenwegen
simulieren können.
. – Seite 185/602
. – Seite 186/602
6.)
5.) Die Σ2 -Charakterisierung:
Korrektheit der Σ2 -Charakterisierung:
Teil 1: „⊆“
!
L = {x | ∃ r = (r1 , . . . , rk ) ∀ z ∈ {0, 1}p : (x, r, z) ∈ B}.
Idee: Es gibt so wenig schlechte r,
dass mindestens ein r gut ist.
S(x) := {r = (r1 , . . . , rk ) | ∃ z ∈ {0, 1}p ∀ i : tz (ri ) ∈ N (x)}
die Menge der schlechten r.
Falls |S(x)| < 2kp , gibt es ein r ∈
/ S(x) und das ist gut, d.h.
∀ z : (x, r, z) ∈ B .
. – Seite 187/602
. – Seite 188/602
Teil 2: „⊇“
Sei wi = ri ⊕ z, dann ist ri = wi ⊕ z (z ⊕ z = 0). t (r )
z i
p
S(x) = {(w1 ⊕ z, . . . , wk ⊕ z) | z ∈ {0, 1} , ∀ i : wi ∈ N (x) }.
Idee: Für x ∈
/ L ist N (x) so groß, dass alle
r schlecht sind.
Nun ist Zählen einfach.
Sei r = (r1 , . . . , rk ).
|S(x)| ≤ |N (x)|k · 2p (≤, denn vielleicht
(w1 ⊕ z, . . . , wk ⊕ z) = (w10 ⊕ z 0 , . . . , wk0 ⊕ z 0 ))
Ziel: ∃ z ∈ {0, 1}p : (x, r, z) ∈
/ B,
|N (x)| ≤ 2p−(n+1)
Sei Zi (r) = {z | tz (ri ) ∈ N (x)} = {z ⊕ ri | z ⊕ ri ∈ N (x)}
=
Neue Schreibweise für S(x) :
also ∀ i : tz (ri ) ∈ N (x).
( 2p Rechenwege,
Fehlerw.keit ≤ 2−(n+1) )
⇒
k = p/n, also n = p/k k ≥ 1
↓
.
|S(x)| ≤ 2kp−kn−k+p = 2kp−k ≤ 12 · 2kp ,
⇒
|Zi (r)| = |N (x)| = |{0, 1}p − A(x)| ≥ 2p − 2p−(n+1),
da A(x) ≤ 2p−(n+1) wegen Fehlerwahrscheinlichkeit.
also sogar die Hälfte aller r ist gut.
. – Seite 189/602
Definition 10.5.2: L ∈ ENT. Dann enthält RP(L) alle
Entscheidungsprobleme L0 , für die es einen
RP-Algorithmus mit Unterprogramm für L gibt.
Also ≤ 2p−(n+1) z -Vektoren nicht in Zi (r).
Also ≤ k · 2p−(n+1) z -Vektoren, die in mindestens einem
Zi (r), 1 ≤ i ≤ k, nicht enthalten sind.
Da k ≤ 2n , ist k · 2p−(n+1) ≤
1
2
. – Seite 190/602
· 2p .
Also mindestens die Hälfte aller z -Vektoren ist in allen Zi (r)
enthalten.
Analog RP(C), ZPP(L), ZPP(C), BPP(L), BPP(C),
PP(L), PP(C).
Für sie alle ist (x, r, z) ∈
/ B.
. – Seite 191/602
. – Seite 192/602
Falls NP ⊆ BPP ist, sind alle Probleme in NP praktisch
lösbar.
Theorem 10.5.3:
BPP ⊆ RP(NP) ∩ co-RP(NP).
Beweis:
Daran glauben wir nicht!
Nur zu zeigen: BPP ⊆ RP(NP).
Dies haben wir im Beweis von Theorem 10.5.1 gezeigt.
Es war stets mindestens die Hälfte aller z geeignet.
Können wir dies erhärten?
Welche Ergebnisse würden dies erhärten?
Z. B.
NP ⊆ BPP → NP = P.
Z. B.
NP ⊆ BPP →
Σ2 = NP.
Beides nicht bewiesen, wohl aber: NP ⊆ BPP ⇒ NP = RP.
. – Seite 193/602
Zur Vorbereitung:
Wie mächtig ist ein BPP-Algo. mit einem BPP-Orakel?
D. h.:
∃ rand. Algo. A mit Fehlerw.keit 1/3, der L mit zweiseitigem
Fehler löst, dabei aber ein Unterprogramm U für L0 benutzt,
das fehlerfrei ist. Laufzeit polynomiell, p(|x|), also auch
höchstens p(|x|) Aufrufe von U .
Zur Erinnerung:
NP(NP) = Σ2 ist vermutlich ungleich NP = Σ1 .
Aber P(P) = P.
Theorem 10.5.4
Beweis
„⊆“
∃ rand. Algo. A0 mit Fehlerw.keit 1/3, der L0 mit zweiseitigem
Fehler löst, Laufzeit polynomiell.
BPP(BPP) = BPP.
„⊇“ trivial.
L ∈ BPP(BPP)
⇒
. – Seite 194/602
−→ U durch A0 ersetzen,
aber: Fehlerwahrscheinlichkeit zu groß.
∃L0 ∈ BPP : L ∈ BPP(L0 ).
. – Seite 195/602
. – Seite 196/602
Zwischenbemerkung
Also: vorher probability amplification.
A → A∗
A0 → A00
mit Fehlerw.keit 1/6.
mit Fehlerw.keit 1/(6p(|x|)).
Wir werden verwenden:
NP ⊆ BPP ⇒ NP(BPP) ⊆ BPP(BPP).
Nun A∗ verwenden und U durch A00 ersetzen.
Rechenzeit ist polynomiell.
Das sieht trivial aus, für einen formal vollständigen
Beweis ist etwas Aufwand nötig, den wir hier nicht
betreiben.
Fehler ⇒ A∗ macht Fehler oder mind. einer der ≤ p(|x|)
A00 -Aufrufe macht Fehler.
Fehlerw.keit ≤
1
6
+ p(|x|) ·
1
6p(|x|)
= 13 .
. – Seite 197/602
NP ⊆ BPP ⇒ PH ⊆ BPP.
S
PH =
Σk .
Korollar 10.5.5
Beweis
. – Seite 198/602
Theorem 10.5.6
Beweis
NP ⊆ BPP ⇒ NP = RP.
RP ⊆ NP gilt sowieso.
k≥1
Zeige also: NP ⊆ BPP ⇒ Σk ⊆ BPP.
Also zu zeigen: NP ⊆ BPP ⇒ NP ⊆ RP.
Induktion über k :
k = 1: NP ⊆ BPP ⇒ NP ⊆ BPP (trivial).
Es genügt zu zeigen: Sei L ein beliebiges NP-vollständiges
Problem.
Dann gilt: NP ⊆ BPP ⇒ L ∈ RP.
k − 1 → k : Σk
Für alle L0 ∈ NP gilt: L0 ≤p L.
Mit L ∈ RP ist auch L0 ∈ RP.
= NP(Σk−1 )
⊆ NP(BPP)
⊆ BPP(BPP)
= BPP
(Ind.vorauss.)
(vorige Seite)
(Theorem 10.5.4).
. – Seite 199/602
. – Seite 200/602
Wir betrachten Graphenfärbungsprobleme (minimale
Überdeckungen des Komplementgraphen mit Cliquen).
GC: Eingabe G = (V, E), k .
Gibt es eine legale Färbung von G mit k Farben?
GC ist NP-vollständig (Theorem 6.5.2).
G = (V, E), n = |V |, V = {1, . . . , n}
Färbungen: f : V → {1, . . . , n} oder auch
c = (c1 , . . . , cn ) ∈ {1, . . . , n}n mit ci := f (i).
LEX-GC: Eingabe G = (V, E).
Berechne den Färbungsvektor, der unter allen
legalen Färbungen mit minimaler Färbungszahl
χ(G) der lexographisch kleinste ist. Dieser soll
f (G) heißen.
(Dies ist ein eindeutig lösbares Suchproblem.)
f ist legal für G, wenn f (i) 6= f (j) für alle {i, j} ∈ E ist.
Färbung c ist lexikographisch kleiner als c0 , wenn c <lex c0
gilt, d. h. für das kleinste i mit ci 6= c0i ist ci < c0i .
MIN-GC: Eingabe G = (V, E), c ∈ {1, . . . n}n , n = |V |.
Ist c ≥ f (G)?
(Dabei muss c keine legale Färbung sein.)
. – Seite 201/602
Beweisidee:
1
Zeige, MIN-GC ∈ Σ2 .
2
Voraussetzung impliziert Σ2 ⊆ BPP (Korollar 10.5.2).
3
Also MIN-GC ∈ BPP. Folgere daraus LEX-GC ∈ BPP.
4
LEX-GC ∈ BPP ⇒ GC ∈ RP.
. – Seite 202/602
1
zu (G, C) ∈ MIN-GC ⇔
f (G) ≤ c
⇔
∃c0 ∈ {1, . . . , n}n ∀c00 ∈ {1, . . . , n}n :
c0 ist legale Färbung von G und
(c00 ist keine legale Färbung von G oder
(c00 ist legale Färbung von G und c0 ≤ c und
c00 benutzt mindestens so viele Farben wie c0 ))
Falls korrekt, ist dies eine Σ2 -Darstellung.
. – Seite 203/602

polyn.



 über
prüf


bar
. – Seite 204/602
„⇐ “
„⇒ “ Wähle c0 := f (G). Dann ist c0 legale Färbung.
(indirekt)
Sei f (G) > c. Dann ist c
entweder keine legale Färbung
oder c benutzt mehr Farben als nötig.
Sei c00 ∈ {1, . . . n}n .
Die zweite Bedingung ist erfüllt, wenn c00 keine legale
Färbung von G ist.
Wir zeigen, dass die Beschreibung nicht erfüllt ist, also
∀c0 ∃c00 : c0 nicht legal oder
(c00 legal und (c00 nicht legal oder c0 > c oder
c00 benutzt weniger Farben als c0 ))
Ansonsten ist c00 legale Färbung von G und muss
mindestens so viele Farben wie c0 = f (G) benutzen.
Schließlich ist c0 = f (G) ≤ c nach Voraussetzung.
Falls c0 nicht legal, c00 beliebig.
Falls c0 legal und c0 > c, c00 beliebig.
Falls c0 legal und c0 ≤ c < f (G), c00 := f (G).
. – Seite 205/602
2
Zu 3
Zu NP ⊆ BPP ⇒ Σ2 ⊆ BPP (nach Korollar 10.5.5)
1 und 2 ⇒ MIN-GC ∈ BPP.
. – Seite 206/602
4:
Zu Algo. für LEX-GC mit Orakel MIN-GC:
Binäre Suche auf {1, . . . , n}n bezüglich lex. Ordnung.
Anfrage (G, c).
Antwort: Ja, d. h. c ≥ f (G).
Nein, d. h. c < f (G).
Anzahl der Anfragen ≤ dlog nn e = dn log ne.
RP-Algo für GC
Sei A BPP-Algo. für LEX-GC.
Beschreibung eines Algo. A0 für GC.
Eingabe: G = (V, E), k .
Rufe A für G auf. Ergebnis c.
Akzeptiere, wenn c legal für G ist und höchstens k Farben
benutzt, und verwerfe sonst.
Die Antwort „Akzeptieren“ ist korrekt, da wir eine passende
Färbung kennen. Also hat A0 einseitigen Fehler.
MIN-GC ∈ BPP. Mit probability amplification Fehlerw’keit
1
≤ 13 · dn log
ne .
Obiger Algo. ist dann ein BPP-Algo für LEX-GC.
. – Seite 207/602
. – Seite 208/602
Wenn A auf G keinen Fehler macht, ist c = f (G).
Die strukturelle Komplexitätstheorie
Dann ist c legal für G.
Falls c mehr als k Farben benutzt, gibt es keine Färbung mit
k Farben und die Antwort „Verwerfen“ ist korrekt.
→ Fehlerw’keit ≤ 1/3 (wie A).
klärt das Verhältnis zwischen Komplexitätsklassen
besser auf und ermöglicht Resultate für konkrete Probleme
(unter stärkeren Annahmen als NP 6= P, siehe Kap. 11).
Wo war der Trick?
Die LEX-GC Antwort konnte fehlerhaft sein. Wenn sie
korrekt ist, kann aus ihr χ(G) ≤ k überprüft werden. Der
Fehler kann auf die eine Antwortseite „geschoben“ werden.
. – Seite 209/602
. – Seite 210/602
11 Interaktive Beweise
11.1 Einführende Diskussion
Bob ist der Beweiser oder „prover“.
Er ist mächtig, also schlau oder hat beliebige Rechenzeit.
Was ist ein Beweis?
– Formal gültige Schlussfolgerungen aus Axiomen.
Victoria soll die Beweise verifizieren („verifier“). Mit
normalen Ressourcen, also polynomieller Rechenzeit.
– Dialoge zwischen dem Lehrer Sokrates und seinen
Schülern.
Was will Bob beweisen?
– Akzeptanz zur Veröffentlichung in einer international
renommierten Fachzeitschrift.
L ∈ NP ⇔
∃L0 ∈ P: L = {x | ∃y, |y| ≤ p(|x|) : (x, y) ∈ L0 }
x ∈ L!
Bob führt den Beweis durch Angabe von y .
Victoria verifiziert den Beweis durch Überprüfung, ob
(x, y) ∈ L0 ist.
. – Seite 211/602
. – Seite 212/602
Was ist mit z. B. Σ3 :
∃y1 ∀y2 ∃y3 : (x, y1 , y2 , y3 ) ∈ L0 ?
Vorgehen:
11.2 formale Definitionen
Für x kann Bob y1 liefern, aber er kann Victoria
nicht alle y2 vorlegen.
Victoria weiß nicht, mit welchem y2 sie Bob eventuell
reinlegen kann. Zufällige Wahl hilft nur, wenn viele y2
Bob in Schwierigkeiten bringen
11.3 GI NP-vollständig ⇒ Σ2 = Π2 (⇒ PH = Σ2 ).
11.4 Zero-Knowledge Beweise
Ich beweise, dass ich etwas weiß, ohne etwas
über dieses Wissen zu verraten.
(Anwendung: passwords)
−→ randomisierte Dialoge mit kleinen
Fehlerwahrscheinlichkeiten.
12 PCP-Theorem
. – Seite 213/602
. – Seite 214/602
11.2 Interaktive Beweissysteme
(interactive proof systems)
Definition 11.2.2
Definition 11.2.1
Interaktives Beweissystem =
Kommunikationsprotokoll (wer redet zuerst) zwischen
B (Bob) und V (Victoria), wobei B und V randomisierte
Algorithmen sind.
Rechenzeit von V (aber nicht von B ) polynomiell
beschränkt.
Anzahl von Kommunikationsrunden kann von Eingabe
und Zufall abhängen.
Durch das Protokoll wissen beide, wann die
Kommunikation endet.
Victoria entscheidet dann, ob Eingabe akzeptiert wird.
L ∈ IP : ⇔
∃ Kommunikationsprotokoll K
∃ rand. poly. zeitbeschränkter Algo. V :
∃ rand. Algo. B : ∀x ∈ L : Prob(DB,V (x) = 1) ≥ 3/4
und
∀ rand. Algo. B : ∀x ∈
/ L : Prob(DB,V (x) = 1) ≤ 1/4.
L ∈ IP(k) ⇔ L ∈ IP und K hat ≤ k Runden.
(Runde = Redebeitrag von B oder V .)
Zufallsvariable DB,V (x)
. – Seite 215/602
. – Seite 216/602
– Probability amplification wie bei BPP.
Bemerkung
Bob sendet y .
Victoria akzeptiert, wenn (x, y) ∈ L0 ist.
– Probability amplification erhöht die Rundenzahl nicht.
Bei t unabhängigen Versuchen übermittelt jeder in einer
Runde alle t Beiträge.
– O. B. d. A.: Bob redet in der letzten Runde.
Es nützt Victoria nichts, eine Botschaft ohne Antwort zu
schicken, wenn sie die Entscheidung treffen muss.
NP ⊆ IP(1).
Falls x ∈ L, akzeptiert Victoria.
Falls x ∈
/ L, kann sie nicht reingelegt werden.
Konsequenz
IP(1) ziemlich groß, aber IP wohl sehr groß.
Einschub
IP = PSPACE ⊇ PH.
Hier nie mehr als 3 Kommunikationsrunden.
. – Seite 217/602
. – Seite 218/602
11.3 Zur Komplexität von GI
Zunächst Automorphismen auf einem Graphen G.
2
3
1
G = (V, E) und G0 = (V 0 , E 0 ) sind isomorph, wenn es eine
bijektive Abbildung f : V → V 0 mit
„{u, v} ∈ E ⇐⇒ {f (u), f (v)} ∈ E 0 “ gibt.
Ein paar Grundlagen zu GI.
Insbesondere muss |V | = |V 0 | sein. In Zukunft stets
n = |V | = |V 0 |.
4
f (1) = 1, f (2) = 4, f (3) = 3, f (4) = 2,
dann f (G) = G, genauer {u, v} ∈ E ⇐⇒
{f (u), f (v)} ∈ E .
Aber f (1) = 4, f (2) = 2, f (3) = 1, f (4) = 3,
dann {1, 2} ∈
/ E , aber {f (1), f (2)} ∈ E .
Aut(G) := {f : V → V bijektiv | f (G) = G}
Automorphismengruppe bezüglich „◦“,
Hintereinanderausführung von Funktionen.
Schreibweise: G ≡ G0 für G und G0 sind isomorph.
Wieviele Isomorphieabbildungen f : V → V 0 gibt es?
f, g ∈ Aut(G) ⇐⇒
({u, v} ∈ E ⇔ {g(u), g(v)} ∈ E ⇔ {f ◦ g(u), f ◦ g(v)} ∈ E)
. – Seite 219/602
. – Seite 220/602
G ≡ H . O. B. d. A. VG = VH = {1, . . . n}.
Dann gibt es |Aut(H)| viele Permutationen π ∈ Sn mit
H = π(G).
π0
Für jeden zu H isomorphen Graphen G gibt es gleich viele,
nämlich |Aut(H)|, Isomorphieabbildungen.
Also gibt es n!/|Aut(H)| zu H isomorphe Graphen.
π 0 (G).
Es gibt ein ∈ Sn mit H =
Alle π ∗ ◦ π 0 , π ∗ ∈ Aut(H), sind geeignet:
π ∗ ◦ π 0 (G) = π ∗ (H) = H .
Wählen wir π ∈ Sn zufällig, ist π(H) gleichverteilt auf den zu
H isomorphen Graphen.
Falls π(G) = H , ist G = π −1 (H) und
H = π 0 (G) = π 0 ◦ π −1 (H). Insbesondere ist
π ∗ := π 0 ◦ π −1 ∈ Aut(H) und auch π ∗−1 ∈ Aut(H). Es folgt:
π ∗ = π 0 ◦ π −1 ⇒ id = π ∗−1 ◦ π 0 ◦ π −1 ⇒ π = π ∗−1 ◦ π 0 und π
gehört zu den oben betrachteten Abbildungen.
Erhalten wir π(H), wissen wir über H nur, dass es einer der
zu π(H) isomorphen Graphen ist.
. – Seite 221/602
. – Seite 222/602
Beweis
Wozu das alles?
Eingabe
G0 = (V0 , E0 ), G1 = (V1 , E1 ), V0 = V1 = {1, . . . , n}.
Es ist NP ⊆ IP(1), aber für kein NP-vollständiges Problem L
ist L ∈ IP(2) bekannt.
Victoria: Zufällig nach Gleichverteilung i ∈ {0, 1} und π ∈ Sn .
Sie berechnet H = π(Gi ) und sendet H an Bob.
Wir zeigen GI ∈ IP(2) als Indiz, dass GI nicht NP-vollständig
ist.
Bob:
Theorem 11.3.1
Er berechnet ein j ∈ {0, 1} und sendet j an Victoria.
Victoria: Sie akzeptiert, d. h. sie glaubt, dass G0 6≡ G1 ,
wenn i = j ist.
GI ∈ IP(2).
Offensichtlich ist V ein rand. poly. Algo.
(Realisierung der Gleichverteilung auf Sn ein kleines
Problem.)
. – Seite 223/602
. – Seite 224/602
1. Fall: G0 6≡ G1 .
Dann ist H 6≡ Gi und H 6≡ G1−i .
2. Fall: G0 ≡ G1 .
Bob kann alle π ∈ Sn auf G0 und G1 anwenden und damit i
berechnen.
Bob sendet dieses i und Victoria akzeptiert.
Sogar Fehlerwahrscheinlichkeit 0, d. h. einseitiger Fehler.
Es ist H ein nach Gleichverteilung gewählter Graph aus der
Menge der zu G0 (und damit auch zu G1 ) isomorphen
Graphen.
Es ist Prob(i = 0) = Prob(i = 1) = 1/2 nach
Protokollvorschrift. Nun sind H und i unabhängig, also
Prob(i = 0 | H) = Prob(i = 1 | H) = 1/2.
Egal, was Bob macht, Prob(i = j) = 1/2.
. – Seite 225/602
. – Seite 226/602
Interaktives Beweissystem verbinden
Also einseitiger Fehler mit Fehlerwahrscheinlichkeit 1/2.
– Randomisierung (B und V sind rand. Algorithmen) und
Probability amplification (2 Versuche)
Fehlerwahrscheinlichkeit 1/4.
– Nichtdeterminismus (Bob kann Beweis liefern).
Nun arbeiten wir auf ein stärkeres Indiz für GI ∈
/ NPC hin:
GI ∈ NPC ⇒ Σ2 = Π2 .
Bezug zu BPP(NP) ?
Aber BPP(NP) = co-BPP(NP), während Komplementbildung bei interaktiven Beweisen nicht trivial ist.
→ Einschränkung von BPP auf einen „BP-Operator“.
. – Seite 227/602
. – Seite 228/602
Definition 11.3.2
L := BP(C) : ⇐⇒
Wir sind an BP(NP) interessiert. Dann können wir für
L0 ∈ NP die logikorientierte Darstellung verwenden:
∃ L0 ∈ C ∃ p Polynom : r ∈ {0, 1}p(|x|) rein zufällig
∃ L00 ∈ P : (x, r) ∈ L0 ⇐⇒ ∃ y : (x, r, y) ∈ L00 .
– x ∈ L ⇒ Prob((x, r) ∈ L0 ) ≥ 34 ,
Wir erhalten:
– x∈
/ L ⇒ Prob((x, r) ∈ L0 ) ≤ 14 .
Wenn C nicht gegen Komplement abgeschlossen, z. B. NP,
dann Komplementbildung nicht einfach. L0 kann nicht durch
0
L ersetzt werden.
BP(C) ⊆ BPP(C) : Sei L ∈ BP(L0 ). Erzeuge r.
Unterprogramm testet, ob (x, r) ∈ L0 . Antwort wird
übernommen.
L ∈ BP(NP) ⇐⇒ ∃ L00 ∈ P ∃ p Polynom:
– x ∈ L ⇒ Prob(∃ y : (x, r, y) ∈ L00 ) ≥ 34 ,
– x∈
/ L ⇒ Prob(∃ y : (x, r, y) ∈ L00 ) ≤ 14 .
Dabei gibt p eine Schranke für die Länge von y und r an.
. – Seite 229/602
Bei IP(2) kann Bob beliebig lange rechnen.
Bei BP(NP) ist die Allmacht auf „∃ y “ eingeschränkt.
Daher überrascht folgendes Ergebnis nicht.
Theorem 11.3.3
. – Seite 230/602
Beweis
Sei L ∈ BP(NP) und L00 ∈ P mit
– x ∈ L ⇒ Prob(∃ y : (x, r, y) ∈ L00 ) ≥ 34 ,
– x∈
/ L ⇒ Prob(∃ y : (x, r, y) ∈ L00 ) ≤ 14 .
BP(NP) ⊆ IP(2).
Kommunikationsprotokoll mit 2 Kommunikationsrunden:
Victoria erzeugt r zufällig und sendet r an Bob. (Polyn. Zeit)
Bob berechnet ein y und sendet y an Victoria.
Victoria akzeptiert genau dann, wenn (x, r, y) ∈ L00 ist.
(Polyn. Zeit)
x ∈ L : Bob kann Akzeptanzw.keit auf ≥ 34 bringen.
x∈
/ L : Bob kann Akzeptanzw.keit nicht auf > 14 bringen. . – Seite 231/602
. – Seite 232/602
Historische Anmerkung:
BP(NP) heißt manchmal auch AM.
Victoria
−→ König Artus (Arthur).
Bob allmächtig −→ Zauberer Merlin.
AM = BP(NP).
Protokoll aus dem letzten Beweis:
GI ∈ IP(2).
Verbesserung von Theorem 11.3.1:
Theorem 11.3.4 GI ∈ BP(NP).
(Daraus später relativ einfach: GI ∈ NPC ⇒ Σ2 = Π2 .)
BP → A
NP → M
Beweis (nicht so einfach)
Wir brauchen Ergebnisse über Familien von
Hashfunktionen, die wir auf Vorrat bereitstellen.
Arthur-Merlin-Spiel.
. – Seite 233/602
Hashing mit Universum U = {0, 1}l und Wertebereich
B = {0, 1}k .
Für k × l-Matrizen W über {0, 1} sei
hW (z) := W · z
. – Seite 234/602
Sei z ∈ {0, 1}l und z 6= 0l , also zj = 1 für ein j .
Prob(hW (z)i = 1) =
1
2
(bei zuf. Wahl von W ).
Beweis
(Matrix-Vektor-Produkt in Z2 ).
hW (z)i =
H := {hW | W ∈ {0, 1}k·l }.
X
1≤m≤l
m6=j
|
(W wird der Zufallsvektor r werden.)
wim zm + wij zj
| {z }
{z
A
}
=wij
Unabhängig von A nimmt A + wij bei zufälliger Wahl von
wij die Werte 0 und 1 mit W.keit 1/2 an.
hW (0l ) = 0k für jedes W , daher werden wir z = 0l
vermeiden.
. – Seite 235/602
. – Seite 236/602
Weiterhin z 6= 0l .
Nun zu GI ∈ BP(NP).
Prob(hW (z) = y) = 2−k für jedes y ∈ {0, 1}n ,
da die Zeilen von W unabhängig gewählt werden.
Eingabe x = (G0 , G1 ), G0 = (V0 , E0 ), G1 = (V1 , E1 ), V0 = V1 =
{1, . . . , n}.
Sei z 6= z 0 , z 6= 0l , z 0 6= 0l . Dann sind hW (z) und hW (z 0 )
unabhängig.
Wie unterscheiden wir G0 ≡ G1 von G0 6≡ G1 ?
Y0 := {(H, π) | π ∈ Aut(H) und H ≡ G0 }, Y1 analog.
zj0 .
Beweis ∃ j : zj 6=
Also wij zj = wij zj0 ⇔ wij = 0, also mit W.keit 1/2.
P
P
0 .
Sei A =
wim zm , A0 =
wim zm
m6=j
(A, A0 )
|Y0 | = |Y1 | = n!
Falls h ≡ G0 , ist |Aut(H)| = |Aut(G0 )| und es gibt
n!/|Aut(G0 )| zu G0 isomorphe Graphen.
m6=j
{0, 1}2 :
Für alle
∈
Prob(A + wij zj = A0 + wij zj0 ) = 1/2.
Wieder gilt dies für alle i, da Zeilen in W unabhängig.
. – Seite 237/602
Y := Y (G0 , G1 ) := Y0 ∪ Y1 .
− G0 ≡ G1 ⇒ Y0 = Y1 ⇒ |Y | = n!
6 G1 ⇒ Y0 ∩ Y1 = ∅ ⇒ |Y | = 2 · n!
− G0 ≡
)
Das ist der
entscheidende
Unterschied.
Aber wie berechnen wir |Y |?
Es genügt eine randomisierte approximative Berechnung
mit Fehlerw.keit 1/4!
Wir vergrößern den Unterschied etwas:
. – Seite 239/602
. – Seite 238/602
Y 0 := Y × Y × Y × Y × Y .
G0 ≡ G1 ⇒ |Y 0 | = (n!)5 .
G0 6≡ G1 ⇒ |Y 0 | = 32 · (n!)5
Wir erinnern an die „Zielcharakterisierung“
. . . Prob(∃ y : (x, r, y) ∈ L0 ) ≥3/4
≤1/4
x = (G0 , G1 ), r = W (Hashfunktion)
y = (y 0 , y 00 ) mit y 0 ∈ Y 0 .
Neues Problem: Wie überprüfen wir, ob y 0 ∈ Y 0 ist?
Mit y 00 !
y 0 besteht aus
H1 , π1 , H2 , π2 , H3 , π3 , H4 , π4 , H5 , π5 , πi ∈ Aut(Hi ),
y 00 besteht aus α1 , α2 , α3 , α4 , α5 mit Hi = αi (G0 ) oder
Hi = αi (G1 ).
Bedingungen sind in poly. Zeit überprüfbar.
. – Seite 240/602
Codierung von y 0 als 0-1-String der Länge l und y 0 6= 0l .
Schließlich
L0 := {x = (G0 , G1 ), r = W, y = (y 0 , y 00 ) | y 00 beweist
y 0 ∈ Y 0 und W · y 0 = 0k }.
Offensichtlich L0 ∈ P.
Also y 0 ∈ Y 0 gesichert.
Wie aber schätzen wir |Y 0 |?
(
1 falls hW (y 0 ) = 0k
Wir berechnen S(y 0 ) :=
0 sonst.
Uns interessiert
Prob(∃ y = (y 0 , y 00 ) : (x = (G0 , G1 ), r = W, y = (y 0 , y 00 )) ∈ L0 )
Dabei ist W zufällige k × l-Matrix über {0, 1}, hW die
beschriebene Hashfunktion W · y 0 , wobei k später
spezifiziert wird.
Daher haben wir gezeigt:
Prob(S(y 0 ) = 1) = 2−k , E(S(y 0 )) = 2−k ,
V (S(y 0 )) = 2−k (1 − 2−k ) ≤ 2−k .
oder verkürzt (zu y 0 ∈ Y 0 gibt es stets passendes y 00 )
Sei S :=
P
y 0 ∈Y 0
Prob(∃ y 0 ∈ Y 0 : hW (y 0 ) = 0k ).
S(y 0 )= #{y 0 ∈ Y 0 | hW (y 0 ) = 0k }
zufällig bzgl. W .
Dann interessiert uns Prob(S ≥ 1).
. – Seite 241/602
. – Seite 242/602
Jetzt genauer:
S ist die Summe von paarweise unabhängigen
Zufallsvariablen.
Stets ist
X
E(S) =
E(S(y 0 )) = |Y 0 | · 2−k
k := dlog(4 · (n!)5 )e.
/ GI. Ziel: Prob(S ≥ 1) ≤ 1/4.
G0 ≡ G1 , also (G0 , G1 ) ∈
y 0 ∈Y 0
E(S) = (n!)5 · 2−dlog(4·(n!)
und damit im Fall G0 6≡ G1 um den Faktor 32 größer als im
Fall G0 ≡ G1 .
Wegen paarweiser Unabhängigkeit ist
X
V (S) =
V (S(y 0 )) ≤ |Y 0 | · 2−k = E(S)
5
)e
Markoffsche Ungleichung
X ≥ 0) für t = 1, also
Prob(S ≥ 1) ≤ 1/4.
≤ 1/4.
(Prob(X ≥ t) ≤ E(X)/t, falls
y 0 ∈Y 0
und damit nicht sehr groß, so dass wir den obigen
Unterschied ausnutzen können.
. – Seite 243/602
. – Seite 244/602
Theorem 11.3.5
GI NP-vollständig ⇒ Σ2 = Π2 .
G0 6≡ G1 , also (G0 , G1 ) ∈ GI. Ziel: Prob(S ≥ 1) ≥ 3/4.
Äquivalent Prob(S = 0) ≤ 1/4.
Beweis
Wie stets nur Σ2 ⊆ Π2 zeigen (siehe Lemma 10.4.2).
5
E(S) = 32 · (n!)5 · 2−dlog(4·(n!) )e
5
≥ 32 · (n!)5 · 12 · 2− log(4·(n!) ) = 4.
Sei also L ∈ Σ2 , d. h Darstellung durch ∃ ∀ P.
Da GI ∈ NPC, ist GI ∈ co-NPC, d. h ∀ kann durch GI ersetzt
werden: ∃ GI P.
Tschebyscheffsche Ungleichung:
Prob(|X − E(X)| ≥ t) ≤ V(X)/t2 .
Theorem 11.3.4
t
z }| {
Prob(S = 0) ≤ Prob(|S − E(S)| ≥ E(S)) ≤ V (S)/ E(S)2
≤ 1/ E(S)
(da V (S) ≤ E(S), siehe oben)
≤ 1/4.
GI ∈ BP(NP) : ∃ BP ∃ P.
. – Seite 245/602
Ziel: ∃ BP ∃ P → BP ∃ P.
. – Seite 246/602
Sei also eine ∃ BP ∃ P-Darstellung von L gegeben,
ausführlich
Wenn wir dies wissen, nutzen wir BPP ⊆ Π2 aus
(Theorem 10.5.1).
∃ L0 ∈ P :
– x ∈ L ⇒ ∃ y : Prob(∃ z : (x, y, z, r) ∈ L0 ) ≥ 3/4,
Nach Definition ist BP(P) ⊆ BPP und damit
– x∈
/ L ⇒ ∀ y : Prob(∃ z : (x, y, z, r) ∈ L0 ) ≤ 1/4.
BP P → ∀ ∃ P
Wahrscheinlichkeiten beziehen sich auf zufällige Wahl
von r.
Wir brauchen
BP ∃ P → ∀ ∃ ∃ P.
Probability amplification
(Dies lässt sich wie Theorem 10.5.1 beweisen.)
≥ 1 − 2−p(n) /4,
≤ 2−p(n) /4.
Also
BP ∃ P → ∀ ∃ ∃ P → ∀ ∃ P =
ˆ Π2 -Darstellung.
. – Seite 247/602
Dabei ist p ein Polynom, das die Länge von y, z und r
beschränkt. Probability amplification verlängert z und r,
aber nicht x und y.
. – Seite 248/602
Beachte: ∃ y bedeutet Existenz von y unabhängig von der
zufälligen Wahl von r.
Annahme:
∃x ∈
/ L : Prob(∃ (y, z) : (x, y, z, r) ∈ L0 ) > 1/4.
Damit:
D. h. für mehr als ein Viertel aller r gibt es ein
gutes Paar (y, z).
Schreibe Tabelle
gutes Paar (y, z)
r
x ∈ L ⇒ Prob(∃ (y, z) : (x, y, z, r) ∈ L0 )
≥ 1 − 2−p(n) /4 ≥ 3/4.
Wenn y existiert, existiert es noch nach Wahl von r.
Es gibt 2p(n) y -Vektoren.
Der Fall „x ∈
/ L“ ist nicht ganz so einfach.
Wir gehen indirekt vor.
Schubfachprinzip: Es gibt y ∗ , das in einem Anteil von
≥ 2−p(n) aller Zeilen mit gutem
(y, z)-Paar steht.
Da mehr als ein Viertel aller r in der Tabelle vorkommen, ist
y ∗ für einen Anteil > 2−p(n) /4 aller r eine gute Wahl.
. – Seite 249/602
. – Seite 250/602
Fazit:
Also
– Ergebnisse für das konkrete Problem GI über
– BPP ⊆ Σ2 ∩ Π2 ,
– Klassen wie BP(NP),
– motiviert durch interaktive Beweissysteme.
∃ y (nämlich y ∗ ):
Prob(∃ z : (x, y, z, r) ∈ L0 ) > 2−p(n) /4, Widerspruch.
Also Annahme falsch und
x∈
/ L ⇒ Prob(∃ (y, z) : (x, y, z, r) ∈ L0 ) ≤ 1/4.
Dies ist die gesuchte BP ∃ P-Darstellung.
. – Seite 251/602
– Bisher NP 6= P ⇒ SAT, TSP, . . . sind schwierig.
Jetzt Σ2 6= Π2 ⇒ GI ist nicht so schwierig (NPC) wie
vielleicht gedacht.
Also auch Komplexitätstheorie für „positive“
Nachrichten.
. – Seite 252/602
11.4 Beweissysteme, die kein Wissen
preisgeben
NP ⊆ IP(1).
Bob gibt den „Beweis“, die große Clique, die billige Tour,
. . . bekannt.
Definition 11.4.1
Ein interaktives Beweissystem (B, V ) für L hat die perfekte
Zero-Knowledge-Eigenschaft,
Bob will kein Wissen preisgeben.
Kommunikation ohne Informationsübertragung ist Blabla.
wenn es für jeden rand. Algo. V 0 , der in das
Kommunikationsprotokoll passt, und das Beweissystem
(B, V 0 ) einen rand. Algo. A mit maximaler erwarteter
polynomieller Rechenzeit gibt, der für jedes x ∈ L die
Informationen aus der Ausführung von (B, V 0 ) mit
denselben Wahrscheinlichkeiten liefert.
Definition von „kein Wissen preisgeben“:
Victoria kann sich das gewonnene Wissen in erwarteter
polynomieller Zeit ohne Kommunikation verschaffen.
Bob liefert keine neue Information, da sich Victoria die
Information auch ohne ihn beschaffen kann.
. – Seite 253/602
. – Seite 254/602
Interessant ist dies nur, wenn Bob wirklich etwas weiß, was
sich Victoria nicht so beschaffen kann.
Theorem 11.4.2 Für GI gibt es ein interaktives
Beweissystem mit perfekter Zero-Knowledge-Eigenschaft.
Also sollte es sich um Lösungen von Problemen, die
vermutlich nicht in P enthalten sind (oder auch nur in BPP),
handeln.
Beweis G0 und G1 mit G0 ≡ G1 .
Bobs Geheimnis: π ∗ mit π ∗ (G0 ) = G1 .
Für NPC-Probleme nicht bekannt, aber für GI.
Also
Ziel: Isomorphiebeweis, ohne etwas über π ∗ zu verraten.
Wo ist der Trick?
Bob beweist die Isomorphie von G0 oder G1 zu einem
dritten Graphen H .
– weiteres Indiz, dass GI ∈
/ NPC,
– schwieriges Problem mit perfekter
Zero-Knowledge-Eigenschaft.
. – Seite 255/602
. – Seite 256/602
Betrug möglich!
Selbst für G0 6≡ G1 kann Bob H ≡ G0 erzeugen und diese
Isomorphie beweisen – und das können andere auch, ohne
Bobs Geheimnis zu kennen!
Kommunikationsprotokoll
Bob:
i ∈ {0, 1} zufällig, π ∈ Sn zufällig, H := π(Gi ),
H → Victoria.
Victoria: j ∈ {0, 1} zufällig, j → Bob.
Kontrolle möglich!
Victoria lässt sich H zeigen und entscheidet, ob Bob
H ≡ G0 oder H ≡ G1 beweisen soll.
Bob:
berechnet π 0 , π 0 → Victoria.
Victoria: akzeptiert ⇔ H = π 0 (Gj ).
Victoria braucht nur polynomielle Zeit.
. – Seite 257/602
Analyse des Protokolls
1.Fall:
. – Seite 258/602
2.Fall:
G0 6≡ G1
– i = j , π 0 := π ist weiterhin geeignet.
G0 ≡ G1 , π ∗ (G0 ) = G1 .
– i 6= j , also H ≡ Gi , Gi 6≡ Gj
insbesondere H 6≡ Gj und Victoria wird nicht
akzeptieren.
– i = j : π 0 := π ist geeignet, H = π(Gi ) ⇒ H = π 0 (Gj ).
– i = 1, j = 0, also H = π(G1 ) = π ◦ π ∗ (G0 )
und π 0 := π ◦ π ∗ ist geeignet.
– i = 0, j = 1, also H = π(G0 ). Außerdem G0 = (π ∗ )−1 (G1 ).
Also H = π ◦ (π ∗ )−1 (G1 ) und π 0 := π ◦ (π ∗ )−1 ist geeignet.
Fehlerw.keit 0, Bob arbeitet in polynomieller Zeit, wenn er
das Geheimnis π ∗ kennt.
. – Seite 259/602
i und j sind unabhängige Zufallsbits, also Prob(i = j) = 1/2.
Fehlerw.keit 1/2 (→ 1/4 mit prob. amplification).
Und nun die Zero-Knowledge-Eigenschaft.
Victoria erhält in dem Protokoll (H, j, π 0 ).
Falls G0 ≡ G1 , ist H ein zufälliger zu G0 und G1 isomorpher Graph,
j ein Zufallsbit,
H = π 0 (Gj ).
. – Seite 260/602
Algo A
Victoria könnte versuchen, Informationen zu gewinnen,
indem sie j nicht zufällig wählt, eventuell von H abhängig.
Sei also V 0 ein polynom. rand. Algo., der ein Bit j berechnet.
Wir benötigen einen rand. Algo. A mit polyn. erwarteter
Rechenzeit, der (H, j, π) berechnet mit
H zufälliger zu G0 und G1 isomorpher Graph,
j ein Bit mit gleicher Verteilung wie bei Verwendung von V 0 ,
H = π 0 (Gj ).
Trick: Victoria simuliert (B, V 0 ), bis ein Lauf „passend“ ist.
Wiederhole, bis i = j ist:
)
Simulation
– zufällig i ∈ {0, 1}, π ∈ Sn ,
von Bob
– berechne H = π(Gi ),
– simuliere V 0 bei Eingabe G0 , G1 , H , Ergebnis j ,
Ergebnis (H, j, π) aus dem letzten Schleifendurchlauf, also
i = j.
Rechenzeit pro Schleifendurchlauf polynomiell, da V 0
polynomiell. Da i Zufallsbit und j ohne Kenntnis von i
berechnet wird, Prob(i = j) = 1/2
→ erwartete Anzahl Schleifendurchläufe = 2.
. – Seite 261/602
Ob der Durchlauf die Eigenschaft „i = j “ hat, ist unabhängig
von (H, j), da i von ihnen unabhängig ist.
Achtung: H = π(Gi ), aber G0 ≡ G1 , würde für G1−i dieselbe
Verteilung liefern.
Also H zufälliger zu G0 und G1 isomorpher Graph.
Da j = i, ist j Zufallsbit.
Schließlich H = π(Gi ) und i = j , also H = π(Gj ).
. – Seite 263/602
. – Seite 262/602
Anwendung:
Bob wählt G0 , dann π ∗ ∈ Sn zufällig, G1 := π ∗ (G0 ). Er
veröffentlicht (G0 , G1 ) und bewahrt π ∗ als Geheimnis.
Achtung:
– (G0 , G1 ) sollte eine „schwierige“ Eingabe für GI sein.
– GI vermutlich nicht NP-vollständig.
Für NP-vollständige Probleme gibt es nur Zero-KnowledgeBeweissysteme unter kryptographischen Annahmen
(computational zero-knowledge proof).
. – Seite 264/602
Public-key Kryptographie ist nur möglich, wenn NP 6= P ist
und es sogar Einwegfunktionen (one-way functions) gibt:
f : {0, 1}∗ → {0, 1}∗ injektiv, polyn. berechenbar, aber es ist
in polynomieller Zeit nicht möglich, aus f (x) „Informationen“
über das letzte Bit von x zu berechnen.
→ effiziente Hinterlegung eines Bits b bei einem „Notar“
(→ öffentlich) (bit commitment).
→ Bob erzeugt r ∈ {0, 1}n−1 zufällig, n genügend groß,
x := rb, berechnet f (x), veröffentlicht f (x),
im Streitfall muss er x bekannt geben.
Injektivität verhindert Betrug.
Definition 11.4.3
Zero-Knowledge-Eigenschaft unter kryptographischen
Annahmen ist perfekte Zero-Knowledge-Eigenschaft unter
Verwendung von bit commitment.
Theorem 11.4.4
HC hat unter krypt. Annahmen ein interaktives
Beweissystem mit perfekter Zero-Knowledge-Eigenschaft.
Mit polyn. Reduktionen auf alle NPC-Probleme übertragbar.
. – Seite 265/602
Beweis
Allgemein bekannt: G = (V, E), V = {1, . . . , n}.
Bobs Geheimnis: H Hamiltonkreis auf G, beschrieben als
Kantenmenge.
Bob:
Victoria:
Bob:
Victoria:
π ∈ Sn zuf., G0 = π(G), Kantenliste K von G0 in zuf.
Reihenfolge, bit commitment jedes Bits von (π, K).
i ∈ {0, 1} zuf., i → Bob.
i = 0: Entschlüsselung aller Bits in (π, K).
i = 1: Entschlüsselung aller Bits der Kanten
von π(H).
i = 0: Akzeptanz, wenn sie ein π 0 ∈ Sn und eine
Kantenliste von π 0 (G) sieht.
i = 1: Akzeptanz, wenn die offen gelegten Kanten
einen Hamiltonkreis auf V bilden.
. – Seite 267/602
. – Seite 266/602
Victoria kommt mit polynomieller Zeit aus.
Falls Bob das Geheimnis kennt und sich protokollmäßig
verhält, akzeptiert Victoria. Fehlerw.keit 0.
Falls G keinen Hamiltonkreis enthält, kann Bob sich in der
ersten Runde entscheiden, ob er für i = 0 oder i = 1
Victoria überzeugen will, in beiden Fällen geht dies nicht.
Fehlerw.keit ≤ 1/2 (→ prob. ampl.).
. – Seite 268/602
Perfekte Zero-Knowledge-Eigenschaft
Nach Annahme enthalten die bit commitments keine
Information.
Victoria erhält
– mit W.keit 1/2 zuf. Permutation π und Beschreibung
von π(G) mit zuf. Reihenfolge der Kanten.
– mit W/keit 1/2 zuf. Permutation eines Hamiltonkreises H ,
dies ist dasselbe wie eine Permutation auf {1, . . . , n}.
Kryptographie ohne Randomisierung geht nicht,
z. B. zufällige Wahl des Schlüssels →
rand. Algorithmen.
Moderne Kryptographie basiert auf der
Komplexitätstheorie.
Sie kann eine Münze werfen und sich die gewünschte
Information auswürfeln.
. – Seite 269/602
. – Seite 270/602
12 Das PCP-Theorem und die Komplexität von Approximationsproblemen
Nun Kombination aus
–
–
–
–
–
12.1 Randomisierte Verifikation von Beweisen
Keine interaktiven Beweise mehr, sondern
randomisiert verifizierbare Beweise
(probabilistically checkable proofs, PCP).
NP ⊆ IP(1)
deterministisch verifizierbare Beweise.
. – Seite 271/602
NP-artiger Beweis,
von dem aber nur „wenig“ gelesen werden darf,
„wenige“ Zufallsbits,
einseitiger, co-RP-artiger Fehler,
nichtadaptiver Zugriff auf den Beweis, d. h. erst
Berechnung aller Positionen des Beweises, die
gelesen werden sollen, bevor das erste Beweisbit
gelesen wird.
. – Seite 272/602
Definition 12.1.1
r, q : N → N.
Ein (r(n), q(n))-beschränkter randomisierter
Beweisverifizierer ist ein polynomieller Algorithmus V .
Die Eingabe besteht aus
Da V in polyn. Zeit arbeitet, nur polynomiell beschränkte
Funktionen q und r sinnvoll.
Notation: O(0) = 0
Wir benötigen Komplexitätsklassen!
– der eigentlichen Eingabe x,
– r ∈ {0, 1}O(r(n)) zufällig und
– einem verborgenen Beweis B .
Es werden O(q(n)) Beweispositionen berechnet, die
entsprechenden Bits des Beweises dürfen gelesen werden,
der Rest bleibt verborgen. Dann wird die Entscheidung
V (x, r, B) ∈ {0, 1}, also akzeptieren oder nicht akzeptieren,
berechnet.
. – Seite 273/602
Definition 12.1.2
L ∈ PCP(r(n), q(n)) : ⇐⇒
Es existiert ein (r(n), q(n))-beschränkter rand.
Beweisverifizierer mit:
– x ∈ L ⇒ ∃ Beweis B(x): Prob(V (x, r, B(x)) = 1) = 1,
–x∈
/ L ⇒ ∀ Beweise B :
Prob(V (x, r, B) = 0) ≥ 1/2.
Erst einmal wollen wir bekannte Komplexitätsklassen
wiederfinden.
PCP(nk , q(n)).
Theorem 12.1.3 –
P = PCP(0, 0).
–
NP = PCP(0, poly).
– co-RP = PCP(poly, 0).
Beweis
Ohne Zufallsbits sind W.keiten 0 oder 1.
Dann ist die Entscheidung fehlerfrei.
Wenn kein Bit des Beweises gelesen werden darf, kann
man auf den Beweis verzichten.
PCP(r(n), nk ).
PCP(0, 0) = polyn. det. Rechnung ohne Beweis = P.
Probability amplification wie bei co-RP, parallele
Ausführung.
PCP(poly, q(n)) =
S
. – Seite 274/602
k∈N
PCP(r(n), poly) =
S
k∈N
Alles hübsch, aber was soll das?
. – Seite 275/602
. – Seite 276/602
PCP(0, poly) = polyn. det. Rechnung mit polyn. langem
Beweis, der ganz gelesen werden darf
= logikorientierte Charakterisierung von NP.
PCP(poly, 0) = polyn. det Rechnung mit polyn. langem
Zufallsstring und false positives
= polyn. rand. Rechnung mit false positives
= co-RP.
Theorem 12.1.4
L ∈ PCP(r(n), q(n)) ⇒
Es gibt nichtdet. Algorithmus, der L in Zeit 2O(r(n)+log n)
entscheidet.
Beweis
Der Beweis wird nichtdeterministisch erzeugt.
O(r(n))
Alle 2
Rechenwege werden jeweils in polyn. Zeit
p(n) = 2O(log n) simuliert.
Es wird genau dann akzeptiert, wenn auf allen
Rechenwegen akzeptiert wird.
. – Seite 277/602
Korollar 12.1.5
NP = PCP(log n, poly).
12.1.3
Beweis „⊆“ NP = PCP(0, poly) ⊆ PCP(log n, poly).
„⊇“ Theorem 12.1.4.
. – Seite 278/602
Feige, Goldwasser, Lovász, Safra, Szegedy (1991)
Kapitel 12.2
ressourcen beschr. rand. Beweisverifizierer
−→ Nichtapproximierbarkeit
Arora, Lund, Motwani, Sudan, Szegedy (1992)
PCP-Theorem
PCP-Theorem −→ Zeitschriftenversion 1998
NP = PCP(log n, 1)
Gödel-Preis 2001 an die neun Autoren dieser Arbeiten.
„⊇“ folgt aus Korollar 12.1.5, aber „⊆“?
. – Seite 279/602
. – Seite 280/602
Verbesserungen gegenüber der Originalarbeit:
9 Beweisbits −→ Fehlerw.keit ≤ 0.32.
3 Beweisbits −→ Fehlerw.keit ≤ 0.76.
(2 Beweisbits −→ Problem ∈ P.)
Varianten mit besseren Nichtapproximierbarkeitsbeweisen:
Bellare, Goldreich, Sudan (1998)
Arora, Safra (1998)
Lesbare Darstellungen des vollständigen Beweises:
Ausiello, Crescensi, Gambosi, Kann, Marchetti-Spaccamela,
Protasi (1991)
Mayr, Prömel, Steger (Hrsg.) (1998)
Es genügt zu zeigen: 3-SAT ∈ PCP(log n, 1).
Um zu zeigen, was konstant viele Beweisbits nutzen,
zeigen wir: 3-SAT ∈ PCP(n3 , 1).
Zufallsbits adressieren die Stellen im Beweis, die gelesen
werden sollen.
3
Hier: Beweise der Länge 2Θ(n ) .
PCP-Theorem: O(log n) Zufallsbits −→ nur polynomiell
lange Beweise sinnvoll.
. – Seite 281/602
Eingabe: 3-SAT Klauseln c1 , . . . , cm über x1 , . . . , xn .
Klassischer Beweis für Erfüllbarkeit:
. – Seite 282/602
Was muss beachtet werden?
1
a0 nicht erfüllend: B(a0 ) wird nicht akzeptiert
(mit W.keit ≥ 1/2).
erfüllende Belegung a = (a1 , . . . , ai , . . . , an )
Wenige Bits lesen −→ alle Belegungen dieser Variablen
ausprobieren.
Ziel: a −→ B(a) sehr lang.
Jedes Bit von B(a) enthält etwas Information
über jedes Bit von a.
Information wird verteilt/verschmiert.
. – Seite 283/602
2
Und was ist mit „Beweisversuchen“ b, die von allen
B(a00 ), a00 ∈ {0, 1}n verschieden sind?
2.1
2.2
b „weit“ entfernt von allen B(a00 ) → entlassen.
b „nahe“ an B(a00 ) → wird als B(a00 ) behandelt!
→
→
alle B(a00 ) sehr verschieden
Methoden für fehlerkorrigierende Codes.
. – Seite 284/602
Unser Vorgehen:
Dies ist der einfachere Teil des Beweises.
Was fehlt?
– a → Codierung von a
und zwar für alle a ∈ {0, 1}n .
c1 , . . . , cm nicht erfüllbar, B ein Beweisversuch, der keine
Codierung einer Eingabe a ist. Dann akzeptiert Victoria mit
W.keit ≤ 1/2.
– a erfüllend, Beweis enthält Codierung von a,
dann akzeptiert Victoria, also Codierung von a
als Beweis der Erfüllbarkeit brauchbar.
Erst einmal zur Codierung von a ∈ {0, 1}n .
– Klauseln nicht erfüllbar, aber Beweis enthält
Codierung eines a0 ∈ {0, 1}n . Dann akzeptiert
Victoria mit W.keit ≤ 1/2.
. – Seite 285/602
Arithmetisierung von 3-SAT-Formeln:
xi → 1 − xi , xi → xi , + → Produkt, ∧ → Addition
z. B.
(x1 +x2 +x3 )∧(x1 +x2 +x4 ) → (1−x1 )·x2 ·(1−x3 )+x1 ·c2 ·(1−x4 ).
Warum nicht + → Addition und ∧ → Produkt?
. – Seite 286/602
Wir haben die Kombinatorik verlassen und die Algebra
erreicht.
In welchem Körper arbeiten wir?
Es wird sich Z2 als günstig erweisen. Alles Folgende in Z2 .
Nun
Polynomgrad 3 für beliebig viele Klauseln.
p(a) =
ci durch a erfüllt ⇒ Term pi (a) = 0.
ci durch a nicht erfüllt ⇒ pi (a) = 1.
(
1 Anzahl nicht erfüllter Klauseln ist ungerade.
0 Anzahl nicht erfüllter Klauseln ist gerade.
Also: p(a) = 1 ⇒ a nicht erfüllend.
p(a) = 0 ⇒ ?
Also: p(a) = Anzahl der durch a nicht erfüllten Klauseln.
Was soll das? Eventuell p(a) = 0 für alle a ∈ {0, 1}n .
. – Seite 287/602
. – Seite 288/602
a erfüllend ⇒ ∀ i : pi (a) = 0 ⇒ ∀ r : pr (a) = 0.
Wir wollen Klauseln zufällig ausblenden.
Anzahl nicht erfüllter Klauseln :0.
a nicht erfüllend ⇒ p(a) = k > 0 in Z.
Das bleibt so, auch nach Ausblendung von Klauseln.
Es gibt i mit pi (a) = 1.
Anzahl nicht erfüllter Klauseln k > 0.
Es sei r = (r1 , . . . , rm ) „fast“ festgelegt, nämlich bis auf ri .
Ausblendung von Klauseln kann daraus
k 0 ungerade machen.
Dann führt genau einer der Werte ri = 0 und ri = 1 zu
pr (a) = 0 (in Z2 ).
Zufallsvektor r ∈ {0, 1}m , m = #Klauseln
pr (a) :=
X
1≤i≤m
ri · pi (a) =
X
Also Probr (pr (a) = 1) = 1/2.
Das ist der entscheidende Unterschied!
pi (a).
Beachte die Ähnlichkeit zu den Hashfunktionen hW .
i|ri =1
. – Seite 289/602
. – Seite 290/602
a → Wertetabellen von La1 , La2 und La3 .
Um pr (a) zu berechnen, muss Victoria a kennen,
kennt sie aber nicht!!!
Ziel der Codierung von a : Victoria kennt p und r, liest drei
Stellen der Codierung und kann pr (a) berechnen.
La1 : Zn2 → Z2 ,
P
ai y i .
La1 (y1 , . . . , yn ) :=
2
La2 : Zn2 → Z2 ,
La2 (y1,1 , . . . , yn,n ) :=
Wie geht das?
3
Codelänge: 2n
1≤i≤n
P
ai aj yi,j .
2n
2
2n
3
1≤i,j≤n
La3 : Zn2 → Z2 ,
La3 (y1,1,1 , . . . , yn,n,n ) :=
P
ai aj ak yi,j,k .
1≤i,j,k≤n
Die Funktionen La1 , La2 , La3 sind linear!
. – Seite 291/602
. – Seite 292/602
Wie berechnet Victoria aus p und r den Wert pr (a)?
Victoria liest 3 Bits der Kodierung von a:
Sie kann das Polynom q := pr vom Grad 3 ausmultiplizieren.
X
X
X
q = cq +
xi +
xi xj +
xi xj xk ,
i∈Iq1
(i,j)∈Iq2
(i,j,k)∈Iq3
da Koeffizienten in Z2 aus {0, 1} sind.
Sie kennt nun cq , Iq1 , Iq2 und Iq3 .
Es sei c1q der charakt. Vektor von Iq1 , c2q von Iq2 und c3q von Iq3 .
D.h., c2q hat an Position (i, j) den Wert 1 ⇐⇒ (i, j) ∈ Iq2 .
La1 (c1q ) , La2 (c2q ) , La3 (c3q ).
Behauptung: q(a) = cq + La1 (c1q ) + La2 (c2q ) + La3 (c3q ).
Beweis:
X
X
La2 (c2q ) =
ai aj (c2q )i,j =
ai aj ,
1≤i,j≤n
(i,j)∈Iq2
also der passende Teil vom Grad 2,
Grad 1 und Grad 3 analog.
. – Seite 293/602
Beweisverifikation:
Keine Klausel doppelt =⇒ O(n3 ) Klauseln.
Berechne pr (a) für zufälliges r.
Akzeptiere, falls pr (a) = 0.
Falls a erfüllend, ist pr (a) = 0. Fehlerw.keit 0.
Falls a nicht erfüllend, Akzeptanzw.keit 1/2.
Für spätere Zwecke: probability amplification möglich, aber
nur auf konstante Fehlerw.keiten ε > 0, da nur konstant
viele Bits des Beweises gelesen werden dürfen.
. – Seite 295/602
. – Seite 294/602
Wie behandeln wir Beweisversuche, die anders aussehen
als Codierungen von {0, 1}n ?
Beweisüberprüfung:
– Linearitätstest,
← das ist der große Brocken.
– Funktionsauswerter,
– Konsistenztest,
– Beweisverifizierer.
← bereits diskutiert.
. – Seite 296/602
Linearitätstest
Gegeben Bitvektor der Länge 2m .
Problem: Ist dies die Funktionstabelle einer linearen
Funktion f : Zm
2 → Z2 ?
Ziel: Eine fast lineare Funktion g ist nur einer linearen
Funktion f ähnlich.
Ziel: Randomisierter Test, der O(1) Stellen der Tabelle liest
und
– lineare Funktionen werden akzeptiert,
– fast lineare Funktionen werden evtl. auch akzeptiert,
– die anderen werden mit W.keit ≤ ε akzeptiert.
Danach müssen nur noch lineare und fast lineare
Funktionen betrachtet werden.
Funktionsauswerter
Gegeben Funktionstabelle einer linearen Funktion f oder
einer fast linearen Funktion g , die der linearen Funktion f
ähnlich ist. Gegeben a.
Problem: Berechne f (a).
Ziel: Für lineare Funktion f stets korrekt.
Für fast lineare Funktion f Fehlerw.keit ≤ ε.
Stets nur O(1) Stellen der Tabelle lesen.
. – Seite 297/602
Weiteres Problem: Wir haben drei Funktionstabellen
(im korrekten Fall La1 , La2 , La3 ).
Gehören sie zum selben a ?
. – Seite 298/602
Dann alles zusammenfügen
2
3
– Beweise haben Länge 2n + 2n + 2n , interpretiert als
2
3
Funktionstabellen der Länge 2n , 2n und 2n .
Konsistenztest
2
3
Gegeben: Funktionstabellen der Längen 2n , 2n und 2n von
linearen Funktionen f1 , f2 und f3 oder zu ihnen ähnlichen
fast linearen Funktionen g1 , g2 und g3 .
Problem: Existiert ein a ∈ {0, 1}n mit
f1 = La1 , f2 = La2 und f3 = La3 ?
Ziel: Im positiven Fall Fehlerw.keit 0, im negativen Fall ≤ ε.
Nur O(1) Stellen der Tabelle lesen.
. – Seite 299/602
– Linearitätstest eliminiert Funktionstabellen für Funktionen, die nicht einmal fast linear sind.
– Fast lineare Funktionen werden als die einzige ähnliche lineare Funktion interpretiert.
– Konsistenztest prüft, ob die Funktionen zusammenpassen.
– Im positiven Fall wird der Beweis überprüft.
– Linearitätstest, Konsistenztest und Beweisverifizierer
benötigen Funktionsauswertung als Unterprogramm.
. – Seite 300/602
Linearitätstest – aber nun konkret
Es dürfen nur konstant viele Beweisbits gelesen werden!
Wie viele?
Fehlerw.keiten in jedem Modell so klein, dass Summe ≤ 1/2
ist.
Allgemein f linear : ⇐⇒
∀ x, y aus dem Vektorraum: f (x + y) = f (x) + f (y),
∀ x ∈ Vektorraum ∀ a ∈ Körper: f (ax) = a · f (x).
Dies mit probability amplification, aber das führt zu mehr
Funktionsauswertungen, deren Fehlerw.keit angepasst
werden muss.
Hier Vektorraum Zm
2 , Körper Z2 = {0, 1}, daher zweite
Bedingung für alle Funktionen erfüllt.
Übungen: Konkrete Schranke für die Anzahl der gelesenen
Beweisbits.
Genauer:
a = 1 : f (x) = f (x),
a = 0 : f (0m ) = 0, das folgt aus der ersten Bedingung.
O(1) Beweisbits → O(n3 ) Zufallsbits zur Auswahl zufälliger
Stellen in Funktionstabellen.
. – Seite 301/602
. – Seite 302/602
Die zweite Eigenschaft zeigen wir indirekt.
Definition: f und g δ -nah :⇔
Probx (f (x) + g(x)) ≤ δ bei Gleichverteilung auf Zm
2
für x.
Behauptung:
Probx,y (f (x + y) 6= f (x) + f (y)) ≤ δ/2 ⇒
m
∃g : Z2 → Z2 , linear: f und g sind δ -nah.
Linearitätstest:
Wähle unabhängig nach Gleichverteilung x, y ∈ Zm
2
und akzeptiere, wenn f (x + y) = f (x) + f (y) ist.
Vorteil dieser Formulierung:
Wir geben g direkt an und
reden dann über eine konkrete Funktion.
Definition von g(a):
Majoritätsentscheidung über alle
f (a + b) − f (b), b ∈ Zm
.
2
( g(a) = 0, wenn keine Majorität existiert.)
Eigenschaften:
f linear ⇒ Linearitätstest akzeptierend mit W.keit 1.
(Trivial).
f ist zu keiner linearen Funktion δ -nah für δ < 1/3 ⇒
Akzeptanzw.keit < 1 − δ/2.
Bemerkung: f linear
. – Seite 303/602
⇒
g = f.
. – Seite 304/602
1
Behauptungen: g und f sind δ -nah.
2
g ist linear.
Falls g(a) = f (a), ist die betrachtete W.keit 0.
1 durch Widerspruch:
Beweis zu Annahme: Probx (f (x) 6= g(x)) > δ .
Definition von g :
X
= 2−m
a∈Zm
2 ,g(a)6=f (a)
Proby (g(a) = f (a + y) − f (y)) ≥ 1/2.
A
z
}|
{
Also Probx,y (f (x + y) − f (y) 6= f (x))
B⊆A
≥ Probx,y (f (x + y) − f (y) = g(x), g(x) 6= f (x))
|
{z
}
B
P
Proby (f (a + y) − f (y) = g(a), g(a) 6= f (a)) · 2−m .
=
|
{z
}
> δ · 2m Summanden,
da g und f δ -nah
Proby (f (a + y) − f (y) = g(a))
|
{z
}
≥1/2 nach Def. von g
> 2−m · δ · 2m · 1/2 = δ/2.
Widerspruch zur Voraussetzung der Behauptung.
Tat doch gar nicht weh!
a∈Zm
2
↑
Satz von der totalen W.keit
. – Seite 305/602
. – Seite 306/602
3 dreimal anwenden:
Eigenschaft Gegenw.keiten
Probx (g(a) = f (a + x) − f (x)) = p(a) ≥ 1 − δ
≤δ
Probx (g(b) = f (b + a + x) − f (a + x)) = p(b) ≥ 1 − δ ≤ δ
( x zufällig ⇒ x + a zufällig.)
Probx (g(a + b) = f (a + b + x) − f (x))
= p(a + b) ≥ 1 − δ ≤ δ
Summe ≤ 3δ
W.keit alle drei Eigenschaften gelten: ≥ 1 − 3δ
Wenn sie gelten, gilt (1) + (2) − (3), also
Probx (g(a) + g(b) − g(a + b) = 0) ≥ 1 − 3δ .
Da wir in Z2 rechnen und δ < 1/3 nach Voraussetzung:
Probx (g(a) + g(b) = g(a + b)) > 0, also g(a) + g(b) = g(a + b),
|
{z
}
2 (g ist linear):
Beweis zu p(a) := Probx (g(a) = f (a + x) − f (x))
Nach Definition von g : p(a) ≥ 1/2.
3 : p(a) ≥ 1 − δ .
Beweis später, erst zeigen, was das bringt.
von x unabhängig
also g linear.
. – Seite 307/602
. – Seite 308/602
1 − δ ≤ Probx,y (f (x + a) − f (x) = f (y + a) − f (y))
2:
zurück zu Voraussetzung der Behauptung zweimal anwenden:
– Probx,y (f (x + a) + f (y) 6= f (x + a + y)) ≤ δ/2,
– Probx,y (f (x) + f (y + a) 6= f (x + a + y)) ≤ δ/2.
W.keit der Vereinigung ≤ δ
Darum Komplement nehmen, also
=
nur Werte 0 und 1 möglich
P
Probx,y (f (x + a) − f (x) = z, f (y + a) − f (y) = z)
z∈{0,1}
Unabhängigkeit
=
P
Probx (f (x + a) − f (x) = z)
z∈{0,1}
Probx,y (f (x + a) + f (y) = f (x + a + y) = f (x) + f (y + a)) ≥ 1 − δ
⇒ Probx,y (f (x + a) + f (y) = f (x) + f (y + a)) ≥ 1 − δ .
|
{z
}
· Proby (f (y + a) − f (y) = z)
x, y haben dieselbe Verteilung
P
=
Probx (f (x + a) − f (x) = z)2
|
{z
}
z∈{0,1}
p(a)2
=p(a) für z=g(a) und =1−p(a) für z6=g(a)
+ (1 − p(a))2
=
p(a) > 1/2 nach Konstr. von g , also 1 − p(a) ≤ p(a)
≤ p(a)2 + p(a) · (1 − p(a)) = p(a).
⇒f (x+a)−f (x)=f (y+a)−f (y)
Nun ausnutzen: x und y sind unabhängig.
2 , also Linearitätstest okay.
Also p(a) ≥ 1 − δ , also . – Seite 309/602
Funktionsauswerter:
– Wähle x ∈ Zm
2 nach Gleichverteilung
und berechne f (x + a) − f (x)
(als Schätzwert für f (a))
1
2
f und g δ -nah ⇒
Probx (f (x) = g(x)) ≥ 1 − δ
Probx (f (x + a) = g(x + a)) ≥ 1 − δ
f linear ⇒ Schätzwert korrekt mit W.keit 1. (Trivial.)
f δ -nah zu g und g linear, δ < 1/3 ⇒
Probx (Schätzwert 6= g(a)) ≤ 2δ .
. – Seite 310/602
Gegenw.keiten
≤δ
≤δ
Summe
≤ 2δ
⇒ Probx (f (x) = g(x) und f (x + a) = g(x + a)) ≥ 1 − 2δ .
|
{z
}
g linear
⇒f (x+a)−f (x)=g(x+a)−g(x) = g(a)
Also Probx (f (x + a) − f (x)) = g(a) ≥ 1 − 2δ .
Der Beweis ist nicht schwierig.
. – Seite 311/602
. – Seite 312/602
Konsistenztest:
Eingabe: Funktionstabellen für f1 , f2 , f3 , alle linear
oder für ein δ < 1/24 δ -nah zu einer
linearen Funktion.
1
f1 = La1 , f2 = La2 , f3 = La3 ⇒
Konsistenztest akzeptiert mit Wahrscheinlichkeit 1.
1.) Wähle unabh. nach Gleichverteilung x, x0 , x00 ∈ Zn2 ,
2
y ∈ Zn2 .
Beweis:
Alle Funktionsauswertungen sind!korrekt.
!
P
P
Definition
0
La1 (x00 ) · La2 (y 0 )
=
ai x00i ·
aj ak yjk
| {z } | {z }
1≤i≤n
1≤j,k≤n
c0
b00
P
Ausmultiplizieren
0
=
ai aj ak x00i yjk
2.) Definiere x ◦ x0 durch (x ◦ x0 )i,j := xi x0j und
x00 ◦ y durch (x00 ◦ y)i,j,k := x00i yj,k .
1≤i,j,k≤n
3.) Benutze Funktionsauswerter zur Berechnung von
Schätzern:
b für f1 (x), b0 für f1 (x0 ), b00 für f1 (x00 ),
c für f2 (x ◦ x0 ), c0 für f2 (y) und d für f3 (x00 ◦ y).
Definition
=
Definition
=
4.) Akzeptiere, wenn b · b0 = c und b00 · c0 = d ist.
Analog
bb0
=
P
ai aj ak (x00 ◦ y 0 )i,j,k
1≤i,j,k≤n
La (x00 ◦ y 0 ).
| 3 {z }
d
c0 .
. – Seite 313/602
. – Seite 314/602
Definiere ai,j := ai aj .
A = (ai,j ), B = (bi,j ) (bi,j Komponenten von b).
a 6= b ⇒ A 6= B .
Was macht der Konsistenztest eigentlich?
2
Es gibt kein a ∈ {0, 1}n , so dass
f1 δ -nah zu La1 , f2 δ -nah zu La2 , f3 δ -nah zu La3 für
δ < 1/24 ⇒ ∃ Konstante α < 1: Akzeptanzw.keit < α.
?
T
T
x
A x}0 =x
B x}0
| {z
| {z
bb0
1.Fall: f1 δ -nah zu La1 , f2 δ -nah zu Lb1 und a 6= b.
(andere Fälle → Übung).
Funktionsauswertung so sicher machen, dass W.keit,
dass alle Funktionsauswertungen korrekt sind , ≥ 1/2.
Dann können wir annehmen, dass alle
Funktionsauswertungen korrekt sind.
c
Behauptung: A 6= B ⇒ Probx,x0 (bb0 6= c) ≥ 1/4.
Wähle (i, j) mit ai,j 6= bi,j .
Probx ((xT A)j 6= (xT B)j ) ≥ 1/2 (wie bei Hashfuntionen hW ).
|
{z
}
E
Probx0 (xT Ax0 6= xT Bx0 | (xT A)j 6= (xT B)j ) ≥ 1/2
|
{z
}
E0
(dasselbe Argument).
0
0
⇒ Probx,x0 (bb 6= c) = Probx,x0 (E ) ≥
Probx,x0 (E 0 | E) · Probx,x0 (E) ≥ 1/4.
{z
}
|
Prob(E ∩ E 0 )
. – Seite 315/602
. – Seite 316/602
New York Times, 7.4.1992
Insgesamt folgt 3-SAT ∈ PCP(n3 , 1)
und
NP
⊆ PCP(n3 , 1).
Ein anderer rand. Beweisverifizierer mit
speziellen Eigenschaften. Danach Kompositionslemma,
dass aus den beiden rand. Beweisverifizierern einen
besseren macht.
Orginalbeweis:
“ 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 . . .
All dies ist schwer zu vermitteln:
. – Seite 317/602
. – Seite 318/602
12.3 Das PCP-Theorem und
Nichtapproximierbarkeitsresultate
. . . Using this new result, the researchers have already made a landmark discovery in computer science. They showed
PCP-Theorem ⇒
3-SAT ∈ PCP(log n, 1) ⇒
bessere Anwendung der Lückentechnik.
that it is impossible to compute even approximate solutions
for a large group of practical problems that have long foiled
researchers. . . ”
. – Seite 319/602
Speziell hier:
MAX-3-SAT
MAX-CLIQUE
12.4.: MAX-3-SAT ist APX-vollständig.
. – Seite 320/602
Definiere ε durch 1 + ε = 1/(1 − δ).
Theorem 12.3.1
∃ ε > 0 : MAX-3-SAT ∈ APX(1 + ε) ⇒ NP = P.
Ann.: A pol. Approx.algo mit Approx.güte < 1 + ε.
(Korollar 12.3.2: NP 6= P ⇒ MAX-3-SAT ∈ APX − PTAS.)
Dann ist 3-SAT ∈ P (und NP=P).
Beweis:
Es wird 3-SAT so auf MAX-3-SAT in pol. Zeit reduziert,
dass gilt:
Eingabe: c1 , . . . , cm
– Transformation in c01 , . . . , c0k für MAX-3-SAT (s. o.).
– Falls 3-SAT-Eingabe erfüllbar, dann alle Klauseln der
MAX-3-SAT-Eingabe erfüllbar.
– Wende A auf c01 , . . . , c0k an. Lösung: a.
– Falls 3-SAT-Eingabe nicht erfüllbar, dann Anteil ≤ 1 − δ
der Klauseln der MAX-3-SAT-Eingabe erfüllbar.
– α>1−δ
(⇒ c1 , . . . , cm erfüllbar, auch wenn wir keine
erfüllende Belegung kennen).
– α≤1−δ
(⇒ c1 , . . . , cm nicht erfüllbar, sonst
Approx.güte von A nicht 1 + ε).
Lücke
1 − δ versus 1.
– Sei α der Anteil der durch a erfüllten Klauseln.
. – Seite 321/602
. – Seite 322/602
Wir wissen, was zu tun ist.
C = (c1 , . . . , cm ) Eingabe für 3-SAT.
PCP-Theorem ⇒
Es gibt rand. Beweisverifizierer für 3-SAT, der mit bc · log nc
zufälligen Bits arbeitet und ≤ k Bits des Beweises liest.
O. B. d. A.: Es werden stets genau k Bits des Beweises
gelesen.
fr : {0, 1}kN → {0, 1}, 0 ≤ r ≤ N − 1.
Zufallsvektor r ∈ {0, 1}bc log nc , also
N := 2bc log nc ≤ nc Belegungen des Zufallsvektors.
fr (y) = 1 :⇔ Rand. Beweisverifizierer akzeptiert bei
Zufallsvektor r und Beweis y .
Wenn r festgelegt, liegen die Positionen der gelesenen
Beweisbits fest (sie werden nicht adaptiv berechnet).
Also fr hängt syntaktisch von kN y -Variablen ab,
Also fr aber semantisch nur von k y -Variablen.
Maximal kN Positionen des Beweises haben pos. W’keit,
gelesen zu werden.
O. B. d. A.: Beweise aus {0, 1}kN .
. – Seite 323/602
. – Seite 324/602
→
→
Wende polynomielle Reduktion
(c1 , . . . , cm ) erfüllbar ⇒
∃ y ∈ {0, 1}kN ∀ r ∈ {0, . . . , N − 1} : fr (y) = 1.
das ist
(c1 , . . . , cm ) nicht erfüllbar ⇒
die Lücke!
kN
∀ y ∈ {0, 1} : Anteil aller r mit fr (y) = 1 ist ≤ 1/2.
SAT ≤p 3-SAT
aus GTI an.
Jede Klausel wird durch k ∗ := k − 2 Klauseln ersetzt.
Wie können wir die Lücke auf das Niveau einzelner
Klauseln übertragen?
Es gibt polynomiell viele Funktionen fr ,
jedes fr hängt von k Variablen ab.
Also: die KNF aller fr in polynomieller Zeit berechenbar,
jede KNF hat ≤ 2k Klauseln der Länge k.
O. B. d. A. k ≥ 3.
. – Seite 325/602
→
→
c1 , . . . , cm erfüllbar ⇒ alle (maximal k ∗ · 2k · N ) Klauseln
gemeinsam erfüllbar.
c1 , . . . , cm nicht gemeinsam erfüllbar ⇒
Hälfte der Funktionen fr nicht 1 ⇒
Mindestens eine Klausel für jede Funktion fr mit Wert 0
nicht erfüllt ⇒
≥ N/2 Klauseln nicht erfüllt.
∗
k+1 ) (eine Konstante > 0)
δ := k∗N/2
·2k ·N = 1/(k · 2
und Lücke 1 − δ versus 1.
. – Seite 327/602
. – Seite 326/602
Beobachtung:
Verkleinerung der Anzahl der Zufallsbits von c log n
auf c0 log n wirkt sich nur auf Rechenzeit aus.
Verkleinerung der Anzahl k der gelesenen Beweisbits wirkt sich auf die Lücke aus.
k=3
k=2
„geht“ mit einer etwas schlechten Fehlerw.keit.
?
Dann alle Klauseln Länge 2 und es ist in polynomieller Zeit entscheidbar, ob alle Klauseln gemeinsam
erfüllbar sind.
. – Seite 328/602
→ Graph G = (V, E)
V := Paare, bei denen akzeptiert wird.
Kante zwischen (r, a) und (r 0 , a0 ) :⇔
r 6= r0 und die partiellen Beweise a und a0 widersprechen
sich nicht, d. h. wenn in (r, a) und (r 0 , a0 ) die Position i des
Gesamtbeweises gelesen wird, ist in a und a0 das
entsprechende Bit gleich belegt.
Theorem 12.3.3
NP 6= P ⇒ MAX-CLIQUE ∈
/ APX.
Wir stellen zwei Beweise vor.
Beweis 1 direkt über das PCP-Theorem:
Wieder rand. Beweisverifizierer für 3-SAT mit N ≤ nc
Zufallsbits, der stets k Beweisbits liest.
Es gibt 2k · N Paare (r, a) aus Zufallsvektor und Belegung
der k gelesenen Beweisbits.
Betrachte die Paare, bei denen akzeptiert wird.
Klauselmenge erfüllbar
⇒ ∃ Beweis ∀ r : es wird akzeptiert
⇒ G enthält N -Clique aller (r, a), bei denen a zu dem
Beweis gehört.
. – Seite 329/602
. – Seite 330/602
Klauselmenge nicht erfüllbar
⇒ ∀ Beweise : Anteil der r, für die akzeptiert wird, ≤ 1/2.
ABER:
Die Konstante k geht nicht in die Lücke ein.
Falls Clique der Größe N 0 > N/2 existiert, für jedes r nur
ein Knoten (r, a) in der Clique und die Beweisbits
widersprechen sich nicht
→ ∃ Beweis : Anteil der r, für die akzeptiert wird, > 1/2.
Widerspruch.
Probability amplification am Beweisverifizierer
≤ 1/2
→
≤ 1/m
⇒
c<2
→
c < m.
Also NP 6= P ⇒ ∀c < 2 : MAX-CLIQUE ∈
/ APX(c).
Also NP 6= P ⇒ ∀c < m : MAX-CLIQUE ∈
/ APX(m)
/ APX.
⇒ (da m beliebig) : MAX-CLIQUE ∈
. – Seite 331/602
. – Seite 332/602
Beweis 2 über approximationserhaltende Reduktionen:
Thm. 8.4.4
MAX-3-SAT ≤PTAS MAX-CLIQUE
mit α(ε) = ε.
Also
MAX-3-SAT ∈
/ APX(1 + ε) ⇒ MAX-CLIQUE ∈
/ APX(1 + ε).
Aber wie erhalten wir Nichtapproximierbarkeit für größere
Werte als 1 + ε ?
Selbstverbesserung (self-improvability) ist die
entscheidende Eigenschaft von MAX-CLIQUE.
∃ Approx.algo A für MAX-CLIQUE mit polyn.Rechenzeit
und Approx.güte c
⇒
0
∃ Approx.algo A für MAX-CLIQUE mit polyn.Rechenzeit
und Approx.güte c1/2 .
Diese Aussage kann endlich oft angewendet werden, die
Rechenzeit bleibt polynomiell, die Approx.güte sinkt auf
k
c(1/2) .
k
Wenn k groß genug, ist c(1/2) < 1 + ε und
MAX-CLIQUE ∈ APX(1 + ε), Widerspruch.
Was heißt das?
. – Seite 333/602
. – Seite 334/602
Beweis der Eigenschaft der Selbstverbesserung:
Verbesserungsalgo.:
G = (V, E) → G2 + (V 2 , E 2 ) mit V 2 = V × V und
{(i, j), (k, l)} ∈ E 2 :⇔
(i, j) 6= (k, l) und ({i, k} ∈ E oder i = k )
und ({j, l} ∈ E oder j = l).
Eingabe: G = (V, E)
– Berechne G2 .
Behauptung:
cl(G)2
cl(G2 ),
=
Clique zu G.
– Wende A auf G2 an, Ergebnis Clique der Größe m,
– Berechne daraus (s. o.) Clique der Größe dm1/2 e für G.
wobei cl(G) Größe der max.
„≥“: {v1 , . . . , vr } Clique in G ⇒ {(vi , vj ) | 1 ≤ i, j ≤ r}
Clique in G2 .
„≤“: Sei m = cl(G2 ), betrachte zugehörige Knotenmenge
und Projektion auf die 1. und auf die 2. Komponente.
Eine der beiden enthält ≥ dm1/2 e Knoten, die eine
Clique bilden.
. – Seite 335/602
Es ist cl(G2 )/m ≤ c.
Daraus folgt
s. o.
cl(G)/dm1/2 e ≤ (cl(G)2 /m)1/2 = (cl(G2 )/m)1/2 ≤ c1/2
und wir erhalten eine Approx.güte ≤ c1/2 .
Rechenzeit für A : p(|V |, |E|)
Rechenzeit für A0 : p(|V |2 , 2 · |V | · |E| + |E|2 ) = poly(|V |, |E|).
. – Seite 336/602
Aktueller Stand der Nichtapproximierbarkeitsresultate
MAX-CLIQUE: O(n/ log2 n)-approx., aber nicht n1/2−ε -approx.,
sogar nicht n1−ε -approx., falls NP 6= ZPP.
www.nada.kth.se/~viggo/index-en.html
z. B. falls NP 6= P :
MAX-SAT:
MIN-TSP:
1,2987-approx. und APX-vollst.
MAX-k -SAT mit genau k verschiedenen Literalen pro Klausel:
1/(1 − 2−k )-approx. für k ≥ 3, aber nicht 1/(1 − 2−k ) − ε-approx.
MIN-TSPsym,∆ : 3/2-approx. und APX-vollst.
MIN-BP:
MAX-3-SAT mit 3 nicht notwendig verschiedenen Literalen
pro Klausel: 1,249-approx.
MAX-2-SAT: 1,0741-approx., aber nicht 1,0476-approx.
MIN-SC:
MIN-VC: 2-approx., aber nicht 1,3606-approx.
MIN-GC: O(n(log log n)2 / log3 n)-approx., aber nicht
n1/7−ε -approx., sogar nicht n1−ε -approx.,
falls NP 6= ZPP.
. – Seite 337/602
NPO-vollst.
3/2-approx., aber nicht (3/2 − ε)-approx.,
(71/60 + 78/(71opt))-approx.
und (1 + (log2 opt)/opt)-approx.
(1 + ln n)-approx.,
aber ∃ c > 0 : nicht (c · ln n)-approx.,
sogar nicht ((1 − ε) ln n)-approx.,
falls NP 6⊆ DTIME(O(nlog log n )).
. – Seite 338/602
12.4 Das PCP-Theorem und
APX-Vollständigkeit
Ziel: MAX-3-SAT ist APX-vollständig.
Wir wissen: NP 6= P ⇒ ∃ ε > 0 : MAX-3-SAT ∈
/ APX(1 + ε).
oder: MAX-3-SAT ∈ PTAS ⇒ NP = P.
Mit dem neuen Ergebnis:
MAX-3-SAT ∈ PTAS ⇒ PTAS = APX.
Aus diesem Basisergebnis und ≤PTAS -Reduktionen folgen
viele APX-Vollständigkeitsresultate.
. – Seite 339/602
Es gilt MAX-3-SAT ∈ APX(8/7),
(Kapitel 8.2)
wenn jede Klausel drei verschiedene Literale enthält.
Trotzdem APX-vollständig? Jedes APX-Problem ist in
APX(c) für ein c. Jedes c ist klein im Verhältnis zu anderen
c0 .
Sei A ∈ MAX-APX, genauer A ∈ APX(r ∗ ).
Approximationslösung hat Wert a, dann optimaler Wert in
I = [a, r∗ · a].
Wenn r∗ groß, Zerlegung in kleinere Intervalle
Ii := [r̃i−1 · a, r̃i · a], r̃ eine kleine Konstante, in jedem Fall
endlich viele kleine Intervalle. Teilproblem Ai auf
MAX-3-SAT ≤PTAS -reduzieren, alles in eine Reduktion
packen.
. – Seite 340/602
Lemma 12.4.1
MAX-3-SAT ist MAX-APX-vollständig.
Zu zeigen:
∀ A ∈ MAX-APX : A ≤PTAS MAX-3-SAT
|
{z
}
=:B
Beweis
MAX-3-SAT ∈ MAX-APX(2)
Sei also:
A ∈ MAX-APX, also
∃ pol. Algo. AL ∃ r ∗ : AL erreicht für A
Approx.güte ≤ r∗
(sogar MAX-APX(1,249)).
Betrachte a = (0, . . . , 0) und b = (1, . . . , 1) und wähle die
Belegung, die nicht schlechter als die andere ist.
Zu zeigen: A ≤PTAS B , das heißt:
Jede Klausel von a oder b erfüllt (oder beiden).
Also: a oder b erfüllt ≥ m/2 Klauseln, Approx.güte ≤ 2.
– Eingaben x für A → Eingaben f (x) für B in pol. Zeit
– Lösungen für f (x) → Lösungen für x in pol. Zeit
– rB (f (x), y) ≤ 1+α(ε) ⇒ rA (x, g(x, y, ε)) ≤ 1+ε
– α : Q+ → Q+ surjektiv.
. – Seite 341/602
Vorbereitungen:
. – Seite 342/602
Von nun an nur diese Ungleichung und damit nur
Parameter r, d. h. Parameter ε kann neu verwendet werden.
Wir wählen ein β > 0, β ∈ Q, und dann α(ε) := ε/β.
Dann ist α surjektiv.
Es folgt ε = α(ε) · β und für r := 1 + α(ε) · β ist
Folgende Wahl von β erweist sich als passend:
β := 2 · (r ∗ log r∗ + r∗ − 1) · (1 + ε)/ε,
1 + ε = 1 + α(ε) · β = 1 + (r − 1) · β.
Umformulierung der Anforderungen an die Approx.güten:
rB (f (x), y) ≤ r ⇒ rA (x, g(x, y, r)) ≤ 1 + β · (r − 1).
↑
r und ε bestimmen
sich eindeutig.
wobei ε > 0 so gewählt ist, dass
– MAX-3-SAT ∈
/ APX(1 + ε),
– β rational.
Schwache Nichtapprox.barkeit von MAX-3-SAT ⇒ ε klein
⇒ β groß.
A schlecht approx.bar ⇒ r ∗ groß ⇒ β groß.
β groß ⇒ schwache Anforderungen an die Approx.lösung
für A.
. – Seite 343/602
. – Seite 344/602
Der einfache Fall: r ∗ ≤ 1 + β · (r − 1).
Etwas Arithmetik:
Schon der gegebene Algorithmus ist gut genug,
Unterprogramme für B werden gar nicht gebraucht.
Analysis ⇒ (*) ∀ z ≥ 1 : log z ≥ 1 − 1/z.
Sei k := dlogb r∗ e. Dann ist
x → f (x) := beliebige, feste Eingabe für B.
g(x, y, r) → Lösung von AL auf x.
Approx.güte ≤ r∗ ≤ 1 + β · (r − 1), gut genug.
(∗)
Basiswechsel log r ∗
log r ∗
=
+
1
≤
log b
1−1/b +
∗
∗
∗
Erweitern b·log r ∗
b−1 b < r in diesem Fall r log r −1
=
+
<
b−1
b−1
b−1
k ≤ logb r∗ + 1
In Zukunft der schwierige Fall: r ∗ >1 + β · (r − 1) .
|
{z
}
1
Nach Definition von β ist der Zähler βε/(2 · (1 + ε)).
=:b
. – Seite 345/602
Also ist k <
1
b−1
·
Äquivalent dazu
Nach Definition ist
β·ε
2·(1+ε) .
b−1
β
<
. – Seite 346/602
Sei s = s(x) die Lösung von AL auf x, der Wert sei vA (x, s)
und der opt. Wert vopt (x).
ε
2k·(1+ε).
Jetzt zum Intervall und seiner Einteilung:
b = 1 + β(r − 1).
MAX-Problem
vA (x, s)
Also folgt
≤
vopt (x)
Approx.güte r ∗
≤
r∗
k := dlogb r∗ e
· vA (x, s)
≤
bk · vA (x, s).
Ii := [bi · vA (x, s), bi+1 · vA (x, s)], 0 ≤ i ≤ k − 1.
b−1
ε
+1 <
+ 1.
r=
β
2k · (1 + ε)
. – Seite 347/602
. – Seite 348/602
Der „Teil“ der Reduktion, der für Fälle mit vopt (x) ∈ Ii
„verantwortlich“ ist.
ALi akzeptiert die Sprache
Li = {x | x Eingabe für A und vopt (x) ≥ bi · vA (x, s)}.
Algorithmus ALi auf Eingaben x für A :
nichtdeterministisch, polynomiell zeitbeschränkt.
−→ pol. Transformation in 3-SAT-Formelmenge γi aus
dem Beweis des Theorems von Cook.
– Erzeuge nichtdeterministisch einen 0-1-String s0 mit
einer Länge, die höchstens die Länge der längsten
Lösung aus S(x) hat.
Beachte: Akzeptierende Belegung enthält Codierung der
akzeptierenden Konfiguration und damit s0 und vA (x, s0 ).
– Verwerfe, wenn s0 ∈
/ S(x) ist.
Trick:
– Akzeptiere genau dann, wenn vA (x, s0 ) ≥ bi · vA (x, s) ist.
– Beim Akzeptieren stehen s0 und vA (x, s0 ) auf dem
Arbeitsband.
Alle ALi brauchen auf allen Eingaben dieselbe
Rechenzeit.
Dann: Alle γi , 0 ≤ i ≤ k − 1, haben dieselbe Anzahl an
Klauseln, die Teile sind bei Approximation gleich
„wichtig“.
. – Seite 349/602
Im Beweis von Theorem 12.3.1 (MAX-3-SAT ∈
/ APX(1 + ε),
falls NP 6= P) haben wir das PCP-Theorem benutzt, um
neue 3-SAT-Formeln mit größerer Lücke zu erhalten.
. – Seite 350/602
Sei also a Variablenbelegung für ϕ und r obere Schranke
für die Approximationsgüte von a, d. h. vopt (ϕ) ≤ r · vB (ϕ, a).
Also:
Diese Transformation anwenden: γi → ϕi .
ϕ hat nur km Klauseln
vopt (ϕ) − vB (ϕ, a) ≤ (1 − 1/r) · vopt (ϕ)
Alle ϕi haben dieselbe Anzahl m an Klauseln.
Transformation der ≤PTAS -Reduktion von A und
B = MAX-3-SAT:
x → f (x) : Konjunktion ϕ aller ϕi , eine Klauselmenge mit
km Klauseln.
≤
(1 − 1/r) · km.
Es ist ϕ = ϕ0 ∧ · · · ∧ ϕi ∧ · · · ∧ ϕk−1 , alle ϕi sind auf
disjunkten Variablenmengen definiert, also Optimierung der
Teile führt zu optimaler Gesamtlösung.
P
vopt (ϕ) =
vopt (ϕj ).
0≤j≤k−1
Ziel: Rücktransformation von Belegung a für ϕ in Lösung
für x, die genügend gut ist.
vB (ϕ, a) =
P
vB (ϕj , a).
0≤j≤k−1
. – Seite 351/602
. – Seite 352/602
Sei ri die Approx.güte von a für ϕi , d.h.
ri = vopt (ϕi )/vB (ϕi , a).
Was haben wir ?
m · (1 − 1/ri )/2 ≤ vopt (ϕ) − vB (ϕ, a) ≤ (1 − 1/r) · km .
Für jede Klauselmenge kann die Hälfte der Klauseln erfüllt
werden, also vopt (ϕi ) ≥ m/2.
Auflösung nach 1/ri :
1 − 1/ri ≤ 2k(1 − 1/r)
und
1 − 2k(1 − 1/r) ≤ 1/ri .
Insgesamt:
vopt (ϕ) − vB (ϕ, a)
s.o.
=
P
(vopt (ϕj ) − vB (ϕj , a))
Im Teil „Arithmetik“ bewiesen: r <
0≤j≤k−1
≥
vopt (ϕi ) − vB (ϕi , a)
Def. ri
vopt (ϕi ) · (1 − 1/ri )
=
s.o.
≥
ε
2k·(1+ε)
+1=
ε+2k·(1+ε)
2k·(1+ε) .
m · (1 − 1/ri )/2.
. – Seite 353/602
Daraus folgt
. – Seite 354/602
Was bedeutet dies?
1 − 2k(1 − 1/r)
ε + 2k(1 + ε) − 2k(1 + ε)
ε
> 1 − 2k
= 1 − 2k
ε + 2k(1 + ε)
ε + 2k(1 + ε)
1 + ε/(2k)
ε
=
=1−
ε/(2k) + 1 + ε
1 + ε + ε/(2k)
Es ist
ri ≤ (1 − 2k(1 − 1/r))
= 1+
−1
Die Klauselmenge ϕi hatte die Lückeneigenschaft,
d. h.: jede Belegung mit Approx.güte „< 1 + ε“ ist
erfüllend, falls eine erfüllende Belegung existiert.
Wir finden also das größte j , so dass ϕj erfüllbar ist. Dann
ist vopt ∈ Ij , ausführlich:
bj · vA (x, s) ≤ vopt (x) ≤ bj+1 · vA (x, s).
Ziel: Berechnung von s∗ ∈ S(x) mit vA (x, s∗ ) ∈ Ij .
1 + ε + ε/(2k)
<
1 + ε/(2k)
ε
<1+ε
1 + ε/(2k)
. – Seite 355/602
. – Seite 356/602
Dann ist nämlich
vopt (x)/vA (x, s∗ ) ≤ b
(Quotient der Intervallgrenzen)
= 1 + β(r − 1) (Def. von b)
Genauer: Jede erfüllende Belegung von ϕj legt auch einen
Beweis offen, für den der randomisierte Beweisverifizierer
mit W.keit 1 akzeptiert.
und
s∗
z }| {
rA (x, g(x, a, r)) ≤ 1 + β(r − 1) = 1 + ε
Die Transformation γj → ϕj stammt aus
„NP 6= P ⇒ MAX-3-SAT ∈
/ APX(1 + ε)“.
(nach Konstr.).
D. h. s∗ ist ε-optimal.
Wie erhalten wir s∗ ?
Erfüllende Belegung von γj enthält eine passend gute
Lösung!
Wir haben „nur“ eine erfüllende Belegung von ϕj .
Aus diesem Beweis lässt sich eine erfüllende Belegung von
γj berechnen (in polyn. Zeit).
Dies muss im Beweis des PCP-Theorems nachgeprüft
werden (in dem „Beweis“ des Beweises NP ⊆ PCP(n3 , 1)
war das so).
. – Seite 357/602
. – Seite 358/602
Lemma 12.4.2
∀A ∈ MIN-APX ∃B ∈ MAX-APX : A ≤PTAS B .
Diesem Beweis fehlt die „große Idee“.
Einzige Idee: Große Approx.lücken in kleine mit konstantem
Wert für Imax /Imin zerlegen.
Dann einfach:
Theorem 12.4.3
MAX-3-SAT ist APX-vollständig
Alle Ideen schon vorhanden:
Beweis:
– PCP-Theorem
– MAX-3-SAT ∈ APX (schon gezeigt)
– Nichtapproximierbarkeit von MAX-3-SAT.
– Sei A ∈ APX ⇒
– A ∈ MAX-APX. Dann A ≤PTAS MAX-3-SAT
(Lemma 12.4.1).
– A ∈ MIN-APX. Dann B aus Lemma 12.4.2 und
A ≤PTAS B ≤PTAS MAX-3-SAT.
.
. – Seite 359/602
. – Seite 360/602
Idee 3: Obere Schranke b(x) an x „anpassen“.
Das ist es! Aber wie?
Beweis von Lemma 12.4.2
Idee 1 : v(x, s) → −v(x, s)
MIN → MAX
A ∈ APX ⇒
∃ pol. Approx.algo AL mit Güte ≤ r ∗ (o. B. d. A. r ∗
ganzzahlig).
Aber: Werte von Lösungen müssen positiv sein.
Für die Eingabe x berechnet AL s∗ (x) ∈ SA (x).
Idee 2 : b obere Schranke für vopt (x)
v(x, s) → b − v(x, s)
MIN → MAX
Maximierungsproblem B :
Eingaben(B ) := Eingaben(A), SB (x) := SA (x) (als S(x)
bezeichnet).
vA (x, y) ≤ vA (x, s∗ (x)) ⇒
vB (x, y) := (r ∗ + 1) · vA (x, s∗ (x)) − r ∗ · vA (x, y).
vA (x, y) > vA (x, s∗ (x)) ⇒ vB (x, y) := vA (x, s∗ (x)).
Aber: Falls obere Schranke schlecht, werden schlechte
Approx.lösungen zu gut.
. – Seite 361/602
. – Seite 362/602
Es bleibt zu zeigen:
s∗ (x)
– vA und
in pol. Zeit berechenbar ⇒ vB in pol. Zeit
berechenbar.
– y = s∗ (x) ⇒ (1. Zeile der Definition)
vB (x, s∗ (x)) = vA (x, s∗ (x)).
– Schlechtere Lösungen im Min.problem A werden für B
auf das Niveau s∗ (x) gehoben. (2. Zeile der Definition)
– B ∈ APX,
wende A an, Lösung s∗ (x).
s. o.
vA (x, s∗ (x)) = vB (x, s∗ (x))
Def. vB
≤
(r∗
+ 1) · vA
B ist Max.problem
≤
vopt,B (x)
A ≤PTAS B .
Teil 1: f (x) := x. (Wir betrachten für beide Probleme
dieselbe Eingabe)
Teil 2: Rücktransformation von Lösungen.
Im Prinzip die Lösungen übernehmen.
Wenn wir jedoch mit s∗ (x) eine
bessere Lösung kennen, nehmen wir die.
Formal: vA (x, y) ≤ vA (x, s∗ (x)) ⇒ g(x, y, r) := y
...
>
...
⇒ g(x, y, r) := s∗ (x).
(x, s∗ (x)).
Also hat die Lösung eine Approx.güte ≤ r ∗ + 1.
Offensichtlich: f und g in polyn. Zeit berechenbar.
. – Seite 363/602
. – Seite 364/602
1. Fall: vA (x, y) > vA (x, s∗ (x)).
Teil 3/4: Wie gut soll die Approximationserhaltung sein?
Setze β := r∗ + 1 (und α(ε) := ε/β)
Dann ist α : Q+ → Q+ surjektiv und polynomiell
berechenbar.
Also g(x, y, r) := s∗ (x).
Es folgt:
s. o.
vA (x, g(x, y, r)) = vA (x, s∗ (x)) ≤ r ∗
Es bleibt zu zeigen:
vB (f (x), y) ≤ r ⇒ vA (x, g(x, y, r)) ≤ 1 + β(r − 1).
triv.
≤ r∗ r + r∗ + r = 1 + β · (r − 1)
(denn AL hat Approx.güte
r∗ und berechnet s∗ (x))
(da β = r∗ + 1).
. – Seite 365/602
. – Seite 366/602
2. Fall: vA (x, y) ≤ vA (x, s∗ (x)).
Also neues Ziel: vA (x, y) ≤ (1 + β · (r − 1)) · vopt,A (x).
Also g(x, y, r) := y .
Also gleiche Eingabe, gleiche Lösung.
Nach Definition: vB (x, y) = (r ∗ + 1)vA (x, s∗ (x)) − r ∗ · vA (x, y)
oder vA (x, y) = r1∗ ((r∗ + 1)vA (x, s∗ (x)) − vB (x, y)).
Die gewünschte Eigenschaft folgt aus der Definition von vB
– allerdings mit einer etwas längeren Rechnung.
Die Voraussetzung unserer Behauptung lautet:
vB (f (x), y) ≤ r.
Es ist
s. o.
Def. Güte
rA (x, g(x, y, r)) = rA (x, y) = vA (x, y)/vopt,A (x)
Dabei ist f (x) = x und nach Definition der Güte
(nun als Max.problem):
Ziel
r ≥ rB (f (x), y) = rB (x, y) = vopt,B (x)/vB (x, y) und
≤ 1 + β · (r − 1).
vB (x, y) ≥ vopt,B (x)/r.
. – Seite 367/602
. – Seite 368/602
∀r ≥ 1 :
Analysis:
1
r
≥ 2 − r.
Abschätzung von II:
Also folgt:
1
1
((r∗ + 1) · vA (x, s∗ (x)) − vopt,B (x))
∗
r
r
1
≤ ∗ ((r∗ + 1) · vA (x, s∗ (x)) − (2 − r) · vopt,B (x))
r
1
r−1
= ∗ ((r∗ + 1) · vA (x, s∗ (x)) − vopt,B (x)) + ∗ vopt,B (x).
|r
{z
} | r {z
}
vA (x, y) ≤
I
Behauptung folgt aus
II
vopt,B (x) ≤ (r ∗ + 1) · vA (x, s∗ (x)), da nach Definition
vB (x, y) ≤ (r ∗ + 1) · vA (x, s∗ (x)) für alle y ∈ S(x).
Nun ist β = r∗ + 1 und s∗ (x) r∗ -optimal für A.
Also:
s. o.
II = r−1
r∗ vopt,B (x) ≤
r−1
r∗
· β · vA (x, s∗ (x)) ≤ β · (r − 1) · vopt,A (x).
Letzte Ungleichung ist r ∗ -Optimalität von s∗ (x) für A.
I ≤ vopt,A (x) und
II ≤ β · (r − 1) · vopt,A (x).
. – Seite 369/602
Abschätzung von I:
Somit vA (x, y ∗ ) = vopt,A (x),
vB (x, y ∗ ) = vopt,B (x).
Wir zeigen sogar Gleichheit, d. h.
1
∗
r∗ ((r
. – Seite 370/602
!
Nach Definition: vB (x, y ∗ ) = (r∗ + 1) · vA (x, s∗ (x))
−r∗ · vA (x, y ∗ )
Einsetzen: vopt,B (x) = (r∗ + 1) · vA (x, s∗ (x))
−r∗ · vopt,A (x, y ∗ )
Auflösen: vopt,A (x) = r1∗ ((r∗ + 1) · vA (x, s∗ (x))
−vopt,B (x, y ∗ ))
und das wollten wir haben.
+ 1) · vA (x, s∗ (x)) − vopt,B (x)) = vopt,A (x).
Hier brauchen wir die spezielle Wahl von vB .
Schon gezeigt vA (x, s∗ (x)) = vB (x, s∗ (x)), also gehören
optimale Lösungen zur ersten Definitionszeile.
vB (x, y) = (r ∗ − 1) · vA (x, s∗ (x)) − r ∗ · vA (x, y)
= c − c0 · vA (x, y).
B Max.problem, A Min.problem ⇒ sie haben dieselbe
Lösung y ∗ .
Also gelten Lemma 12.4.2 und
Theorem 12.4.3: MAX-3-SAT ist APX-vollständig.
. – Seite 371/602
. – Seite 372/602
13 Weitere klassische Themen der
Komplexitätstheorie
Eine kleine Ergebnisübersicht:
Das PCP-Theorem ist der Schlüssel
– Speicherplatzbeschränkung
zur modernen Komplexitätstheorie
– Parallelisierung
für Approximationsprobleme.
– Anzahlprobleme
. – Seite 373/602
. – Seite 374/602
13.2 Speicherplatzbasierte Komplexitätsklassen
Zentrale Beobachtung
Eingabe: Länge n.
Um Platzschranken s(n) < n zu erlauben:
– Eingabeband read only zählt nicht,
– Arbeitsband,
– Ausgabeband write only zählt nicht.
Platzschranke s(n) ⇒ Zeitschranke 2O(s(n)+log n) ,
falls s(n) „anständig“ (bandkonstruierbar) ist.
D.h. Speicherplatzintervall 1, . . . , s(n) auf Platz s(n)
markierbar.
Anzahl der Konfigurationen:
|Q| ·
n
·
s(n)
· | Γ |s(n) = 2O(log n+s(n))
Zustand Kopfposition Kopfposition
Inschrift
Eingabeband Arbeitsband Arbeitsband
→ DTAPE(s(n)), PSPACE, NTAPE(s(n)), NPSPACE.
Konstante Faktoren k für s(n) unspannend → k Spuren.
Rechenschritte mitzählen, Zyklen vermeiden.
. – Seite 375/602
. – Seite 376/602
DTAPE(log n) ⊆ NTAPE(log n) ⊆ P ⊆ NP ⊆ Σk ⊆ PH
⊆ PSPACE,
Theorem 13.2.3
L konstruierbar ⇔ L ∈ NTAPE(n).
⊂
Theorem 13.2.6
∀k : Σk ⊆ PSPACE.
PH ⊆ PSPACE.
aber DTAPE(log n) 6= PSPACE.
(Beweis durch Diagonalisierung)
Mindestens eine Ungleichheit!
Teste in ∃∀ . . .-Darstellung alle Kombinationen aus.
13.3
Immerhin!
PSPACE-Vollständigkeit wird bezüglich ≤p definiert.
Interpretation: Mindestens so
Problem in PH.
Nicht: Viel Platz erforderlich!
schwierig
. – Seite 377/602
PSPACE-vollständige Probleme:
– QBF (quantified boolean formulas)
Entscheide Wahrheit von Aussagen des Typs:
(Q1 x1 ) . . . (Qn xn ) : E(x1 , . . . , xn ).
|
{z
}
Qi Quantoren
AND/OR/NOT-Ausdruck
(Beachte: n wächst mit der Eigabelänge.)
– Wortproblem für kontextsensitive Grammatiken.
– Brettspiele wie verallgemeinertes Schach, Dame, Go.
Gegeben eine Spielsituation: Hat Weiß Gewinnstrategie?
– u.v.m.
. – Seite 379/602
wie
jedes
. – Seite 378/602
13.4
Theorem 13.4.2 (Satz von Savitch)
Falls s(n) ≥ log n und anständig, gilt
NTAPE(s(n)) ⊆ DTAPE(s(n2 )).
Beweis: Ausprobieren mit binärer Suche.
Korollar 13.4.3:
PSPACE = NPSPACE.
. – Seite 380/602
13.5
Theorem 13.5.1 (Satz von Immerman und Szelepcsényi)
Falls s(n) ≥ log n und anständig, gilt
NTAPE(s(n)) = co-NTAPE(s(n)).
Die denkbare Hierarchie bricht auf Stufe 1 zusammen!
13.6 Komplexitätsklassen innerhalb von P
Motivation:
Was trennt DTAPE(log n), NTAPE(log n) und P?
Logarithmischer Platz ⇒ gute Parallelisierbarkeit.
≤p ist innerhalb von P nutzlos.
?
Offen: DTAPE(s(n)) = NTAPE(s(n)).
≤log (logarithmische Reduktion): wie ≤p , aber die
Transformation f muss auf logarithmischem Platz
berechenbar sein. ≤log hat die üblichen Eigenschaften.
. – Seite 381/602
. – Seite 382/602
CVP (circuit value problem):
Gegeben: Schaltkreis S und Eingabe a für S .
Ist S(a) = 1?
DSTCON:
Gegeben: G = (V, E) gerichteter Graph.
Gibt es in G einen Weg von s ∈ V zu t ∈ V ?
Theorem 13.6.3
CVP ist P-vollständig bezüglich ≤log .
Theorem 13.6.4
DSTCON ist NTAPE(log n)-vollständig bezüglich ≤log .
ECFL (emptiness of context-free languages):
Gegeben: Kontextfreie Grammatik G.
Ist L(G) = ∅?
Satz: ECFL ist P-vollständig bezüglich ≤log .
. – Seite 383/602
. – Seite 384/602
13.7 Die Komplexität von Anzahlproblemen
Nicht überraschend: #SAT ist #P-vollständig.
SAT schwierig ⇒
„Berechne die Anzahl erfüllender Belegungen“ schwierig.
Aber:
PM (perfektes Matching):
Gegeben G = (V, E) ungerichtet, |V | gerade.
Enthält G ein perfektes Matching, also |V |/2
knotendisjunkte Kanten?
Bezeichnung: #SAT, auch #CLIQUE, #HC, . . .
Komplexitätsklasse: #P enthält alle Anzahlprobleme, für die
es eine nichtdeterministische Turingmaschine gibt mit
genau so vielen akzeptierenden Rechenwegen wie
Lösungen.
PM ∈ P, aber #PM ist #P-vollständig.
(Sogar für bipartite Graphen.)
Reduktionskonzept: ≤T .
. – Seite 385/602
14. Die Komplexität von nichtuniformen Problemen
. – Seite 386/602
AndereSSichtweise:
Lf :=
fn−1 (1) und S ist Algorithmus für Lf .
14.1 Grundlegendes Modell:
Schaltkreise mit Bausteinen mit ≤ 2 Eingängen.
n≥1
Größe als Maß für Hardwarekosten und sequentielle Zeit.
Tiefe als Maß für parallele Zeit.
Was ist neu?
S = (Sn ), Folge von Schaltkreisen für f = (fn ), genauer:
Sn berechnet fn {0, 1}n → {0, 1}.
Realisierung
Eingabe x, berechne n = |x|,
wähle Sn ,
wende Sn auf x an.
Die Komplexitätsmaße beziehen sich auf Sn , aber n → Sn
darf schwierig, sogar nicht rekursiv sein.
Nicht ausgeschlossen: NP-vollständige Probleme haben
polynomielle Schaltkreise und NP 6= P.
. – Seite 387/602
. – Seite 388/602
Beispiel: Mn n-te Turingmaschine in kanonischer
Aufzählung
(
1 Mn hält auf ε.
fn (1) :=
0 Mn hält nicht auf ε.
14.2 Simulationen von TMs durch Schaltkreise
TM Zeit t(n) → SK Größe O(t(n) log t(n)).
(Umweg über stereotype TM mit Zeit O(t(n) log t(n)).)
Lf ist nicht rekursiv, fn ist eine Konstante und hat winzige
Schaltkreise.
Also: S = (Sn ), Sn hat poly. Größe. Dennoch allgemeine
Simulation durch Turingmaschinen nicht möglich.
TM Platz s(n), s∗ (n) := max{s(n), dlog ne} → SK Tiefe
O(s∗ (n)2 )
(Konfigurationengraph, Adjazenzmatrix, Wege finden durch
fortgesetztes Quadrieren.)
Leider nicht: Größe und Tiefe gleichzeitig klein.
Vermutlich: Trade-offs existieren.
. – Seite 389/602
14.3 Simulationen von Schaltkreisen durch nichtuniforme
TMs
Nichtuniforme TMs erhalten eine „Hilfe“ auf einem
Extraband, diese darf von n = |x|, aber nicht von x
abhängen, z. B. Codierung von Sn .
SK-Familie der Größe s(n), s∗ (n) := max{s(n), n}
→ nichtuniforme TM mit Zeit O(s∗ (n)2 ), Platz O(s∗ (n)).
SK-Familie der Tiefe d(n), d∗ (n) := max{d(n), dlog ne}
→ nichtuniforme TM mit Platz O(d∗ (n)).
. – Seite 390/602
Fazit
TM t(n) → SK t(n) log t(n)
SK s(n) → TM s(n)2
„gut“, d.h. polynomiell, bleibt erhalten.
TM s(n) → SK s(n)2
SK d(n) → TM d(n)
„gut“, d.h. logarithmisch, bleibt nicht erhalten.
Später: Besseres nichtuniformes Modell für Platz.
Wieder Trade-offs.
. – Seite 391/602
. – Seite 392/602
14.5
14.7
Theorem 14.5.1
L ∈ BPP ⇒ zugeh. boolesche Funktionen f = f (n)
haben polynomiell große Schaltkreise.
Theorem
CLIQUE hat polynomielle Schaltkreise
⇒ Σ2 = Σ3 .
Probabilty amplification, Existenz eines goldenen
Rechenweges, diesen simulieren.
. – Seite 393/602
Ziel
Im Normalfall
14.4 Branchingprogramme und Platzbedraf
histo. anders herum
↓
Branchingprogramme sind verallgemeinerte OBDDs,
bei denen Tests in beliebiger Reihenfolge erfolgen dürfen
und sich beliebig oft wiederholen können.
xi
Auswertung klar
0
1
,
c
. – Seite 394/602
, c ∈ {0, 1}.
Speicherplatzbedarf nichtuniformer TMs =
Θ(log BP-Größe)
f = (fn ) und Lf
BP∗ (fn ) = max{BP (fn ), n}, Normalfall BP(fn ) ≥ n.
s(n) Speicherplatzbedarf für Lf
s∗ (n) = max{s(n), dlog ne}, Normalfall s(n) = Ω(log n).
Größe = Anzahl der Knoten.
BP(f ) = min-Größe eines BPs, das f realisiert.
. – Seite 395/602
. – Seite 396/602
Theorem 14.4.1
s(n) = O(log BP∗ (fn )).
Theorem 14.4.2
∗
BP(fn ) = 2O(s (n)) .
Beweis
Hilfsinformation: Optimales BP für fn , Aufzählung der
Kanten durch Typ (innerer Knoten/Senke) und Tripel aus
Variable, 0-Nachfolger, 1-Nachfolger bzw. Wert der Senke.
Beweis
∗
Anzahl der Konfigurationen der TM: 2O(s (n)) .
Typ
Variablenindex
Codelänge jedes Knotens ≤ 1 + dlog ne
+ 2dlog BP(fn )e
∗
= O(log BP (fn )).
Speichere stets nur den erreichten Knoten auf dem
Arbeitsband und werte ihn mit Hilfe der Eingabe aus.
Für jede erreichbare Konfiguration ein BP-Knoten.
Anfangsknoten (Quelle): Anfangskonfiguration.
Stoppende Konfigurationen werden Senken,
0-Senken bei Verwerfen, 1- Senken bei Akzeptieren.
Es wird die Variable getestet, die in der Konfiguration auf
dem Eingabeband gelesen wird.
Nachfolgeknoten entsprechen den
Nachfolgekonfigurationen.
. – Seite 397/602
TM hält auf allen Eingaben, BP enthält nur erreichbare
Konfigurationen ⇒ BP azyklisch.
Was ändert sich bei nichtuniformen TMs?
Hilfsinformation hat Länge h(n).
Anzahl Konfigurationen wächst um Faktor h(n) ≤ 2dlog h(n)e .
neu
. – Seite 398/602
Ziel der Vorlesung:
Konkrete untere Schranken für die Größe von
SKs und BPs sowie die Tiefe von SKs.
Ergebnisse: ernüchternd schlecht.
Ausweg: Sinnvoll eingeschränkte SK- und BP-Modelle.
Viele Beweismethoden vereinheitlicht durch die Theorie der
↓
Option 1: s∗ (n) := max{s(n), dlog ne, dlog h(n)e}.
Kommunikationskomplexität,
Option 2: h(n) trägt dlog h(n)e zum Platzbedarf bei.
die vorab behandelt wird.
. – Seite 399/602
. – Seite 400/602
15 Kommunikationskomplexität
15.1 Das Kommunikationsspiel
Alice und Bob kooperieren, um die Funktion f : A × B → C
auszuwerten. A, B und C endliche Mengen, meistens
A = {0, 1}m , B = {0, 1}n , C = {0, 1}. Sie vereinbaren ein
Kommunikationsprotokoll.
Dann erhält Alice a ∈ A und Bob b ∈ B , am Ende der
Kommunikation sollen beide f (a, b) kennen.
Ziel: Minimierung der Anzahl der im worst case
übermittelten Bits.
Manchmal: Anzahl der Kommunikationsrunden beschränkt.
Das Protokoll wird in Kenntnis von f , aber ohne Kenntnis
der konkreten Eingabe (a, b) vereinbart.
Protokolle können durch binäre Bäume beschrieben
werden.
Jede Eingabe (a, b) soll einen Weg von der Wurzel zu
einem Blatt l(a, b) durchlaufen.
Blätter enthalten Werte c ∈ C .
Der Baum realisiert f (a, b), wenn für alle (a, b) an l(a, b) der
Wert f (a, b) steht.
An jedem inneren Knoten ist klar, ob Alice oder Bob ein Bit
sendet, 0-Kanten und 1-Kanten führen zu den
entsprechenden Nachfolgeknoten.
. – Seite 401/602
. – Seite 402/602
Alice-Knoten v : gv : A → {0, 1} entscheidet über das
gesendete Bit, in v steckt die Kenntnis der Historie.
C(f ) ist ein nichtuniformes Komplexitätsmaß, da Kosten zur
Beschreibung und Realisierung des Protokolls nicht zählen.
Es genügt, gv : Av → {0, 1} zu definieren, wenn nur
Eingaben (a, b) mit a ∈ Av den Knoten v erreichen.
Das Kommunikationsspiel ist der Kern vieler Probleme:
dP (a, b): Tiefe von l(a, b)=
b Kosten für Eingabe (a, b).
l(P ) := max{dP (a, b) | (a, b) ∈ A × B}: Kosten des Protokolls.
C(f ) := min{l(P ) | P realisiert f }:
Kommunikationskomplexität von f .
– Kommunikation in Netzwerken,
Multiprozessorsystemen,
– Time-Space Trade-offs in VLSI-Schaltkreisen,
– untere Schranken für 1-Band-TM,
– untere Schranken für tiefenbeschränkte Schaltkreise,
– untere Schranken für eingeschränkte
Branchingprogramme,
– Time-Space Trade-offs für Datenstrukturen,. . .
. – Seite 403/602
. – Seite 404/602
Viele Aspekte werden vernachlässigt, also:
– kleine Kommunikationskomplexität 6⇒ effiziente
Problemlösung,
aber
– große Kommunikationskomplexität ⇒ keine effiziente
Problemlösung möglich.
Beispiel:
f (a0 , a1 , a2 , a3 , s0 , b0 , b1 , b2 , b3 , s1 ) = 1 : ⇐⇒ a|s| = b|s|
|
{z
} |
{z
}
für |s| = s0 + 2s1 .
Alice
Bob
Protokoll in Worten:
– Alice sendet s0 .
– Bob sendet s1 .
– Bob berechnet |s| und sendet b|s| .
Was heißt klein/groß?
A : {0, 1}m , B = {0, 1}n , C = {0, 1}k .
Alice sendet a, Bob berechnet f (a, b) und sendet f (a, b).
Also C(f ) ≤ min{m, n} + k .
Linear ist groß, logarithmisch ist klein!
– Alice berechnet |s| und sendet a|s| .
Protokolllänge: 4. Protokollbeschreibung in Worten gut
verständlich.
. – Seite 405/602
Protokollbaum
Andere Aufteilung der Eingabe:
Alice: a0 , a1 , b0 , b1 , s0 , Bob: Rest.
A, s0
0
1
B, s1
B, b0
0
A, a0
0
A, a0
1
0
B, b2
1
eine
Runde
B, s1
1
0
. – Seite 406/602
B, b1
1
A, a2
0
A, a2
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
A, a1
1
1
0
1
B, b3
0
A, a1
A, a3
1
0
1
0
1
0
0
0
1
1
0
0
– 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.
1
A, a3
– Alice sendet s0 .
1
Protokolllänge: 3.
1
Unübersichtlich, aber gut für strukturelle Überlegungen.
Wie beweist man, dass dies optimal ist?
. – Seite 407/602
. – Seite 408/602
Obere Schranke: Erst nur O(log2 n).
Erst ein komplexes Beispiel:
fn : {0, 1}n × {0, 1}n → {1, . . . , n}
Alice sendet |A|.
Bob kennt |A| + |B| und den Rang des Medians M in A ∪ B .
a =
b A ⊆ {1, . . . , n} mit i ∈ A genau dann, wenn ai = 1.
Analog b =
b B.
fn (a, b)
Nun binäre Suche auf {1, . . . , n}.
Ziel: Test „M ≤ m“ mit O(log n) Bits
:= Median der Multimenge A ∪ B .
(Rang ds/2e bei s Elementen).
Behauptung: C(fn ) = Θ(log n).
– Alice berechnet und sendet #({1, . . . , m} ∩ A).
Untere Schranke hier einfach:
∀i ∈ {1, . . . , n}: Protokollbaum muss Blatt mit Markierung i
enthalten.
Binäre Bäume mit ≥ n Blättern haben Tiefe ≥ log n.
– Bob berechnet #({1, . . . , m} ∩ (A ∪ B)) und vergleicht
dies mit |A| + |B|.
Insbesondere weiß er, ob M ≤ m ist, und sendet dies
an Alice.
. – Seite 409/602
Nun obere Schranke O(log n).
Preprocessing:
Sei N kleinste Zweierpotenz ≥ n.
Alice und Bob füllen ihre Vektoren mit Nullen auf Länge N
auf.
– Alice sendet |A|.
O(log n) Bits.
– Bob sendet |B|.
O(log n) Bits.
Sei k kleinste Zweierpotenz mit k ≥ max{|A|, |B|}.
Beide füllen ihre Mengen zu Multimengen so auf, dass
. – Seite 410/602
Alice und Bob verwalten k und die Kandidatenmenge
I = {1, . . . , n} für den Median.
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 linke oder
rechte Hälfte ersetzt werden.
→ 2(dlog ne + log k − 1) = O(log n) Bits genügen, so dass
– I einelementig (Median bekannt) oder
– k = 1 (Median berechnen durch Austausch der
Elemente).
– |A| = |B| = k ,
– Median unverändert.
Wie? |A| + |B| gerade: Gleich viele neue Elemente 1
wie n, Schema vorher vereinbart. Sonst, ein
weiteres n.
. – Seite 411/602
. – Seite 412/602
– Alice berechnet a0 , den Median von A.
Falls |I| = 2r , ist
I = {(s − 1) · 2r + 1, . . . , s · 2r } und a0 ∈ I .
a∗ = 0, b∗ = 1: Halbiere k .
Wie ?
Alle Elemente aus I unterscheiden sich nur in den
letzten Bits. Alice stellt fest, ob a0 zur vorderen oder
hinteren Hälfte von I gehört und sendet dies an Bob.
Genauer: a∗ = 0 vordere Hälfte, a∗ = 1 sonst.
Median(A) ≤ M ≤ Median(B ).
Alice entfernt die k/2 kleinsten Elemente aus A,
sie sind ≤ M .
Bob entfernt die k/2 größten Elemente aus B ,
sie sind ≥ M .
– Bob handelt analog und sendet b∗ :
a∗ = b∗ = 0 : Ersetze I durch vordere Hälfte.
a∗ = b∗ = 1 : Ersetze I durch hintere Hälfte.
Gesamtmedian unverändert.
a∗ = 1, b∗ = 0: analog mit vertauschten Rollen.
Es kann schon für einfache Probleme schwierig sein, gute
Protokolle zu entwerfen.
. – Seite 413/602
. – Seite 414/602
15.2 Untere Schranken – Methoden und Anwendungen
v mit Iv = Av × Bv → Kinder von v :
Eine zentrale Beobachtung: Die Menge Iv ≤ A × B aller
Eingaben, die den Knoten v des Protokollbaumes
erreichen, hat eine besondere Form.
O.B.d.A. v Alice-Knoten, gv : Av → {0, 1}.
Also Iv0 = gv−1 (0) × Bv und Iv1 = gv−1 (1) × Bv .
Behauptung:
Beweis:
Veranschaulichung in der Kommunikationsmatrix, einer
Darstellung der Funktionstabelle von f als Matrix mit Zeilen
für a ∈ A, Spalten für b ∈ B und Werten f (a, b).
∀v∃Av ⊆ A, Bv ⊆ B : Iv = Av × Bv .
Induktion über Tiefe(v )
v Blatt, Iv = Av × Bv
v Wurzel ⇒ Av = A, Bv = B .
. – Seite 415/602
⇒
f auf Av × Bv konstant, überall
Wert von v .
. – Seite 416/602
Die Mengen Av × Bv , v Blatt, bilden eine Partition von A × B .
Wenn f auf kleinen Mengen vom Typ Av × Bv konstant ist,
braucht der Protokollbaum viele Blätter und muss große
Tiefe haben.
Das ist die Idee zum Beweis unterer Schranken.
Zunächst zur Kommunikationsmatrix.
GTn (a, b) = 1 :⇔ |a| > |b| (greater than).
EQn (a, b) = 1 :⇔ |a| = |b| (equality).
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
GT3
{000, 001, 010, 011}×
{011, 100, 101, 110, 111}
geometrisches
Rechteck
. – Seite 417/602
000
001
010
011
100
101
110
111
EQ3
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
Rechteck durch
101
0
0
0
0
0
1
0
0
Zeilen- und
110
0
0
0
0
0
0
1
0
Spaltenpermutation.
111
0
0
0
0
0
0
0
1
{000, 001, 100, 101}×
{010, 011, 110, 111}
. – Seite 418/602
Definition:
R ⊆ A × B heißt Rechteck :⇔
∃A0 ⊆ A, B 0 ⊆ B : R = A0 × B 0 .
kombinatorisches
R heißt einfarbig (monochromatisch), wenn f auf R
konstant ist.
f (R) = c ⇒ R ist ein c-Rechteck.
Rechteck →
geometrisches
Protokolllänge l ⇒
Protokollbaum hat ≤ 2l Blätter ⇒
A × B zerfällt in ≤ 2l einfarbige Rechtecke ⇒
. – Seite 419/602
. – Seite 420/602
Theorem 15.2.1 f : A × B → C
Wenn jede Partition von A × B in einfarbige Rechtecke
mindestens r Rechtecke braucht, gilt C(f ) ≥ dlog re.
Theorem 15.2.2
Anwendung:
Größe A0 × B 0 := |A0 | · |B 0 |
Sei gc := max{Größe R | R ist c-Rechteck}
Partition braucht ≥ rc := d|f −1 (c)|/gc e c-Rechtecke
P
und C(f ) ≥ dlog
r c e.
„≤“
Alice sendet a und Bob das Ergebnis.
„≥“
|f −1 (1)| = 2n , da f −1 (1) = {(a, a) | a ∈ {0, 1}n }
g1 = 1.
Enthält ein Rechteck (a, a) und (b, b), dann auch (a, b).
Falls a 6= b ist EQn (a, b) = 0.
Also r1 = 2n .
Offensichtlich r0 ≥ 1.
Also C(f ) ≥ dlog(2n + 1)e = n + 1.
C(EQn ) = n + 1.
Beweis
c∈C
. – Seite 421/602
Für GTn gibt 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|.
. – Seite 422/602
Theorem 15.2.3
Sei p Wahrscheinlichkeitsverteilung auf A × B.
Falls p(R) ≤ ε für jedes einfarbige Rechteck, dann
C(f ) ≥ dlog(1/ε)e.
Beweis
p(A × B) = 1.
Also brauchen wir ≥ 1/ε einfarbige Rechtecke, um A × B zu
überdecken.
Theorem 15.2.1 anwenden.
Bisher:
Jede Eingabe gleich wichtig.
Nun:
Wir geben den schwierigen Eingaben größeres Gewicht.
Schon wieder Wahrscheinlichkeiten!
. – Seite 423/602
. – Seite 424/602
Theorem 15.2.4
C(GTn ) = n + 1.
Beweis
„≤“
trivial.
„≥“
p Gleichverteilung auf allen 2 · 2n − 1 Eingaben (a, b)
mit |a| = |b| oder |a| = |b| + 1.
– Rechteck enthält (a, a) und (b, b) mit a 6= b ⇒
Rechteck enthält (a, b) und (b, a) ⇒
(da |a| > |b| oder |b| > |a|) Rechteck nicht
einfarbig ⇒
p(R) ≤ 1/(2 · 2n − 1) für 0-Rechtecke.
Rechteck enthält (a, b) und (a0 , b0 ) mit |a| 6= |a0 |, |a| = |b| + 1
und |a0 | = |b0 | + 1.
O. B. d. A. |a| < |a0 |.
Rechteck enthält auch (a, b0 ) mit |a| < |b0 | + 1, d. h.
GTn (a, b0 ) = 0.
Also p(R) ≤ 1/(2 · 2n − 1) für 1-Rechtecke.
Also
1/ε = 2 · 2n − 1
dlog(1/ε)e = n + 1.
Der 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.
. – Seite 425/602
Definition 15.2.5
f : A × B → C, c ∈ C.
S ⊆ A × B heißt c-Verwirrmenge (c-fooling set), wenn
f (a, b) = c für alle (a, b) ∈ S ist und für (a, b), (a0 , b0 ) ∈ S mit
(a, b) 6= (a0 , b0 ) gilt: f (a, b0 ) 6= c oder f (a0 , b) 6= c oder beides.
Idee:
. – Seite 426/602
Theorem 15.2.6
sc := max{|S| | S c-Verwirrmenge
für f }.
P Dann ist C(f ) ≥ log
sc .
c∈C
Beweis
Wir brauchen schon sc c-Rechtecke, um die größte
c-Verwirrmenge zu überdecken.

GTn : S0 = (a, a) | a ∈ {0, 1}n 




0-Verwirrmenge
 Schranke
n + 2n − 1)
log(2

S1 = (a, b) | |a| = |b| + 1 

= n + 1.



1-Verwirrmenge
(a, b) und (a0 , b0 ) nicht in einem c-Rechteck.
. – Seite 427/602
. – Seite 428/602
Noch zwei wichtige Funktionen:
Theorem 15.2.7
DISn (a, b) = NOT(a1 b1 + · · · + an bn )
Disjunktheitstest, testet ob A := {i | ai = 1} und B disjunkt
sind.
IPn (a, b) = a1 b1 ⊕ · · · ⊕ an bn
Inneres Produkt oder Skalarprodukt in Z2 .
Beweis
C(DISn ) = n + 1,
n ≤ C(IPn ) ≤ n + 1.
(Später: C(IPn ) = n + 1.)
Obere Schranken trivial.
Untere Schranken:
DISn : Betrachte S = (a, a) | a ∈ {0, 1}n .
S ist 1-Verwirrmenge, denn DISn (a, a) = 1.
Seien (a, a) und (b, b) mit a 6= b gegeben, d. h. es existiert
ein i mit ai = 1 und bi = 0 (oder andersherum). Dann ist
DISn (a, b) = 0, da ai = bi = 1.
Also mindestens 2n 1-Blätter und mindestens ein 0-Blatt.
. – Seite 429/602
IPn : Abzählmethode aus Theorem 15.2.1.
Mindestens ein 1-Blatt.
)
−1
2n
Beh.1: |IPn (0)| > 2 /2.
> 2n /2 0-Rechtecke.
Beh.2: R 0-Rechteck ⇒ |R| ≤ 2n
Zu Beh.1:
a = (0, . . . , 0) ⇒ IPn (a, b) = 0 für alle b.
a 6= (0, . . . , 0) ⇒ IPn (a, b) = 0 für genau die Hälfte aller b.
Das folgt wie bei der Hashfunktion hW in Kapitel 11.
. – Seite 430/602
Zu Beh.2:
Das Skalarprodukt ist „was Algebraisches“.
A ⊆ {0, 1}n ⇒ < A > der von A in Zn2 über Z2
aufgespannte Vektorraum.
R = A × B 0-Rechteck ⇒ < A > × < B > 0-Rechteck,
denn (ai ⊕ a0i ) ∧ (bi ⊕ b0i ) = ai bi ⊕ ai b0i ⊕ a0i bi ⊕ a0i b0i und
IPn (a⊕a0 , b⊕b0 ) = IPn (a, b)⊕IPn (a, b0 )⊕IPn (a0 , b)⊕IPn (a0 , b0 ).
R größtes 0-Rechteck ⇒ R = A × B für orthogonale
Unterräume, A und B von Zn2 .
Also dim(A) + dim(B) ≤ n.
|R| = |A| · |B| = 2dim(A) · 2dim(B) ≤ 2n .
. – Seite 431/602
. – Seite 432/602
Theorem 15.2.8
C(f ) ≥ log Rang(f ) .
(Genauer ≥ Rang(f ) 1-Blätter,
analog ≥ Rang(f ) 0-Blätter).
Kommunikationsmatrizen sind Matrizen
und
Matrizen sind „was Algebraisches“.
Methoden der linearen Algebra für untere Schranken für die
Kommunikationskomplexität.
f : A × B → {0, 1}.
Mf Kommunikationsmatrix von f.
Rang(f ) := RangR (Mf ).
Beweis Sei T ein Protokollbaum für f.
Av × Bv : Eingabemenge, die 1-Blatt v erreicht.
(
1 (a, b) ∈ Av × Bv
Mv (a, b) :=
0 sonst.
(
1 Av × Bv 6= ∅
Dann Rang(Mv ) =
0 sonst.
Mv enthält nur zwei verschiedene Zeilen:
char(Av ) für a ∈ Av ,
Nullvektor für a ∈
/ Av .
. – Seite 433/602
Es ist
Mf =
X
. – Seite 434/602
Anwendung
f = EQn ⇒ Rang(Mf ) = 2n ,
Rang(Mf ) ≥ 2n − 1.
(Allgemein Rang(Mf ) ≤ Rang(Mf ) + 1, denn
Mf = En − Mf , En nur Einsen, Rang(En ) = 1, Subadditivität
der Rangfunktion.)
Mv ,
v 1−Blatt
da jede 1-Eingabe genau ein 1-Blatt erreicht und keine
0-Eingabe ein 1-Blatt erreicht.
f = GTn ⇒ Rang(Mf ) = 2n ,
Rang(Mf ) ≥ 2n − 1.
Subadditivität der Rangfunktion ⇒
X
Rang(Mf ) ≤
Rang(Mv ) ≤ #1-Blätter.
f = IPn ⇒ Rang(Mf ) = 2n − 1 und Rang(Mf ) ≥ 2n − 2.
v 1−Blatt
. – Seite 435/602
Grund: Hn Hadamard-Matrix, Hn = En − 2 · Mf und
Rang(Hn ) = 2n .
Also C(IPn ) = n + 1.
. – Seite 436/602
Ein passendes Reduktionskonzept
Definition 15.2.9 f : A × B → C , g : A0 × B 0 → C .
f ≤rect g (Rechteckreduktion) :⇔
∃hA : A → A0 , hB : B → B 0 : f (a, b) = g(hA (a), hB (b)) für alle
(a, b).
Lemma 15.2.10
Die bisherigen Schranken gelten für ausgewählte
Aufteilungen der Inputbits zwischen Alice und Bob.
Wie erhalten wir untere Schranken für beliebige
Aufteilungen der Inputbits, bei denen Alice und Bob je die
Hälfte der Bits erhalten?
f ≤rect g ⇒ C(f ) ≤ C(g).
Beweis Alice berechnet a0 := hA (a), Bob berechnet
b0 := hB (b).
Beide benutzen optimales Protokoll für g
und (a0 , b0 ).
Maskentechnik am Beispiel von EQn
EQ∗n Maskenvariante definiert auf a, a0 , b, b0 ∈ {0, 1}n .
a∗ : Verkürzung von a auf die ai mit a0i = 1, b∗ analog.
(
EQn (a∗ , b∗ ), falls Länge(a∗ ) = Länge(b∗ ) = m
EQ∗n (a, a0 , b, b0 ) :=
falls Länge(a∗ ) 6= Länge(b∗ )
0,
. – Seite 437/602
Theorem 15.2.11
Wenn Alice ≥ dn/2e a-Variablen und Bob ≥ dn/2e
b-Variablen erhält, gilt C(EQ∗n ) ≥ dn/2e + 1.
Beweis
Nun eine strukturell komplizierte Funktion:
Mittleres Bit der Multiplikation MULn .
Genauer: Bit der Wertigkeit 2n−1 im Produkt zweier Zahlen
der Bitlänge n.
Betrachte Spezialfall, bei dem
– a0
genau dn/2e Alice-Variablen auswählt,
– b0
genau dn/2e Bob-Variablen auswählt.
Alice und Bob müssen EQdn/2e behandeln.
. – Seite 438/602
Theorem 15.2.12
Wenn Alice und Bob je n/2 Bits des Faktors a kennen und
die Bits von b beliebig aufgeteilt sind, gilt
C(MULn ) ≥ dn/8e.
Bei jeder gleichmäßigen Aufteilung der Variablen in (a, b) gilt
die Schranke. Technik auch anwendbar auf GT∗n , DIS∗n , IP∗n .
. – Seite 439/602
. – Seite 440/602
Beweis
Betrachte Multiplikation nach der Schulmethode.
Dann ist dies die Addition von „geshifteten a’s“.
Wir werden zwei Positionen k und j auswählen und nur den
Fall bk = bj = 1 und bm = 0 sonst betrachten:
Dann ist
|a| · |b| = |a| · 2k + |a| · 2j .
Ziel: Es gibt „wichtige“ Positionen.
Dort kennen Alice und Bob je ein Bit.
Produktbit n − 1 ist Carrybit einer Addition zweier
dn/8e-stelliger Zahlen, wobei Alice und Bob an jeder Stelle
genau ein Bit kennen.
Betrachten wir erst einmal CARm , die Berechnung des
Carrybits bei Addition von a, b ∈ {0, 1}m .
Beh.: C(CARm ) = m + 1.
Beweis.: „≤“ trivial.
„≥“ Zeige GTm ≤rect CARm und
C(GTm ) = C(GTm ) = m + 1.
GTm (a, b) = 1 ⇔ |a| ≤ |b|.
CARm (a, b) = 1 ⇔ |a| + |b| ≥ 2m ⇔ 2m − |a| ≤ |b|.
Also hA (a) = a0 mit |a0 | = 2m − |a| und hB (b) := b.
. – Seite 441/602
Erinnerung a · b → a · 2k + a · 2j , k < j, d := j − k
j
A
a · 2j
B
a · 2k
0...0
d
k
. – Seite 442/602
B A
A
B
A B
B
A
a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 0 0 0 0 0 0 0 0
0
0
0
0
0
0
0 a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 0
↓ B A
A
B
A B
B
A
Ausgabebit mit Wertigkeit 215
Wir haben 4 A/B-Paare
Rest konstantsetzen:
Ziel: Möglichst viele A/B - oder B/A-Stellen.
Genauer: Alice und Bob erhalten je ein Bit aus (ai , ai+d ),
0 ≤ i ≤ n/2 − 2, n/2 ≤ i + d ≤ n − 1.
Z. B.: n = 16, k = 1, j = 8, d = 7.
A B
a 6 a5
B
A
a3 0 a1 0 0 0 0 0 0 0 0 0
0
0 a13 a12 1 a10 1 a8
0
0
0
0 a13 a12 1 a10 1 a8 0 a6 a5 0 a3 0 a1 0 0
↓ B A ↑ A ↑ B | Kein Übertrag
0
0
0
0
0
0
0
Überträge werden
weitergegeben
Ausgabebit= CAR4 (a6 , a12 , a10 , a1 , a13 , a5 , a3 , a8 ).
. – Seite 443/602
. – Seite 444/602
Es gibt nur n − 1 mögliche Differenzen l − i.
Für einen Differenzbetrag gibt es also
Es bleibt zu zeigen:
Wir können j und k so wählen, dass m ≥ dn/8e − 1 ist.
Beweis durch Schubfachprinzip
Sei r die Anzahl der ai , 0 ≤ i ≤ n/2 − 1, die Alice kennt.
Dann kennt sie n/2 − r der ai , n/2 ≤ i ≤ n − 1.
Bei Bob ist die Situation genau umgekehrt: n/2 − r und r.
Es gibt n2 /4 Paare (ai , al ), 0 ≤ i ≤ n/2 ≤ l ≤ n − 1, und
genau r2 + (n/2 − r)2 Paare, von denen Alice genau ein Bit
kennt.
≥ d(n2 /8)/(n − 1)e ≥ dn/8e Paare.
Da i = n/2 − 1 verboten, mindestens dn/8e − 1 erlaubte
Paare.
Damit ist die Differenz vorgegeben.
Die Positionen j und k werden so gewählt, dass das erste
A/B -Paar an Position n − 2 steht.
Dies ist minimal für r = n/4 und dann n2 /8.
. – Seite 445/602
. – Seite 446/602
15.3 Nichtdeterministische
Kommunikationsprotokolle
Wie kommt Zufall in das Protokoll?
Alice erhält rA ∈ {0, 1}lA gleichverteilt, Bob rB ∈ {0, 1}lB , lA
und lB Teil des Protokolls.
Nichtdeterminismus := einseitiger Fehler bei
Randomisierung,
false negatives,
Fehlerwahrscheinlichkeit < 1.
Alice-Knoten v : Statt
gv : A → {0, 1} nun
gv : A × {0, 1}lA → {0, 1}, also gv (a, rA ).
Also definieren wir randomisierte
Kommunikationsprotokolle.
Bei einseitigem Fehler:
Bob-Knoten analog.
f : A × B → {0, 1}.
Eingabe (a, b) : Zufälliger Weg durch Protokollbaum, besser
randomisierter Protokollbaum.
Kanten := maximale Tiefe eines Blattes.
. – Seite 447/602
. – Seite 448/602
Andere Sichtweise: Für festes rA ∈ {0, 1}lA und rB ∈ {0, 1}lB
erhalten wir einen deterministischen Protokollbaum.
Also: Randomisierter Protokollbaum ist Gleichverteilung
über 2lA +lB deterministische Protokollbäume, wobei Alice
nur rA und Bob nur rB kennt:
lA + l B
Zufall
(a, b) ∈ f −1 (0)
(a, b) ∈ f −1 (1)
: alle Wege mit pos. W.keit enden an 0-Blatt.
: mind. ein Weg mit pos. W.keit endet
an 1-Blatt.
→ f (a, b) = OR (alle mit pos. W.keit erreichbaren
Blattwerte)
→ OR-Nichtdeterminismus : COR (f ).
Weitere Formen von Nichtdeterminismus:
AND:
=
b OR-Nichtdeterminismus für f
(ähnlich NP vs. co-NP) CAND (f ).
umsonst
EXOR: f (a, b) = 1 ⇐⇒
...
det. Protokolle
ungerade viele Wege mit pos.
W.keit an 1-Blatt. CEXOR (f ).
MODq , MAJORITY: neue Welten von Komplexitätsklassen.
. – Seite 449/602
Bekannt: dlog N (f )e ≤ C(f ).
Zunächst: Kombinatorische Klassifikation von
COR (f ), CAND (f ), CEXOR (f ).
N (f )
. – Seite 450/602
Theorem 15.3.2
:=
min. Anzahl einfarbiger Rechtecke, um
Komm.matrix zu partitionieren.
NOR (f )
:= min. Anzahl von 1-Rechtecken, um
die Einsen der Komm.matrix zu überdecken
(nicht notwendigerweise disjunkt).
NAND (f )
:= analog für 0-Rechtecke und Nullen.
NEXOR (f ) := min. Anzahl von Rechtecken, so dass genau die
(a, b) ∈ f −1 (1) ungerade oft überdeckt werden.
. – Seite 451/602
dlog NOR (f )e ≤ COR (f ) ≤ dlog(N )OR (f ) + 1)e + 1
dlog NAND (f )e ≤ CAND (f ) ≤ dlog(N )AND (f ) + 1)e + 1
dlog NEXOR (f )e ≤ CEXOR (f ) ≤ dlog(N )EXOR (f ) + 1)e + 1
(praktisch vollständige komb. Klassifikation, manchmal
Definition:
COR := log NOR (f ).)
. – Seite 452/602
Beweis
(analog für alle Formen des Nichtdeterminismus, hier OR)
1. Ungleichung:
Betrachte opt. rand. Protokollbaum ohne rand. „Oberteil“,
sondern mit gv : A × {0, 1}lA → {0, 1}.
Tiefe ≤ COR (f ).
f −1 (1)
und
Jedes (a, b) ∈ f −1 (1) führt zu einem 1-Blatt.
f −1 (1)
Alice und Bob einigen sich über eine Überdeckung von
f −1 (1) durch NOR (f ) 1-Rechtecke R1 , . . . , RNOR (f ) .
Aktuelle Eingabe: (a, b)
⇒ Anzahl 1-Blätter ≤ Anzahl Blätter ≤ 2COR (f ) .
Alle Eingaben, die 1-Blatt erreichen, gehören zu
bilden 1-Rechtecke.
2. Ungleichung
2COR (f )
Also Überdeckung von
durch ≤
1-Rechtecke
⇒ NOR (f ) ≤ 2COR (f ) ⇒ dlog NOR (f )e ≤ COR (f ).
Alice wählt nichtdeterministisch ein i, so dass die a-Zeile Ri
schneidet und sendet i (oder 0, wenn es kein passendes
1-Rechteck gibt).
Bob prüft, ob b-Spalte Ri schneidet und sendet das
Ergebnis dieses Tests. 1-Blatt ⇐⇒ a-Zeile und b-Spalte
treffen sich im 1-Rechteck Ri .
. – Seite 453/602
Welche „Untere Schranken Methoden“ für det. Protokolle
lassen sich auf nichtdet. Protokolle übertragen?
. – Seite 454/602
Theorem 15.3.3
– Größe einfarbiger Rechtecke bezogen auf W.vtlg. auf
den Eingaben?
– Verwirrmengen als Spezialfall davon?
p W.keitsverteilung auf f −1 (1).
Falls p(R) ≤ ε für alle 1-Rechtecke, dann COR (f ) ≥ dlog 1/εe.
Wenn f eine 1-Verwirrmenge der Größe s hat, dann
COR (f ) ≥ dlog se.
(Analog für CAND (f ), 0-Rechtecke, 0-Verwirrmengen.)
– Rangmethode?
Nichts Ähnliches für CEXOR (f ), da Rechtecke an den
Blättern nicht mehr einfarbig sein müssen.
Wenn 1-Rechtecke nur ε-Anteil aller Einsen überdecken,
brauchen wir ≥ ε−1 dieser Rechtecke. Also:
. – Seite 455/602
. – Seite 456/602
Rangmethode nicht anwendbar für COR (f ) oder CAND (f ),
wie gleich EQn zeigt.
P
Es gilt ja auch nicht mehr: M =
Mv , die Summe der
v 1-Blatt
f −1 (0),
Mv enthält Nullen, falls (a, b) ∈
und positive Werte,
−1
falls (a, b) ∈ f (1).
P
Aber M =
Mv mod 2 für EXOR-Nichtdeterminismus.
v 1-Blatt
Theorem 15.3.4
CEXOR (f ) ≥ dlog Rang2 (f )e .
(Rang2 ist der Rang über Z2 .)
Theorem 15.3.5 (1)
COR (EQn ) ≥ n, CAND (EQn ) ≤ dlog ne + 2, CEXOR (EQn ) ≥ n.
Beweis:
Alle 2n Einsen bilden 1-Verwirrmenge.


1
0


...
CEXOR : 
 hat vollen Rang über Z2 .
0
1
CAND :
Betrachte nichtdet. Protokoll für EQn .
COR :
Alice wählt nichtdet. i ∈ {1, . . . , n}, sendet i und ai .
Bob sendet bi , 1-Blatt für ai 6= bi .
. – Seite 457/602
Theorem 15.3.5 (3)
COR (DISn ) ≥ n, CAND (DISn ) ≤ dlog ne + 2,
CEXOR (DISn ) ≥ n − blog(n + 1)c.
Theorem 15.3.5 (2)
COR (GTn ) ≥ n, CAND (GTn ) ≥ n, CEXOR (GTn ) ≥ n.
Beweis:
Alle 2n −1 Einsen der Diagonalen unterhalb der
Hauptdiagonalen bilden 1-Verwirrmenge.
CAND :
Alle 2n Nullen der Hauptdiagonalen bilden
0-Verwirrmenge.


0
0


...
CEXOR : 
 hat Z2 -Rang 2n − 1.
COR :
1
. – Seite 458/602
0
. – Seite 459/602
Beweis:
CAND :
Wie EQn , hier DISn , 1-Blatt für ai = bi = 1.
COR :
Alle (a, a) bilden 1-Verwirrmenge der Größe 2n .
CEXOR : Betrachte Untermatrix aller (a, b), wobei a
genau bn/2c und b genau dn/2e Einsen hat.
Dann Einsen nur für (a, a), bei passender


1
0


...
Nummerierung 
.
0
1
n
> 2 /(n + 1) ⇒ log
n bn/2c
Voller Rang
n − blog(n + 1)c.
n bn/2c
≥
. – Seite 460/602
Theorem 15.3.5 (5)
COR (IPn ) ≥ n − 1, CAND (IPn ) ≥ n, CEXOR (IPn ) ≤ dlog ne + 2.
Alice und Bob kennen je n/2 Bits eines Faktors ⇒
COR (MULn ) ≥ dn/8e − 1, CAND (MULn ) ≥ dn/8e − 1,
CEXOR (MULn ) ≥ dn/8e − 1.
Beweis:
Beweis:
Theorem 15.3.5 (4)
CEXOR : Wie EQn , 1-Blatt für ai = bi = 1.
Anzahl akz. Wege = Anzahl der i mit ai bi = 1.
2n
CAND :
Früher |IP−1
n (0)| > 2 /2,
∀ 0-Rechtecke R: |R| ≤ 2n
⇒ > 2n /2 0-Rechtecke ⇒ CAND (IPn ) ≥ n.
COR :
Setze an = bn = 1 → es entsteht IPn−1 , wende
vorige Schranke an.
Siehe früher: CARdn/8e−1 ist Subfunktion,
Rechteckreduktion auf GTdn/8e−1 ,
Theorem 15.3.5 (2) anwenden und
CEXOR (f ) ≥ CEXOR (f )
f ).
(entscheide nichtdet.
f
1
. – Seite 461/602
Fazit:
. – Seite 462/602
Theorem 15.3.6
– Jede Art von Nichtdeterminismus kann Probleme
einfach machen, d. h. logarithmisch, während die
beiden anderen Arten linear bleiben.
C(f ) = O(COR (f ) · CAND (f )).
Falls P für Polylog steht:
– Wir kennen Funktionen, die für alle drei Arten von
Nichtdeterminismus schwierig sind, also linear.
Beweis
Pcom = NPcom ∩ co-NPcom .
Alice und Bob einigen sich über
– Überdeckung der Einsen durch NOR (f ) 1-Rechtecke
und
– Überdeckung der Nullen durch NAND (f ) 0-Rechtecke.
. – Seite 463/602
. – Seite 464/602
Nun log NAND (f ) Komm.phasen mit je log NOR (f ) + O(1)
Komm.bits ⇒ Theorem (siehe Theorem 15.3.2).
R 1-Rechteck, R0 0-Rechteck ⇒ R ∩ R0 = ∅.
R schneidet a-Zeile und b-Spalte, d. h (a, b) ∈ R.
Dann kann R0 nur a-Zeile oder b-Spalte schneiden.
Stets K Kandidatenmenge von 0-Rechtecken, die (a, b)
enthalten können.
Also:
<0 Menge von 0-Rechtecken ⇒
R hat mit mind. der Hälfte aller R0 ∈ <0 keine Zeile
gemeinsam
oder
R hat mit mind. der Hälfte aller R ∈ <0 keine Spalte
gemeinsam.
Zu Beginn: K alle NAND (f ) gewählte 0-Rechtecke.
Falls K = ∅ ⇒ f (a, b) = 1.
Ziel einer Phase:|K| halbieren oder Beweis, dass
f (a, b) = 0.
≤ log NAND (f ) Phasen
. – Seite 465/602
Sei also K 6= ∅.
. – Seite 466/602
Fall 2:
Bob geht dual zu Alice vor mit seiner Eingabe b und
gemeinsamen Spalten.
Alice prüft, ob es unter den NOR (f ) gewählten
1-Rechtecken eines gibt, das
– Zeile a schneidet und
Fall 2.1:
|K| hat sich mindestens halbiert.
– mit höchstens der Hälfte der K -Rechtecke Zeile
gemeinsam hat.
Fall 2.2:
Beides mal „existiert nicht“ ⇒ f (a, b) = 0.
Sie sendet die Nummer des gefundenen 1-Rechtecks R
(Fall 1) oder „existiert nicht“ (Fall 2), dlog NOR (f )e + O(1) Bits.
{R0
R0
Fall 1: K :=
∈K|
und R haben Zeile gemeinsam}.
Damit hat sich |K| mindestens halbiert.
. – Seite 467/602
Beweis: (indirekt)
!
f (a, b) = 1 ⇒
∃ 1-Rechteck R unter den gewählten NOR (f ) 1-Rechtecken,
s.vorne
(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).
. – Seite 468/602
15.4 Randomisierte Kommunikationsprotokolle
Theorem 15.4.1
R0 (f ) („EP“):
fehlerfrei, maximale (worst case Input)
erwartete (Zufallsbits) Protokolllänge.
R?,ε (f ) („ZPP“):
fehlerfrei, Versagensw.keit ≤ ε < 1.
R1,ε (f ) („RP“):
einseitiger Fehler, Fehlerw.keit ≤ ε < 1.
ε<1
– R0 (f ) ≤ 2 · R?,1/2 (f ), R?,1/2 (f ) ≤ 2 · R0 (f ).
(Beweis von ZPP=EP.)
– R?,εk (f ) ≤ k · R?,ε (f ), R1,εk (f ) ≤ k · R1,ε (f ).
R2,ε (f ) („BPP“): zweiseitiger Fehler, Fehlerw.keit ≤ ε < 1/2.
Probability amplification?
Protokolllänge l, t Wiederholungen ⇒ Protokolllänge t · l,
z. B. für t = n
viel zu groß.
(k Wiederholungen, fehlerfreie Entscheidung.)
– R2,2−k (f ) ≤ (2 · ln 2) · k · ε−2 · R2,1/2−ε (f ),
falls 0 < ε < 1/2.
( (2 · ln 2) · k · ε−2 Wiederholungen,
Majoritätsentscheidung.)
. – Seite 469/602
Theorem 15.4.2
0<ε<1
. – Seite 470/602
Theorem 15.4.3
R?,ε (f ) ≤ R1,ε (f ) + R1,ε (f ).
R1,1/n (EQ) = O(log n).
(Beweis von ZPP ⊆ RP ∩ co-RP.)
Theorem 15.3.5
COR (EQn ) ≤ log n + 2.
Wähle i zufällig, dann tausche i, ai , bi aus und akzeptiere,
falls ai 6= bi .
Neuinterpretation R1,1−1/n (EQn ) ≤ log n + 2, da mit W.keit
≥ 1/n ein passendes i gewählt wird, große Fehlerw.keit.
. – Seite 471/602
Idee: Alice und Bob vergleichen Fingerabdrücke von a
und b. Diese enthalten viel weniger Information als ihre
Genome.
Aber: Genome verschieden ⇒ meistens Fingerabdrücke
verschieden.
Im worst case schlecht. Wir brauchen randomisierten
Fingerabdruck.
Genome verschieden ⇒ rand. Fingerabdrücke mit großer
Wahrscheinlichkeit verschieden.
. – Seite 472/602
Beweis mit fingerprinting technique:
Alice und Bob berechnen sich die n2 kleinsten Primzahlen.
Deren Größe ist O(n2 log n) (Primzahlsatz) und jede lässt
sich mit O(log n) Bits beschreiben.
Offensichtlich: O(log n) Bits.
Alice berechnet und sendet p und |a| mod p, wobei
P i
|a| :=
ai 2 und p zufällig aus den n2 kleinsten Primzahlen.
Bob berechnet |b| mod p und verwirft (sendet 0) genau
dann, wenn |a| mod p = |b| mod p.
a 6= b : Sei k := #{Primzahlen p unter den n2 kleinsten mit
|a| mod p = |b| mod p}.
a = b ⇒ |a| mod p = |b| mod p ⇒
kein false positive.
Dann Fehlerw’keit k/n2 .
Also zu zeigen: k ≤ n.
. – Seite 473/602
|a| mod p = |b| mod p ⇔ |a| − |b| Vielfaches von p.
. – Seite 474/602
Private coins (wie bisher:
Alice kennt rA , aber nicht rB , Bob umgekehrt)
Gilt dies für Primzahlen p1 , . . . , pk , dann ist |a| − |b|
versus
Vielfaches von p1 · . . . · pk .
public coins
(Alice und Bob kennen (rA , rB ))
Falls k > n, ist p1 · . . . · pk > 2n .
Da 0 ≤ |a|, |b| < 2n (n-Bit-Zahlen), muss |a| = |b| und a = b
sein.
Trivial
pub
R2,ε
(f ) ≤ R2,ε (f ).
(Sie vereinbaren vorab, dass die ersten lA Zufallsbits Alice
„gehören“ und die anderen Bob.)
. – Seite 475/602
. – Seite 476/602
Public coins können helfen . . .
Es folgt (2-malige Wiederholung):
pub
Theorem 15.4.5 R1,1/2
(EQn ) ≤ 2.
pub
R1,1/4
(EQn ) ≤ 4.
Man kann zeigen:
Beweis r ∈ {0, 1}n zufällig.P
Zufälliger Fingerabdruck
ai ri mod 2 bzw.
1≤i≤n
P
bi ri mod 2.
pub
pub
R1,1/4
(EQn ) = R2,1/4
(EQn ) = Ω(log n).
Also public coins können echt helfen,
aber wie stark?
1≤i≤n
VergleichPder Fingerabdrücke:
2 Kommunikationsbits.
P
a=b⇒
ai r i P
= bi r i P
mod 2, keine false positives.
a 6= b ⇒ Probr ( ai ri = bi ri mod 2) = 1/2 (wie in
Kapitel 11 die Hashfunktion hW ).
Im Wesentlichen nicht mehr als in diesem Beispiel.
. – Seite 477/602
Theorem 15.4.6 f : {0, 1}n × {0, 1}n → {0, 1}, δ > 0.
pub
R2,ε+δ (f ) ≤ R2,ε
(f ) + O(log n + log δ −1 ).
. – Seite 478/602
Beweis des Theorems:
Beide Aussagen werden analog bewiesen.
pub
R1,ε+δ (f ) ≤ R1,ε
(f ) + O(log n + log δ −1 ).
Ausgangspunkt: Opt. rand. Protokoll mit Fehlerw.keit ε
und public coins, d. h r ∈ {0, 1}l .
Korollar
pub
R2,ε (f ) = O(R2,ε
(f ) + log n).
pub
R1,ε (f ) = O(R1,ε
(f ) + log n).
(Wähle δ > 0 konstant, so dass ε + δ < 1/2 bzw. ε + δ < 1,
wende Theorem 15.4.6 und probability amplification an.)
. – Seite 479/602
Ziel: Es gibt t „Rechenwege“, d. h Realisierungen von r, so
dass zufällige Auswahl eines dieser Rechenwege eine
Fehlerw.keit ≤ ε + δ garantiert, dabei ist t = O(nδ −2 ).
Dann: Alice wählt i ∈ {1, . . . , t} „privat“, sendet i mit
O(log n + log δ −1 ) Bits an Bob, dann ist der Rechenweg
„public“.
. – Seite 480/602
Veranschaulichung des ursprünglichen Protokolls durch
Matrix Z :
r∗
(a, b)
Z(a, b, r∗ ) = 1,
Z(a, b, r ∗ )
Z(a, b, r∗ ) = 0
Wie sollen wir die Spalten wählen?
Das weiß niemand!
Und dann?
Wähle r1 , . . . , rt zufällig und unabhängig und zeige
Prob{r1 , . . . , rt haben die gewünschte Eigentschaft} > 0.
falls Fehler bei
Eingabe (a, b) und
Rechenweg r∗ .
sonst.
Dann müssen gute r1 , . . . , rt existieren.
Fehlerw.keit ≤ ε ⇒ Anteil der Einsen pro Zeile ≤ ε.
Fehlerw.keit = 0 (bei einseitigem Fehler und f (a, b) = 0) ⇒
Keine Eins in der Zeile.
Die Methode ist nicht konstruktiv, aber mächtig, genannt
probabilistische Methode (Erdös).
Ziel: Auswahl von t Spalten (eventuell mit Wiederholung),
so dass die entstehende Submatrix mit t Spalten
Fehlerw.keit ≤ ε + δ hat.
. – Seite 481/602
Jetzt analysieren wir unsere zufällige Wahl von r1 , . . . , rt .
Danach zufällige Wahl R ∈ {r1 , . . . , rt }.
P
Z(a, b, ri )/t (Def. E.wert)
E(Z(a, b, R)) =
Prob(
P
2
Z(a, b, ri )/t ≥ ε + δ) ≤ 2e−δ t .
1≤i≤t
2
Für t = d2nδ −2 + δ −2 e ist 2e−δ t ≤ 2 · e−2n−1 < 2−2n .
P
Z(a, b, ri )/t ≥ ε + δ)
Prob(∃ (a, b) :
1≤i≤t
E(Z(a, b, ri )) ≤ ε
. – Seite 482/602
bei zuf. Wahl von ri
≤
(Nullzeilen bleiben Nullzeilen, das ist eh klar).
Nun also wiederholtes Bernoulli-Experiment
→ chernoffsche Ungleichung (hier andere Form
siehe Motwani/Raghavan).
<
P
(a,b)
22n
1≤i≤t
Prob(
P
Z(a, b, ri )/t ≥ ε + δ)
1≤i≤t
·
2−2n = 1.
Anzahl Summanden
. – Seite 483/602
. – Seite 484/602
Also Gegenw.keit
P
Prob(∀ (a, b) :
Z(a, b, ri )/t < ε + δ) > 0.
Wie bei Yaos Minimaxprinzip Vergleich
1≤i≤t
Und das wollten wir zeigen.
rand. Protokoll mit worst case Eingabe
und
det. Protokoll mit zufälliger Eingabe.
Es sei p W.verteilung auf A × B
Untere Schranken für einseitigen Fehler
→ nichtdet. Protokolle.
Dp,ε (f ) := Länge des kürzesten deterministischen
Protokolls, das bei Wahl von (a, b) gemäß p
Fehlerw.keit ≤ ε hat.
Kommunikationskomplexität von ε-Approximation für f
bezüglich p.
Aber wie ist es bei zweiseitigem Fehler?
. – Seite 485/602
. – Seite 486/602
Theorem 15.4.7
(1)
(2) ∀δ > 0 :
pub
R2,ε
(f ) ≥ max{Dp,ε (f ) | p Verteilung auf A × B}.
pub
R2,ε+δ
(f )
≤ max{Dp,ε (f ) | p Verteilung auf A × B}.
Beweis Ungleichung (1)
Gegeben opt. rand. Protokoll mit Fehlerw.keit ≤ ε, Länge
pub
R2,ε
(f ).
Dies ist eine Verteilung über 2l det. Protokolle.
Ungleichung (2)
Zwei-Personen-Nullsummenspiel
Sei d := max{Dp,ε (f )}
Eva wählt det. Protokoll P der Länge d.
Thomas wählt Eingabe (a, b).
Die Fehlerw.keit ist eine Mittelung über die Fehlerw.keiten
der det. Protokolle. Sie gilt für jedes (a, b), also auch im
Mittel über alle (a, b), gewählt gemäß p. Die Fehlerw.keit des
besten der det. Protokolle ist nicht größer als der
Durchschnitt.
. – Seite 487/602
Eva zahlt an Thomas 1 , falls P auf (a, b) einen Fehler
macht, und sonst nichts.
Eva kann gegen jede rand. Strategie p von Thomas eine
det. Strategie wählen, so dass sie im Durchschnitt ≤ ε
zahlt.
. – Seite 488/602
Also Wert des Spiels ≤ ε.
Wir wenden Ungleichung (1) an, (2) zeigt, dass wir nichts
verschenken.
Minimax-Theorem der Spieltheorie ⇒
Es gibt rand. Strategie für Eva (also ein rand. Protokoll der
Länge ≤ d), die für jede Eingabe eine Fehlerw.keit ≤ ε
garantiert.
Mit public coins wird dadurch ein gemeinsam benutzbares
Protokoll – fast: Das Protokoll kann W.keiten wie 1/3
vorsehen, die können wir nur approximieren, daher
Fehlerw.keit ≤ ε + δ .
Wieder haben wir es mit einer Form von Yaos
Minimax-Prinzip zu tun.
Wir erhalten untere Schranken für rand. Protokolle, indem
wir deterministische Protokolle bei beliebiger (clever
gewählter) Verteilung auf der Eingabemenge untersuchen.
. – Seite 489/602
. – Seite 490/602
Die Diskrepanzmethode zur Berechnung unterer
Schranken für Dp,ε (f ).
Diskrepanz der Funktion
Um kleine Fehlerw.keit zu haben, müssen die Blätter im
Protokollbaum kleine Rechtecke repräsentieren oder
Rechtecke mit deutlich mehr Einsen als Nullen (oder
umgekehrt), „mehr“ bezieht sich auf die Verteilung p,
genauer R ⊆ A × B , R0 := f −1 (0) ∩ R, R1 := f −1 (1) ∩ R.
Theorem 15.4.8
Diskrepanz: Discp,f (R) := |p(R1 ) − p(R0 )|.
Der Beweis benutzt nur Definitionen und einfache
Umformungen, aber keine Idee!
Discp (f ) := max{Discp,f (R) | R ⊆ A × B Rechteck}.
f : A × B → {0, 1}, p Wvtlg. auf A × B , 0 < ε ≤ 1/2:
Dp,1/2−ε (f ) ≥ log(2ε) − log(Discp (f )).
. – Seite 491/602
. – Seite 492/602
Beweis Betrachte det. Protokolle mit Fehler (bzgl. p) von
höchstens 1/2 − ε und min. Länge d = Dp,1/2−ε (f ).
Rv : Rechteckmenge an Blatt v , höchstens 2d Rechtecke.
Protokoll deterministisch ⇒ Rv bilden Partition von A × B .
(siehe oben)
2ε ≤ p(E + ) − p(E − )
X
(p(E + ∩ Rv ) − p(E − ∩ Rv )) (Rv Partition)
=
v Blatt
X
≤
E + := {(a, b) | Protokoll korrekt auf (a, b)},
E − := (A × B) − E + .
|p(E + ∩ Rv ) − p(E − ∩ Rv )| (trivial)
v Blatt
X
=
Dann p(E − ) ≤ 1/2 − ε und somit p(E + ) ≥ 1/2 + ε.
Discp,f (Rv )
v Blatt
d
(≤ 2d Summanden,
jeder ≤ Discp (f ))
≤ 2 · Discp (f )
Nun rechnen:
(Definition Disc)
⇒ d ≥ log(2ε) − log Discp (f ).
. – Seite 493/602
Anwendung der Methode meistens nicht einfach.
Theorem 15.4.9
. – Seite 494/602
Definition
Discu,IPn (A × B) =
#{(a, b) ∈ A × B | Hn (a, b) = 1}−
0 < ε ≤ 1/2:
pub
R2,1/2−ε
(IPn ) ≥ n/2 + log ε.
Beweis mit Hilfe von Thm. 15.4.7 und Thm. 15.4.8.
=
Verteilung auf A × B : Gleichverteilung u.
Trick in der Komm.matrix: 0 → +1 und 1 → −1.
P
(a,b)∈A×B
#{(a, b) ∈ A × B | Hn (a, b) = −1} /22n
Hn (a, b) /22n
T
= eA · Hn · eB /22n
Vorteil: Diskrepanz lässt sich algebraisch ausdrücken.
(eA , eB charakt. Vektoren von A und B ).
Sei Hn die „neue“ Kommunikationsmatrix.
!
≤ 23n/2 /22n = 2−n/2 .
. – Seite 495/602
. – Seite 496/602
Die Matrix Hn hat schöne bekannte Eigenschaften
(Hadamard-Matrix).
Denn dann folgt
pub
R2,1/2−ε
(IPn ) ≥ Du,1/2−ε (IPn )
(Thm. 15.4.7)
≥ log(2ε) − log(Discu (IPn ))
(Thm. 15.4.8)
≥ log ε + 1 − log 2−n/2
(siehe oben)
Es ist Hn · HnT = 2n · In (In Identitätsmatrix).
P
Beweis
Hn (a, c) · Hn (c, b).
Hn · HnT (a,b) =
c∈{0,1}n
1. Fall a = b: Hn (a, c) = Hn (c, a) ∈ {−1, +1}, also
Hn (a, c) · Hn (c, a) = 1 und Summenwert 2n .
≥ n/2 + log ε.
2. Fall a 6= b: IPn (a, c) = IPn (b, c) für genau die Hälfte
aller c (siehe Thm. 15.4.5).
Also Summenwert 0, Hälfte der Summanden ist 1,
die andere Hälfte −1.
. – Seite 497/602
In hat genau einen Eigenwert, nämlich 1.
. – Seite 498/602
Es sollte nicht überraschen, dass wir Lineare Algebra
brauchen, wenn wir über (Kommunikations-) Matrizen
reden.
2n · In hat genau einen Eigenwert, nämlich 2n .
⇒ kHn k2 = 2n/2 (Spektralnorm),
keA k2 = |A|1/2 (euklidische Länge),
keB k2 = |B|1/2 .
Wir haben ein Reservoir von Methoden für untere
Schranken für die Länge von
deterministischen / nichtdeterministischen / randomisierten
Kommunikationsprotokollen.
|eTA · Hn · eB | ≤ keA k2 · kHn k2 · keB k2
≤ |A|1/2 · 2n/2 · |B|1/2
≤ 2n/2 · 2n/2 · 2n/2 = 23n/2 .
Und wo sind die Anwendungen?
. – Seite 499/602
. – Seite 500/602
15.5 Kommunikationskomplexität und VLSI-Schaltkreise
VLSI-Schaltkreise: rechteckig mit A = b · l Zellen (A = area)
Kommunikation nur zwischen Nachbarzellen,
O. B. d. A.: l ≤ b und daher l ≤ A1/2 .
Kommunikation pro Zeittakt ≤ l + 1.
Alice und Bob benutzen Chip und simulieren die Rechnung
auf beiden Seiten und simulieren den Bitaustausch durch
Kommunikation.
T := Chip-Rechenzeit ⇒
C(f ) ≤ (l + 1) · T + 1 (+1 für Austausch des Ergebnisses)
≤ (A1/2 + 1) · T + 1 = O(A1/2 · T ).
pro Zeittakt 1 Bit.
Pro Zelle nur ein Eingabebit.
Es existiert Schnitt der Länge ≤ l + 1, so dass links und
rechts gleich viele Bits gelesen werden.
. – Seite 501/602
VLSI-Komplexitätsmaß: AT 2 .
Es folgt AT 2 = Ω(C(f )2 ), wobei jetzt beliebige Aufteilung
der Eingabebits in zwei gleich große Teile betrachtet
werden muss.
Theorem 15.5.1 VLSI-Schaltkreise für MULn .
Dann A · T 2 = Ω(n2 ).
. – Seite 502/602
15.6 Kommunikationskomplexität und Turingmaschinen
Bekannt:
Simulation von 2-Band-TM mit Zeit t(n) durch 1-Band-TM
mit Zeit O(t(n)2 ).
Nun: Das geht nicht besser.
Für f = (fn ) mit fn = {0, 1}n × {0, 1}n → {0, 1} sei
L∗ (f ) := {a c b | |a| = |c| = |b|, a, b ∈ {0, 1}∗ ,
c ∈ {2}∗ , f|a| (a, b) = 1}.
. – Seite 503/602
. – Seite 504/602
Bemerkung 15.6.1
Für L∗EQ gibt es 2-Band-TM mit Zeit O(n).
Es ist COR (EQn ) ≥ n (Theorem 15.3.5),
also erst recht R1,2/3 (EQn ) ≥ n,
Beweis:
– Teste, ob Eingabe aus (0 + 1)∗ 2∗ (0 + 1)∗ und
teste auf zwei Bändern, ob die Teile gleich lang
sind.
– Falls ja, schreibe hinteren Teil auf Band 2 und
eliminiere Zweien.
– Teste, ob Inhalt (Band1) = Inhalt (Band2).
pub
daher auch R1,1/2
(EQn ) = Ω(n) (Theorem 15.4.6).
Insbesondere ist R0pub (EQn ) = Ω(n).
Unser Ziel ist
Theorem 15.6.3
Jede 1-Band-TM für L∗EQ braucht Zeit Ω(n2 ).
. – Seite 505/602
. – Seite 506/602
Dies folgt aus
Beweis von Theorem 15.6.2:
Theorem 15.6.2 Sei M 1-Band-TM für L∗f , die mit Zeit t(n)
auskommt, dann gilt
R0pub (fn ) = O t(3n)
+
1
.
n
Alice kennt a ∈ {0, 1}n , Bob b ∈ {0, 1}n , sie wollen fn (a, b)
berechnen. Sie simulieren M auf der Eingabe w = a2n b.
Public coins wählen i ∈ {0, . . . , n} gleichverteilt.
Anwendung:
t(n) = Ω(n ·
(R0pub (fn/3 )
a
− 1)) =
Ω(n2 )
22 ...
2
b
für fn = EQn .
Alice
Länge n + i
Bob
Alice simuliert TM, bis das erste Mal Trennline überschritten
wird.
Sie sendet aktuellen Zustand q mit O(1) Bits an Bob.
. – Seite 507/602
. – Seite 508/602
Dies wird fortgesetzt, bis TM stoppt. Dann kennt Alice (oder
Bob) das Ergebnis und sendet es an Bob (oder Alice).
Also z0 + z1 + · · · + zn ≤ t(3n)
⇒ (z0 + z1 + · · · + zn )/(n + 1) ≤ t(3n)/n.
Das Protokoll ist randomisiert und fehlerfrei.
Also durchschnittliche Protokolllänge:
Analyse der Protokolllänge:
zi := zi (a, b) := Anzahl der Rechenschritte, bei denen M die
Trennlinie für i überschreitet.
Pro Schritt wird maximal eine Trennlinie überschritten.
Es gibt ≤ t(3n) Rechenschritte.
≤ t(3n)/n Nachrichten mit einem Zustand, also O(1) Bits,
und 1 Nachricht mit dem Ergebnis, also 1 Bit.
. – Seite 509/602
. – Seite 510/602
16. Die Komplexität boolescher
Funktionen
16.1 Grundlegende Überlegungen
Ziel:
Modelle:
Abschätzung der Komplexität der gewählten booleschen
Funktion im gewählten Modell.
Schaltkreise und Branchingprogramme mit und ohne
Einschränkungen, zugehörige Komplexitätsmaße.
Obere Schranken:
Simulation effizienter Algorithmen im gewählten Modell.
Probleme:
Wichtig:
Funktionenfolgen fn : {0, 1}n → {0, 1}m , meistens m = 1.
Untere Schranken und Methoden dafür.
. – Seite 511/602
. – Seite 512/602
Notwendige Bedingung, um alle Funktionen zu realisieren:
Einfach: Es gibt selbst im allgemeinen Schaltkreismodell
schwierige Funktionen, sogar: fast alle Funktionen sind
schwierig.
n
22
2n
2n
s
≤
≤
≤
=
2O(s log(s+n))
c · s log(s + n)
c0 s log s
Ω(2n /n)
Es gibt 22 Funktionen f : {0, 1}n → {0, 1}.
⇒
⇒
⇒
Es gibt 2O(s log(s+n)) binäre Schaltkreise mit s Bausteinen.
(Verifikation: s = o(2n /n) ⇒ (∗) nicht erfüllt.)
Pro Baustein: O(1) Basisfunktionen, ≤ s + n mögliche 1./2.
Vorgänger, also ≤ (2(s + n) + O(1))s = 2O(s log(s+n))
Schaltkreise.
Genauer: s ≥ (2n /n)(1 − o(1)) und s = (2n /n)(1 + o(1))
genügt.
Methode: Abzählmethode.
n
(s n)
(∗)
Nur Existenzbeweis, also nur ein Einstieg.
. – Seite 513/602
Uns interessieren f = (fn ) mit Lf ∈ NP!
. – Seite 514/602
16.2 Die Größe von Schaltkreisen
(die Misserfolgsstory schlechthin)
explizit definiert
Ziele:
f : {0, 1}n → {0, 1} hängt von xi
essentiell ab
– Rekordjagd, größte bekannte Schranke in einem als
wichtig akzeptierten Modell,
:⇔
f|xi =0 6= f|xi =1 .
Bemerkung: f hängt von n Variablen essentiell ab
⇒ C(f ) ≥ n − 1. (Hier C(f ) Schaltkreiskomplexität).
– Entwicklung von Methoden für untere Schranken,
– Schranken für „wichtige“ Funktionen,
– Schranken für immer allgemeinere Modelle.
Beweis: Schaltkreis ist zusammenhängender Graph mit
≥ n Eingängen und einem Ausgang ⇒ ≥ n − 1 innere
Knoten (=Bausteine).
. – Seite 515/602
. – Seite 516/602
Hier Beispielanwendung mit Schranke 2n.
Schrankenrekord für explizit definierte Funktionen:
3n − O(log n) (seit 1984).
n (x) = 1 :⇔ x + · · · + x ≥ k , analog T n .
T≥k
1
n
≤k
Nur wenige (2 + ε)n-Schranken, ε > 0.
(Schwellwertfunktion, positive/negative Thresholdfunktion.)
Alle benutzen Methode der
Bausteineliminierung (gate elimination).
Theorem 16.2.1
Ersetze xi , i geeignet, so durch Konstante ci (geeignet),
dass
Beweis durch Induktion über n.
n ) ≥ 2n − 3.
C(T≥2
2 (x) = x ∧ x , Schranke 1 trivial.
n = 2 : T≥2
1
2
– „viele“ Bausteine überflüssig werden,
– f|xi =ci induktiv behandelt werden kann.
Bei Schranken (2 + ε)n, ε > 0, auch Einfluss über lange
Distanzen.
. – Seite 517/602
. – Seite 518/602
n − 1 → n:
n und G sein erster
Sei S optimaler Schaltkreis für T≥2
1
Baustein:
xi
xj
xj
– G1 berechnet 0, 1, xj oder xj ,
G1
Es ist i 6= j , sonst wird xi berechnet (überflüssig)
oder xi (→ Berechnung in G hineinziehen).
g
G1
G2
– G2 berechnet 0, 1, g oder g .
Beide Bausteine eliminieren, Berechnung in Nachfolger
integrieren.
G
G1 realisiert eine der 10 Funktionen, die von beiden
Eingängen essentiell abhängen (sonst Berechnung in G
hineinziehen):
1. Fall (xai ∧ xbj )c
xi
Falls out(xi ) ≥ 2, setze xi = 0:
oder 2. Fall (xi ⊕ xj )c
n−1
n
Neue Funktion: T≥2
= T≥2
.
|x =0
i
n ) ≥ C(T n−1 ) + 2
Nun C(T≥2
≥2
,a, b, c ∈ {0, 1}.
Ind.vor.
≥
2(n + 1) − 3 + 2 = 2n − 3.
Analog, falls out(xj ) ≥ 2.
Dabei ist x1i = xi und x0i = xi .
Was ist, wenn = out(xi ) = out(xj ) = 1 ist?
. – Seite 519/602
Geht nicht!
. – Seite 520/602
xi
xj
(xαi ∧ xbj )c
1. Fall
∧
Besser lief es für monotone Schaltkreise.
Für xj = b ergibt sich 0c und Funktion von xi unabhängig,
n−1
n−1
n
aber T≥2|x
∈ {T≥2
, T≥1
} und von xi essentiell abhängig.
=b
j
xi
xj
2. Fall
Sie können genau die monotonen booleschen Funktionen
berechnen:
f : {0, 1}n → {0, 1} monoton
a≤b
(xi ⊕ xj )c
(d. h. ∀i : ai ≤ bi )
:⇔
⇒
f (a) ≤ f (b).
⊕
– Bausteineliminierung:
Wir erhalten für xi = xj = 0 und xi = xj = 1 dieselbe
n−2
n
n
Subfunktion, aber T≥2|x
= T≥2
und T≥2|x
=1
i =xj =0
i =xj =1
n−2
und T≥2
6= 1.
Ω(n3/2 ) für fn : {0, 1}n → {0, 1}n ,
– Maß für Fortschritt der Rechnung an jedem Baustein:
Ω(n2 / log n) für fn : {0, 1}n → {0, 1}n ,
– approximatives Maß für Fortschritt: exponentielle
Schranken z. B. für CLIQUE .
. – Seite 521/602
. – Seite 522/602
16.3 Die Tiefe von Schaltkreisen
(Auch hier keine grandiosen Erfolge.)
Sogar:
D(f ): minimale Tiefe (Länge des längsten Weges) eines
Schaltkreises für f .
D(f ) = O(log L(f )).
(Automatische Parallelisierung von Formeln.)
Also:
L(f ): minimale Größe einer Formel für f .
Formeln sind Schaltkreise, die graphentheoretisch Bäume
sind.
Bemerkung 16.3.1
D(f ) ≥ log(L(f ) + 1) .
D(f ) = Θ(log L(f )).
→ Untersuchung der Formelgröße motiviert.
Schrankenrekord seit 1966: Ω(n2 / log n) und damit
Schrankenrekord für Tiefe: 2 log n − log log n − O(1).
(Wobei dlog ne für Funktionen, die von n Variablen essenziell
abhängen, trivial ist).
Beweis Formeln sind binäre Bäume mit L(f ) inneren
Knoten, also L(f ) + 1 Blättern.
. – Seite 523/602
. – Seite 524/602
Methode von Nechiporuk:
Idee: f hat kleine Formel ⇒ f hat nicht viele verschiedene Subfunktionen.
Theorem 16.3.2 S1 , . . . , Sk disjunkte Mengen von
Variablen, von denen f essenziell abhängt. Dann gilt
L(f ) ≥
1 X
(log si + 2) − 1.
4
1≤i≤k
Variablenmenge X = {x1 , . . . , xn }.
Beweis
sind.
Seien S1 , . . . , Sk ⊆ X disjunkt.
Sei si die Anzahl verschiedener Subfunktionen von f auf Si ,
wenn wir alle Konstantsetzungen der Variablen aus X − Si
betrachten.
Sei ti die Anzahl der Blätter, die Variablen aus Si
Zeige: ti ≥ 14 (log si + 2), dann folgt Theorem
(−1, da Anzahl innerer Knoten um 1 kleiner als Anzahl
Blätter).
. – Seite 525/602
x1
x2
G1
x3
x4
x4
G2
x1
x3
x2
Sei wi := |Wi |. Dann ist wi = ti − 1.
G3
G5
. – Seite 526/602
S1 = {x1 , x2 },
S2 = {x3 , x4 }.
t1 = 4, |W1 | = 3,
t2 = 4, |W2 | = 3.
G4
Entferne alle (X − Si )-Blätter und Knoten mit Ingrad 1.
Wir erhalten binären Baum mit ti Blättern und wi inneren
Knoten.
G6
besonderer
Pfad
Pfade:
G7
W1 innere Knoten mit S1 -Blättern im linken und rechten
Teilbaum,
W2 analog.
∈ W1 , ∈
/ W2
∈
/ W 1 , ∈ W2
∈ W1 , ∈ W2
∈
/ W1 , ∈
/ W2
Start: Si -Blatt oder Wi -Knoten,
Ende: Wi -Knoten oder Wurzel des Baums,
dazwischen kein Wi -Knoten.
pi := Anzahl dieser Pfade.
. – Seite 527/602
. – Seite 528/602
Es ist pi ≤ 2wi + 1, denn:
Also
si ≤ 4 pi
An jedem Wi -Knoten kommen nur zwei Pfade an, falls
Wurzel kein Wi -Knoten, ein weiterer Pfad.
Was kann an so einem Pfad passieren, wenn Variablen aus
S − Xi konstant gesetzt werden?
Am Start g , dann nur Einfluss durch Konstante, also am
Ende 0, 1, g oder g , nur 4 Optionen!
⇒ log si
⇒
ti
≤ 42wi +1
= 42ti −1
= 24ti −2
≤
≥
(da pi ≤ 2wi + 1)
(da wi = ti − 1)
4ti − 2
1
4 (log si + 2).
. – Seite 529/602
ISA (indirect storage access): Modell der indirekten
Adressierung.
Variablen: x0 , . . . , xn−1
n = 2m
y0 , . . . , yk−1
k = m − blog mc
Wie groß kann die Schranke maximal werden?
|Si |
si ≤ 2 2
si ≤ 2n−|Si |
P
(mehr Subfunktionen auf Si gibt es nicht),
(mehr Konstantsetzungen der Variablen in
X − Si gibt es nicht).
|Si |
min{22 , 2n−|Si | }
. – Seite 530/602
y → |y|: indirekte Adresse des |y|-ten Blocks in x
der Länge m.
→ max. für S1 , . . . , Sk disjunkt.
1≤i≤k
→ (Analysis)
1.Fall: |y| ≥ bn/mc: ISAn (x, y) := 0
Schranke = O(n2 / log n).
(Fehlgriff)
2.Fall: Ansonsten x(y) := (x|y|m , . . . , x|y|m+m−1 )
→ |x(y)| direkte Adresse
ISAn (x, y) := x|x(y)| (x enthält Adresse + Daten).
Aber das kriegen wir auch hin!
. – Seite 531/602
. – Seite 532/602
Theorem 16.3.3
Also si ≥ 2n−m und log si ≥ n − m = n − log n = Ω(n).
Es gibt n/m = n/ log n Si -Mengen → Behauptung.
L(ISAn ) = Ω(n2 / log n).
(→ D(ISAn ) ≥ 2 log n − log log n − O(1)).
Beweis Si := {xim , . . . , xim+m−1 }, i-ter Block.
Zähle Subfunktionen auf Si (untere Schranke):
Es gibt bisher keine besseren Schranken, aber eine
Methode mit Potenzial:
– wähle y so, dass |y| = i, also Si ist die direkte Adresse,
die alle xj adressieren kann.
Kommunikationskomplexität von Relationen
(und nicht Funktionen).
– Jede Belegung der n − m Variablen in x außerhalb von
Si bildet eine neue Subfunktion.
. – Seite 533/602
Kommunikationskomplexität und die Tiefe von
Schaltkreisen
Hier die Kommunikationskomplexität von Relationen
Definition 16.3.4
f : {0, 1}n → {0, 1} → Rf ⊆ f −1 (1) × f −1 (0) × {1, . . . , n}
(a, b, i) ∈ Rf : ⇐⇒
a ∈ f −1 (1), b ∈ f −1 (0), ai 6= bi .
. – Seite 534/602
1.) Es gibt immer eine Lösung, da a ∈ f −1 (1) und
b ∈ f −1 (0) impliziert, dass a 6= b ist.
2.) Prinzipiell: mehr als eine Lösung möglich,
dann Kommunikation tendenziell einfacher,
dann untere Schranken schwieriger.
So ist es: Keine ω(log n)-Schranken für explizit definierte
Funktionen bekannt.
Alice erhält a ∈ f −1 (1), Bob erhält b ∈ f −1 (0), am Ende
haben sie sich über ein i mit ai 6= bi geeinigt.
Aber was würden sie nutzen?
. – Seite 535/602
. – Seite 536/602
Neues Schaltkreismodell:
Eingaben: x1 , x2 , . . . , xn , x1 , . . . , xn , 0, 1,
Bausteine: AND, OR.
Theorem 16.3.5 Falls f nicht konstant, ist
Tiefe kann nur um 1 sinken, da xi gegeben ist.
Beweis
„≥“: Alice und Bob einigen sich über Schaltkreis für f mit
Tiefe D∗ (f ).
D∗ (f ) = C(Rf )
Tiefe kann nur um Faktor 2 wachsen, da
x
x⊕y
y x
∧
y
∧
AND-Bausteine „gehören“ Bob, OR-Bausteine Alice.
und deMorgan-Regeln.
Ziel: Weg vom Ausgabebaustein zu einer Eingabe xi oder
xi , so dass i korrekte Ausgabe ist, Kommunikation 1 Bit pro
Ebene.
∨
Bezeichnung D∗ (f ).
. – Seite 537/602
. – Seite 538/602
1. Fall: AND-Baustein.
Sie suchen einen Weg, so dass für jede berechnete
Funktion g gilt: g(a) = 1, g(b) = 0.
g2
g1
Dies gilt am Ausgabebaustein, da a ∈ f −1 (1), b ∈ f −1 (0).
∧
Falls dies an der Eingabe gilt, ist
xi (a) = ai = 1 und xi (b) = bi = 0 oder
xi (a) = ai = 1, also ai = 0, und xi (b) = bi = 0, also bi = 1,
d. h. Ziel erreicht.
g
g(a) = 1 ⇒ g1 (a) = 1 und g2 (a) = 1, d. h. beide
Vorgänger geeignet.
g(b) = 0 ⇒ g1 (b) = 0 oder g2 (b) = 0, d. h. es
gibt einen geeigneten Vorgänger.
Bob kann den geeigneten Vorgänger auswählen und Alice
darüber mit einem Bit informieren.
2. Fall: OR-Baustein. g1 (b) = 0 und g2 (b) = 0, g1 (a) = 1
oder g2 (a) = 1. Alice entscheidet und sendet ein Bit.
Wie wählen sie den Weg rückwärts?
. – Seite 539/602
. – Seite 540/602
Protokollbaum
„≤“: Etwas schwieriger, obwohl wir den „≥“-Beweis
„umdrehen“ wollen.
180
◦
−→
Formelbaum
mit gleicher
Tiefe
Gegeben: Optimaler Protokollbaum Rf , also Tiefe C(Rf ).
Ziel: Formel gleicher Tiefe für f .
Alice-Knoten −→ OR-Bausteine
Bob-Knoten −→ AND-Bausteine
Blatt =
b Rechteck mit
−→ Eingabe xi
ai = 1 , b i = 0
oder ai = 0, bi = 1 −→ Eingabe xi
. – Seite 541/602
Wieder wichtig:
Ausgabe i
× ai = 1, bi = 0
Blätter =
b Rechtecke mit konstanter
. – Seite 542/602
Die stärkere Behauptung bedeutet für die Wurzel r:
Rr = A × B = f −1 (1) × f −1 (0), also
× ai = 0, bi = 1
× ai = 1, bi = 1, Widerspruch
gr (a) = 1 für a ∈ f −1 (1), gr (b) = 0 für b ∈ f −1 (0), also gr = f ,
also die eigentliche Behauptung.
Eigentliche Behauptung: Formel berechnet f .
Beweis der stärkeren Behauptung: Strukturinduktion von
den Blättern zur Wurzel.
Stärkere Behauptung: Protokollbaum, Knoten
v =
b R v = Av × B v
Dann in der Formel gv an v mit:
Ind.anfang: v Blatt. Per Konstruktion korrekt.
gv (a) = 1 für a ∈ Av und gv (b) = 0 für b ∈ Bv .
. – Seite 543/602
. – Seite 544/602
(a, b) ∈ Av2 × Bv2 ⇒ gv2 (a) = 1, gv2 (b) = 0, also gv (a) = 1.
(a, b) ∈ Av × Bv ⇒ a ∈ Av1 oder a ∈ Av2 , in jedem Fall
gv (a) = 1.
Aber auch b ∈ Bv1 = Bv und b ∈ Bv2 = Bv , gv1 (b) = gv2 (b) = 0
und gv (b) = 0.
Ind.schritt:
v Alice-Knoten, also OR-Baustein.
1. Fall:
Zu v gehört Rv = Av × Bv .
v1
v2
∨
v
g v = g v1 + g v2 .
2. Fall: v Bob-Knoten, also AND-Baustein.
Alle Argumente dual.
Da Alice im Protokoll sendet: Bv = Bv1 = Bv2 und Av1 und
Av2 bilden Partition von Av .
(a, b) ∈ Av1 × Bv1
Ind.vor.
⇒
gv1 (a) = 1, gv1 (b) = 0, also gv (a) = 1.
. – Seite 545/602
. – Seite 546/602
Was ist bei monotonen Schaltkreisen anders?
Also
Eingaben x1 , x2 , . . . , xn verboten.
Theorem 16.3.6
Also bei „≥“-Beweis treffen Alice und Bob stets auf ein xi ,
d. h ai = 1 und bi = 0.
Sie realisieren die Relation
Mf ⊆ f −1 (1) × f −1 (0) × {1, . . . , n} mit a ∈ f −1 (1), b ∈ f −1 (0),
i mit ai = 1, bi = 0.
Falls f monoton und nicht konstant, ist
Dm (f ) = C(Mf ).
Die besten unteren Scharnken (Ω(log2 n) für
s-t-Zusammenhang in Graphen und Ω(n) für Existenz
perfekter Matchings) folgen über untere Schranken für
C(Mf ). Die zugehörigen Beweise sind sehr schwierig.
Wenn wir im „≤“-Beweis mit Protokollbaum für Mf starten,
erhalten wir eine monotone Formel. Die Blätter für xi gibt es
nicht.
. – Seite 547/602
. – Seite 548/602
16.4
Die Größe von tiefenbeschränkten Schaltkreisen
– Kanten nur von AND- zu OR-Bausteinen und
Schaltkreismodell:
AND
Eingaben: x1 , . . . , xn , x1 , . . . , xn , 0, 1.
Bausteine: AND, OR mit beliebigem Fan-in, NOT.
AND
umgekehrt: AND
– Schaltkreis lässt sich in Ebenen einteilen, d. h Kanten
nur von Ebene l zu l + 1:
Tiefe beschränkt, Schranken zur Schaltkreisgröße.
Zunächst Standardmodell:
– Keine NOT-Bausteine: Größenfaktor 2, zunächst alle Bausteine duplizieren, Duplikat
negieren, dann deMorgan Regeln.
AND
OR
Dummybausteine
, Maximaltiefe bleibt erhalten.
– Alle Bausteine auf Ebene l vom selben Typ, der Typ
alterniert von Ebene zu Ebene.
Ausgabebaustein bestimmt die Typen auf den Ebenen,
die obigen Punkte garantieren den Rest.
. – Seite 549/602
Aus „Rechnerstrukturen“ bekannt:
Andere Sichtweise:
AND-Baustein ergibt 1 :⇔ ∀ Vorgänger: Ergebnis 1.
OR-Baustein ergibt 1
:⇔ ∃ Vorgänger: Ergebnis 1.
Der Fall mit k = 2 Ebenen:
AND
···
AND
OR
. – Seite 550/602
AND
Logikorientierte Sicht → polynomielle Hierarchie.
Minimierung DNF.
Schaltkreise der Tiefe k mit OR am Ende:
Ergebnis 1 :⇔ ∃ Vorgänger ∀ Vorgänger . . . : Eingabe ist 1.
→ Σk -Schaltkreis.
Dual: Minimierung der CNF.
Untere Schranken einfach:
PARITY braucht in beiden Modellen 2n−1 + 1 Bausteine.
DNF: PARITY hat 2n−1 Kernimplikanten.
CNF: NOT-PARITY hat 2n−1 Kernimplikanten.
Bei AND am Ende:
Πk -Schaltkreis.
Aber schon k = 3 wird schwierig.
. – Seite 551/602
. – Seite 552/602
z
Eine obere Schranke zum Warmwerden:
Theorem 16.4.1
PARITY hat für k = d(log n)/ log log ne + 1
Σk -Schaltkreise der Größe O(n2 / log n).
dlog ne
}| {
...
−→ DNF und CNF
EXOR
Größe pro Baustein: 2dlog ne−1 + 1 ≤ n + 1.
Gesamtgröße: O(n2 / log n).
Tiefe pro Baustein: 2.
Gesamttiefe: 2d(log n)/ log log ne.
Negationen zu den Eingaben.
Jede Funktion als DNF und CNF.
Wähle stets Vorgänger, so dass 2 Ebenen (2+3, 4+5,
6+7, . . . ) verschmolzen werden können.
Größe unverändert, Tiefe d(log n)/ log log ne + 1.
Beweis
1.Ansatz: EXOR-Bausteine mit Fan-in dlog ne.
Balancierter dlog ne-ärer Baum der Größe O(n/ log n)
und Tiefe dlogdloge ne = d(log n)/ log log ne.
. – Seite 553/602
. – Seite 554/602
Idee:
f = (fn ) ∈ AC0 (alternating class)
Induktion über k .
O. B. d. A.:
:⇔
1. Ebene AND (sonst duale Argumente).
Bausteine auf der 2. Ebene berechnen ihre Funktion als
DNF.
∃ gibt Schaltkreise polynomieller Größe und konstanter
Tiefe für fn .
Ersetze sie durch äquivalente CNF.
Theorem 16.4.2
Σk / Πk -Schaltkreise für PARITY n haben Größe ≥ 2bn
1/k
/10c .
PARITY ∈
/ AC0 .
Polynomielle Größe
⇒
∃c : Tiefe ≥
log n
c+log log n .
(Unsere obere Schranke ist praktisch optimal.)
Wie beweist man so etwas?
OR )
DANN AND
OR
AND
verschmelzen, Tiefe k − 1, Ind.vor.
AND −→ AND
OR
OR
..
..
.
.
Problem: Exponentieller Größenzuwachs nicht zu
vermeiden.
. – Seite 555/602
. – Seite 556/602
Z. B.: x1 x2 + x3 x4 + x5 x6 + · · · + xn−1 xn . DNF-Größe: O(n).
|{z} |{z} |{z}
| {z }
P1
P2
CNF: AND(
P3
OR
Pn/2
(xi1 , . . . , xin/2 )) Größe: 2n/2 + 1.
i1 ∈ P1 , . . . , in/2 ∈ Pn/2
Nicht verkleinerbar (bei monotonen Funktionen
werden alle Primklauseln bzw. Primimplikanten
gebraucht).
Aber das genügt nicht.
Wenn die DNF nur kurze Monome hat, dann erhalten wir
vielleicht eine CNF mit kurzen Klauseln.
Sicher nicht immer – eher selten – aber vielleicht gibt es
eine gute Variablenauswahl und eine gute
Konstantsetzung?
Beweismethode:
Ansatz gescheitert.
Probabilistische Methode.
Was nun?
Wenn wir bei PARITY ein paar Variablen durch Konstanten
ersetzen, entsteht PARITY oder dessen Negation auf
weniger Variablen. Lange Primklauseln haben Chancen zu
verschwinden.
. – Seite 557/602
Austauschlemma (Switching Lemma von Håstad)
f DNF auf n Variablen, Länge aller Monome ≤ s.
Sei m > 0.
Wähle nach Gleichverteilung Teilmenge von n − m
Variablen und ersetze diese unabhängig voneinander mit
W.keit je 1/2 durch 0 oder 1.
Dann gilt für die erzeugte zufällige Subfunktion g :
t
Prob(g hat CNF mit Klauseln der Länge ≤ t) > 1 − 5ms
.
n
. – Seite 558/602
Wir erzwingen, dass der Startschaltkreis auf der ersten
Stufe kleinen Fan-in hat:
Erhöhung der Tiefe um 1, Dummy-Bausteine mit Fan-in 1.
Behauptung:
1/k
Es sei S := 2bn /10c , bn1/k /10c ≥ 1,
n(i) := bn/(10 log S)k−i+1 c. Dann gibt es für i ∈ {2, . . . , k + 1}
keinen alternierenden Schaltkreis für PARITY auf n(i)
Eingaben mit ≤ S Bausteinen auf den Ebenen 2, . . . , i und
Fan-in ≤ log S auf Ebene 1.
Beweis technisch anspruchsvoll, hier nicht.
Dies auf den geänderten Schaltkreis angewendet, ergibt
das Theorem.
Aber was nützt das?
. – Seite 559/602
. – Seite 560/602
Induktionsschritt i − 1 → i:
Beweis der Behauptung durch Induktion über i:
i=2:
Austauschlemma (oder duale Form)
m := m(i) := b(n(i))/(10 log S)c, s := log S , t := log S .
DNF/CNF für PARITY auf n(i) Variablen
brauchen Fan-in n(i), alle Primimplikanten/Primklauseln haben volle Länge.
Wir müssen es auf jeden der ≤ S Bausteine der Ebene 2
anwenden.
t 5 ni ·log S log S
5m(i)s
10 log S
1 log S
Es ist n(i)
≤
=
= S1 .
2
n(i)
Aber n(2) = bn/(10 log S)k−1 c
= b(10n log S)/(10 log S)k c
≥ 10 log S (Definition S )
> log S ,
also Fan-in log S geht gar nicht.
D. h.: W.keit (Funktion an einem Baustein nicht „gut“
transformierbar) < S1 .
W.keit (∃ Baustein: nicht „gut“ transformierbar) < 1.
. – Seite 561/602
. – Seite 562/602
Also:
∃ gute Variablenmenge und gute Variablenersetzung.
Exponentielle untere Schranken für größere Tiefen noch
unbekannt.
Diese anwenden.
Übertragung dieses Ergebnisses auf andere Funktionen
(MAJORITY, MUL,. . . ) durch Reduktionen (→ später).
m(i) ≥ n(i − 1) Variablen bleiben übrig,
Verschmelzung von Ebene 2 und Ebene 3 reduziert Tiefe
um 1, Anzahl der Bausteine auf Ebenen ≥ 2 nicht
gewachsen, Fan-in auf der Ebene 1 ist ≤ log S .
→ Induktionsvoraussetzung impliziert Theorem.
Verallgemeinerung des Beweises auf Funktionenklassen
möglich.
. – Seite 563/602
. – Seite 564/602
Hier sind algebraische Methoden besser geeignet als
kombinatorische Methoden.
Warum? AND ist Multiplikation und MOD2 ist Addition in Z2 .
Alle Funktionen sind Polynome.
Was ist, wenn wir auch EXOR-Bausteine mit
unbeschränktem Fan-in erlauben?
Wieder einfachere Struktur:
– kein NOT, da x = x ⊕ 1,
– kein OR, de Morgan,
– alternierende Schaltkreise mir EXOR, AND.
⊕ ist mod 2, daher auch Modell mit AND und MODm .
MODm ist modulares Zählen.
ACC0 [m] (alternating counting class, polynomielle Größe,
konstante Tiefe, AND- und MODm -Bausteine).
. – Seite 565/602
Methode:
Polynomielle Größe und kleine Tiefe ⇒ berechnete
Funktion hat kleinen Abstand zu einer Funktion von kleinem
Grad.
ABER: MAJORITY hat großen Abstand zu allen Funktionen
von kleinem Grad.
Hoher Grad ist einfach: x1 · x2 · . . . · xn hat Grad n.
Aber diese Funktion ist einer Funktion mit kleinem Grad
ähnlich, nämlich 0.
Hammingabstand der Funktionstabellen: 1.
Distanzmaß auf Funktionen.
. – Seite 566/602
Theorem 16.4.3
MAJORITY hat polynomielle Größe bei AND/EXOR und
Tiefe O((log n)/ log log n), aber superpolynomielle Größe bei
Tiefe o((log n)/ log log n), insbesondere
MAJORITY∈
/ ACC0 [2].
Theorem 16.4.4
Es seien p und q verschiedene Primzahlen, k ≥ 1, p, q ≥ 2.
Dann ist MODp ∈
/ ACC0 [q k ].
Falls m zwei verschiedene Primteiler hat, z. B. m = 6, kein
Beweis, dass eine explizit definierte Funktion nicht in
ACC0 [m] ist.
. – Seite 567/602
. – Seite 568/602
16.5 Die Größe von tiefenbeschränkten
Thresholdschaltkreisen
n (mit konstanten Eingaben Spezialfall von
Erlaube alle T≥k
n , um Negation zu ermöglichen.
MAJ2n ) und T≤k
→ Thresholdschaltkreise (ein Modell für diskrete
neuronale Netze ohne Rückkopplung).
P
ai 2 i + b i 2 i ≥ 2 n .
(ein Thresholdbaustein)
Der Thresholdbaustein hat 2i Kanten von ai , exponentielle
Größe (oder exponentielles Gewicht).
CAR n (a, b) = 1 ⇔
P
Erstaunlich:
Polynomiell viele Bausteine, beliebiges Gewicht, Tiefe d
konstant ⇒ polynomiell viele Bausteine mit polynomiellem Gewicht und Tiefe d + 1.
NEU: Mehrfachkanten können sinnvoll sein.
TC0,d : polynomiell viele Bausteine bei polynomiellem
Gewicht und Tiefe d.
. – Seite 569/602
. – Seite 570/602
Theroem 16.5.1
Schließlich ist IP n (x, y) = PAR n (x1 y1 , . . . , xn yn ).
PAR ∈ TC0,2 , IP ∈ TC0,3 .
Beweis
Es gibt Beweise f = (fn ) ∈
/ TC0,2 , aber keine Beweise
f = (fn ) ∈
/ TC0,3 .
kxk := Anzahl der Einsen in x
PAR(x) = 1
⇔ kxk = 1 oder kxk = 3 oder . . .
Wichtige Funktionen sind in TC0,3 , z. B. MULn .
n (x), T n (x)), 1 ≤ k ≤ n, k ungerade.
Berechne alle (T≥k
≤k
Untere Schranken mit Kommunikationskomplexität.
n (x) = 1 oder T n (x) = 1.
∀x : T≥k
≤k
n (x) = 1 und T n (x) = 1 ⇔ kxk = k .
Andererseits: T≥k
≤k
2dn/2e
n (x), T n (x), 1 ≤ k ≤ n, k
Also PAR n (x) = T≥dn/2e+1 (T≥k
≤k
ungerade).
. – Seite 571/602
. – Seite 572/602
Thresholdschaltkreise der Tiefe 2: kleinere Modifikationen.
n = 1 − Tn
Es ist T≤k
≥k+1 , daher erlauben wir die Konstante 1
n -Bausteine.
und negative Gewichte, aber nur T≥m
Ausgabebaustein soll Thresholdwert 0 haben, aber die
gewichtete Summe soll nie 0 sein.
Lemma 16.5.2 Wenn f : {0, 1}n → {0, 1} in einem
modifizierten Thresholdschaltkreis der Tiefe 2 so
realisierbar ist, dass jeder Baustein Gewicht ≤ M = 2m hat,
gilt
pub
R2,1/2−1/(2m)
(f ) ≤ m + 2
bei beliebiger Aufteilung der Inputs zwischen Alice und Bob.
Beweis Basis des Kommunikationsprotokolls ist der
Schaltkreis.
– Verdopple alle Gewichte und Thresholdwert.
– Ergänze Kante von 1 mit Gewicht −(2k − 1) und
Thresholdwert 0 (Alle gewichteten Summen sind
ungerade und nie 0.)
Ausgabebaustein berechnet f .
Wir betrachten jetzt die Eingänge f1 , . . . , fM , wobei fi Gewicht wi ∈ {−1, 1} hat, also größere Gewichte durch Mehrfachkanten ersetzen.
– Erhöhe Gesamtgewicht (absolute Werte) des
Ausgabebausteins auf nächste Zweierpotenz (Kante
von 0).
f (a) = 1 ⇔ w1 f1 (a) + · · · + wM fM (a) ≥ 0.
. – Seite 573/602
ALSO:
Zufällige Funktion wi fi hat Tendenz in die richtige Richtung.
Public Coins wählen i ∈ {1, . . . , M } nach Gleichverteilung.
Alice und Bob wollen durch Kommunikation wi fi (a)
bestimmen.
Dann Ergebnis
. – Seite 574/602
Zunächst zur Protokolllänge:
- fi hat ≤ M Eingänge,
- gewichtete Summe der Eingänge ∈ {−j, . . . , 0, . . . , M − j}
für ein j .
Dies sind M + 1 Werte, für Alices Eingabekanten gilt
Ähnliches, Alice sendet „ihre“ gewichtete Summe mit m + 1
Bits, Bob wertet den Baustein aus und sendet fi (a).
Nun zur Fehlerwahrscheinlichkeit:
k := #{i | fi (a) = 1, wi = 1},
l := #{i | fi (a) = 1, wi = −1},
⇒ M − k − l = {i | fi (a) = 0}.
– 1, falls wi fi (a) > 0,
– 0, falls wi fi (a) < 0,
– Zufallsbit (public coin), falls wi fi (a) = 0.
. – Seite 575/602
. – Seite 576/602
1. Fall: f (a)
P = 1.
Dann ist wi fi (a) > 0, also k ≥ l + 1.
Prob (falsche Entscheidung) = (Satz von der vollst. W.keit)
1
l
+ 12 (M − k − l)
)
M(
↑
↑
Wahl i mit wi fi (a) = −1
Wahl i mit wi fi (a) = 0
1
1
1
1
≤
(da k ≥ l + 1).
=
2 + 2M (l − k)
2 − 2M
Das ist der gewünschte Wert.
2. Fall: f (a) = 0.
Analog mit l ≥ k + 1.
Theorem 16.5.3 ∀α < 1/4 ∃n0 ∀n ≥ n0 :
Thresholdschaltkreise der Tiefe 2 für IPn brauchen Gewicht
≥ 2αn .
Insbesondere IP ∈
/ TC0,2 .
Beweis Falls Gewicht 2αn reicht, reicht in mod.
Thresholdschaltkreisen Gewicht 2αn+c für eine Konstante c
pub
=⇒ R2,1/2−(1/2)
αn+c+1 (IPn ) ≤ αn + c + 2
(wobei Alice a und Bob b kennt) (Lemma 16.5.2).
Andererseits
pub
R2,1/2−(1/2)
αn+c+1 (IPn ) ≥ n/2 − αn − c − 1
bei dieser Aufteilung (Theorem 15.4.9).
Widerspruch . – Seite 577/602
. – Seite 578/602
16.6 Die Größe von Branchingprogrammen
Uneingeschränkte Branchingprogramme:
Nechiporuk-Schranke.
Es ist ti ≥ |Si |, da jede essenzielle Variable vorkommen
muss.
Theorem 16.6.1 S1 , . . . , Sk disjunkte Mengen von
essenziellen Variablen für f . Sei si die Anzahl der
Subfunktionen auf Si , wenn alles in X − Si konstant gesetzt
wird. Dann
Wenn wir alle Variablen aus X − Si durch Konstanten
ersetzen, erhalten wir BP der Größe ≤ ti + 2 (+2 für die
Senken).
BP (f ) = Ω(
X
1≤i≤k, si ≥3
log si
).
log log si
0
v
Beweis Sei G optimales BP für f und ti die Anzahl der
Knoten mit Label xj ∈ Si .
Ziel:
xj
si ≥ 3 ⇒ ti = Ω( logloglogsisi ). Dann folgt das Theorem.
. – Seite 579/602
xj = 1
1
w
w
Wieviele Funktionen können BPs mit ti inneren Knoten auf
|Si | Variablen höchstens realisieren?
– |Si |ti Zuweisungen von Variablen an Knoten,
– ti + 2 − j mögliche Nachfolgeknoten für jede Kante
aus dem j -ten Knoten.
. – Seite 580/602
Also
≤ |Si |ti ((ti + 1)!)2
BPs
Dies ist
≤ ttii ((ti + 1)!)2
(da |Si | ≤ ti )
O(ti )
= ti
.
Es folgt
O(t )
si = t i i
Theorem 16.6.2
BP(ISAn ) = Ω(n2 / log2 n)
(Dies ist der gültige Schrankenrekord.)
(Stirling)
(da si Funktionen
realisiert werden müssen)
Beweis
Im Beweis von Theorem 16.3.3 haben wir für ISAn
Ω(n/ log n) Si -Mengen mit
log Si = Ω(n) und daher (log Si )/ log log Si = Ω(n/ log n)
gefunden.
und
log si = O(ti log ti ).
Daraus folgt
ti = Ω((log si )/ log log si ).
. – Seite 581/602
Nun zu eingeschränkten Branchingprogrammen:
. – Seite 582/602
ld(G) (layer depth)
maximale Anzahl von Botschaften in diesem Protokoll.
Ein Knoten heißt A-Knoten, wenn Alice die zugehörige
Variable kennt, analog B -Knoten.
Senken gehören beiden.
Lemma 16.6.3
C(f ) ≤ ld(G) · dlog |G|e.
Eingabe (a, b): Eindeutiger Weg von Quelle zu Senke mit
Wert f (a, b) durch das BP.
Es folgt
Wenn Quelle A-Knoten, verfolgt Alice den Weg bis zum
ersten B -Knoten. Dann weiß sie nicht, wie es weiter geht.
Sie schickt die Knotennummer an Bob. Bob verfolgt den
Weg bis zum nächsten A-Knoten oder einer Senke, usw.
. – Seite 583/602
|G| ≥ 2C(f )/ld(G)−1 .
Welche BPs haben garantiert kleine Schichtentiefe?
. – Seite 584/602
Definition 16.6.4
Ein BP über X = {x1 , . . . , xn } ist s-stereotyp, s ∈ X m , wenn
es aus m + 1 Ebenen besteht, so dass
– alle Knoten auf Ebene i testen Variable si ,
– alle Senken auf Ebene m + 1,
– Kanten nur von Ebene l zu Ebene l0 > l.
k -OBDDs zu π :
Alice erhält Anfangsstück von π , Bob den Rest, dann
ist die Schichtentiefe ≤ 2k .
k -IBDD (indexed BDD): s ist Konkatenation von k
Permutationen π1 , . . . , πk auf X .
MULn : Alices Teil, wenn dn/2e a-Variablen aufgetaucht sind.
EQ∗n (Maskenvariante von EQn ): Alices Teil endet, wenn
dn/2e a-Variablen oder dn/2e b-Variablen aufgetaucht sind.
Theorem 16.6.5
Die Größe von k -OBDDs für EQ∗n oder MULn beträgt
2Ω(n/k) .
k -OBDD’: Ein k -IBDD mit π1 = · · · = πk .
1-OBDDs sind die OBDDs aus DAP 2.
Das ist superpolynomiell für k = o(n/ log n).
. – Seite 585/602
. – Seite 586/602
π1
Für k -IBDDs muss die Variablenaufteilung sorgfältiger
gewählt werden.
Wir starten mit einer Wunschaufteilung der Variablen in A
und B .
Jede Variablenordnung halbiert A und B (die nicht
überlebenden Variablen müssen „geeignet“ konstant
gesetzt werden).
Betrachte π1 und mache Trennstrich, wenn d|A|/2e
A-Variablen oder d|B|/2e B -Variablen gesehen worden sind.
≥ d|A|/2e A-Var
< d|B|/2e B -Var
< d|A|/2e A-Var
≥ d|B|/2e B -Var
diese A-Variablen
überleben
diese B -Variablen
überleben
oder umgekehrt
Am Ende ≥ d|A|/2k e A-Variablen an Alice und ≥ d|B|/2k e
B -Variablen an Bob und dabei ≤ 2k Schichten (es können
A-Schichten an einander stoßen und verschmolzen
werden).
Theorem 16.6.6
Die Größe von k -IBDDs für EQ∗n oder MULn beträgt
k
2Ω(n/k2 ) .
. – Seite 587/602
Das ist superpolynomiell für k = o((log n)/ log log n).
. – Seite 588/602
Allgemein s-stereotype BPs mit s ∈ X m und m = k · |X|.
– Variablen kommen total gemischt vor.
– Variablen kommen verschieden oft vor.
Subtile kombinatorische Auswahlverfahren für A-Variablen
und B -Variablen.
Theorem
Die Größe von s-stereotypen BPs mit k · |X| Leveln für EQ∗n
3 4k
oder MULn beträgt 2Ω(n/k 2 ) .
Übertragung auf AND-, OR-, EXOR-Nichtdeterminismus
kanonisch.
16.7 Reduktionskonzepte
f = (fn ) ≤ g = (gm )
Idee: g in gewähltem Modell einfach, dann auch f einfach.
Komplexitätsklassen:
ACk alternierende Schaltkreise polynomieller
Größe, Tiefe O(logk n).
NCk Schaltkreise polynomieller Größe mit binärem Fan-in, Tiefe O(logk n).
NC =
b Nick’s Class.
Nichtstereotype BPs: Untere Schranken existieren für
superlineare Tiefe.
Methoden: Betrachtung verallgemeinerter Rechtecke.
. – Seite 589/602
Reduktionskonzepte
Definition 16.7.1
f ≤proj g (Projektion) :⇔
∃ Polynom r : Die Bits von fn (x1 , . . . , xp(n) ) stehen an festen
Stellen von gr(n) (y1 , . . . , yp0 (r(n)) ), wobei
yi ∈ {0, 1, x1 , x1 , . . . , xp(n) , xp(n) }
f ≤rop g (read-once Projektion) :⇔
Projektion hat die Eigenschaft ∀j : #{i | yi ∈ {xj , xj }} ≤ 1.
. – Seite 590/602
Definition 16.7.2
f ≤cd g (AC0 -reduzierbar, constant depth reducible) :⇔
Es gibt für fn polynomiell große Schaltkreise mit
unbeschränktem Fan-in und konstanter Tiefe, wobei als
Bausteine benutzt werden dürfen: AND, OR, NOT, gm .
gm -Baustein: Tiefe 1, Größe m.
Die Hoffnung ist es, gm durch einen AC0 -Schaltkreis
ersetzen zu können, dann ist die Tiefe O(1) und die Größe
poly(m).
Idee: Einfach Variablen von g durch Variablen von f oder
Konstanten ersetzen.
. – Seite 591/602
. – Seite 592/602
Definition 16.7.3
Folgende Aussagen sind einfach zu zeigen:
1
f ≤1 g (NC -reduzierbar) :⇔
– ≤proj , ≤rop , ≤cd , ≤1 sind transitiv.
Es gibt für fn polynomiell große Schaltkreise mit Fan-in 2
und logarithmischer Tiefe, wobei neben binären Bausteinen auch gm -Bausteine erlaubt sind.
– f ≤rop g ⇒ f ≤proj g ⇒ f ≤cd g ⇒ f ≤1 g .
gm -Baustein: Tiefe dlog me, Größe m.
Die Hoffnung ist es, gm durch einen NC1 -Schaltkreis zu
ersetzen, dann ist die Tiefe O(log m) und die Größe poly(m).
– g ∈ ACk und f ≤cd g ⇒ f ∈ ACk .
– g ∈ NCk und f ≤1 g ⇒ f ∈ NCk .
– g hat polyn. Schaltkreise f ≤proj g ⇒ f hat polyn.
Schaltkreis (analog für Formeln und
Branchingprogramme).
– Projektionen erhalten die Tiefe, z. B.
g ∈ TC0,d , f ≤proj g ⇒ f ∈ TC0,d .
. – Seite 593/602
Projektionen erhalten die Eigenschaft OBDD, k -OBDD oder
k -IBDD nicht.
Wenn in g(y1 , . . . , ym ) 13-Variablen durch xi ersetzt werden,
erhalten wir aus einem OBDD für g kein OBDD für f .
. – Seite 594/602
PAR ≤rop IP .
PAR n (x) = IP n (x, 1n ).
IP ≤rop MUL.
x2
ABER:
0
x1
x2 y 0
– g hat polyn. OBDDs, f ≤rop g ⇒ f hat polyn. OBDDs
(analog für k -OBDDs, k -IBDDs und stereotype BPs).
Wir beschließen unsere Betrachtungen mit ein paar
Beispielen, die alle in Theorem 16.7.5 zusammengefasst
sind.
Produkt
x0
∗
y0
0 x1 y 0
0
x0 y 0
x2 y 1
0
0
0
y1
x1 y 1
0
x0 y 1
x2 y 2
0
x1 y 2
0
y2
0
x0 y 2
IP 3
|
{z
kein Übertrag
}
Allgemein bei n „echten“ Bits pro Faktor, Spaltensummen
≤ n, also dlog(n + 1)e trennende Nullen reichen.
. – Seite 595/602
. – Seite 596/602
MUL ≤rop SQU .
MAJ ≤rop MUL.
SQU quadriert |x|.
MULn (x, y) ist in SQU 3n+1 (x0n+1 y ) enthalten.
| {z }
z
Ähnlich, aber
MAJ n durch Nullen und Einsen auf MAJ m mit m = 2k − 1
„aufblähen“.
Dann wie eben, aber alle yj = 1.
Dann an besagter Stelle: Summe aller xi .
Das vorderste Bit der Summe ist MAJ m wegen der
speziellen Wahl von m.
MADD ≤rop MUL.
|z|2 = (|x| · 22n+1 + |y|)2
= |x|2 · 24n+2 + |x| · |y| · 22n+2 + |y|2
↑
Länge 2n
↑
Länge 2n
Keine Überlappungen.
MADD : Addition von n n-Bit Zahlen.
Analog. Da die Summe Bitlänge ≤ n + dlog ne hat, genügen
dlog ne trennende Nullen zwischen den Zahlen.
SQU ≤proj MUL.
SQU n (x) = MULn (x, x).
Beweisbar: SQU 6≤rop MUL.
. – Seite 597/602
SQU ≤rop INV .
Z := 4n, T := 10n
Bekannt für 0 ≤ q < 1:
↑
Quadrat
. – Seite 598/602
x = (xn−1 , . . . , x0 ) ist zu quadrieren.
INV n (x) := die n signifikantesten
Bits von |x|−1 .
1 + q + q2 + q3 + · · · =
↑
Länge 2n
y
1
1−q .
T -Bit-Zahl mit |y| := |x| · 2−t + 2−T .
Nun ist 1 − |y| Projektion von |y|.
Veranschaulichung
↑
Inversenbildung
Ziel: 1 − q als Projektion von q und keine Überlappungen,
so dass q 2 im Ergebnis ablesbar.
1 . 0 0 0 0
− 0 . 0 0 0 x2
= 0 . 1 1 1 x2
0
x1
x1
0
x0
x0
0 0 0
0 0 1
1 1 1
Es bleibt zu zeigen: |x|2 findet sich in den T signifikantesten
1
Bits von Q = 1−|y|
.
Das erste Ziel ist unerreichbar, aber . . .
. – Seite 599/602
. – Seite 600/602
Q = 1 + |y| + |y|2 + |y|3 + . . .
= 1 + (|x| · 2−t + 2−T ) + (|x| · 2−t + 2−T )2
Auch hier: Viele relevante Resultate nur über Reduktionen.
+(|x| · 2−t + 2−T )3 + . . .
Division oft direkt schwer zu behandeln, aber untere
Schranke über Multiplikationen übertragen sich.
= 1 + |x| · 2−t + |x|2 · 2−2t + Rest
mit (für n ≥ 2)
Rest ≤ 2
−T
+ 2|x|2
−t−T
+2
−2T
3
+ |x| · 2
−3t
Übrigens: Einige ≤p -Reduktionen lassen sich durch
Projektionen ersetzen.
+ ...
≤ 2−10n + 2−12n + 2−20n + 2 · 2−9n < 2−8n
also keine Überlappungen.
INV ≤rop DIV
DIV n (x, y) := n signifikantesten
Bits von |x|/|y|.
INV n (x) = DIV n (1, 0 . . . 0 , x).
. – Seite 601/602
. – Seite 602/602
Herunterladen