Skript - Professur für Theoretische Informatik

Werbung
Skript zur Vorlesung
„Komplexitätstheorie“
Prof. Dr. Georg Schnitger
Sommersemester 2013
Hinweise auf Fehler und Anregungen zum Skript bitte an Herrn Bert Besser
[email protected]
Mit einem Stern gekennzeichnete Abschnitte werden in der Vorlesung nur kurz angesprochen.
Inhaltsverzeichnis
1 Einleitung
1.1 Notation . . . . . . . . . . . . . . . . . . . . . .
1.2 Wichtige Ungleichungen . . . . . . . . . . . . .
1.3 Graphen . . . . . . . . . . . . . . . . . . . . . .
1.4 Grundlagen aus der Stochastik . . . . . . . . . .
1.5 Komplexitätsklassen . . . . . . . . . . . . . . .
1.5.1 Zeit-Komplexitätsklassen . . . . . . . . .
1.5.2 Speicherplatz-Komplexität . . . . . . . .
1.5.3 Die Komplexität paralleler Berechnungen
1.6 Diagonalisierung . . . . . . . . . . . . . . . . .
1.6.1 Eine Zeithierarchie . . . . . . . . . . . .
1.6.2 Eine Speicherplatz-Hierarchie . . . . . .
1.7 Literatur . . . . . . . . . . . . . . . . . . . . . .
I
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Komplexitätsklassen
2 Die
2.1
2.2
2.3
7
9
10
12
14
25
25
27
29
32
33
34
35
37
Komplexität des automatischen Beweisens∗
Gödels Unvollständigkeitssatz . . . . . . . . . . . . . . . . . . . . . . . . .
Die Komplexität der Presburger-Arithmetik . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Speicherplatz-Komplexität
3.1 Sub-Logarithmischer Speicherplatz . . . . . . .
3.2 Logarithmischer Speicherplatz . . . . . . . . . .
3.2.1 DL . . . . . . . . . . . . . . . . . . . . .
3.2.2 NL und NL-Vollständigkeit . . . . . . . .
3.2.3 Der Satz von Savitch . . . . . . . . . . .
3.2.4 Der Satz von Immerman und Szlepscenyi
3.3 PSPACE-Vollständigkeit . . . . . . . . . . . . . .
3.3.1 QBF: Quantifizierte Boolesche Formeln .
3.3.2 Das Geographie-Spiel . . . . . . . . . . .
3.3.3 NFA’s und reguläre Ausdrücke . . . . . .
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
39
40
43
45
47
47
49
49
53
55
57
60
61
64
65
4
INHALTSVERZEICHNIS
3.4
3.5
3.6
Komplexitätsklassen und die Chomsky Hierarchie . . . . . . . . . . . . . .
Probabilistische Turingmaschinen und Quantenrechner . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 Parallelität
4.1 Parallele Rechenzeit versus Speicherplatz . . . .
4.2 P-Vollständigkeit . . . . . . . . . . . . . . . . .
4.2.1 Das Circuit Value Problem . . . . . . . .
4.2.2 Die Lineare Programmierung . . . . . .
4.2.3 Parallelisierung von Greedy-Algorithmen
4.3 Zusammenfassung . . . . . . . . . . . . . . . . .
II
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Untere Schranken
67
73
77
79
80
82
83
87
89
90
93
5 Die Komplexität Boolescher Funktionen
5.1 Die Größe von Schaltkreisen beschränkter Tiefe . . . . . . . . . . . .
5.1.1 Das Switching Lemma . . . . . . . . . . . . . . . . . . . . . .
5.1.1.1 Die Paritätsfunktion . . . . . . . . . . . . . . . . . .
5.1.1.2 Die Empfindlichkeit von Schaltkreisen geringer Tiefe
5.1.2 Approximation durch Schaltkreise beschränkter Tiefe . . . . .
5.1.3 Modp -Gatter: Approximation durch Polynome . . . . . . . . .
5.2 Die Größe monotoner Schaltkreise . . . . . . . . . . . . . . . . . . . .
5.3 Die Komplexität der Resolution . . . . . . . . . . . . . . . . . . . . .
5.4 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
95
97
101
106
107
109
113
117
125
128
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
131
131
133
135
137
140
141
7 Kommunikationskomplexität
7.1 Deterministische Kommunikation . . . . . . . . . . . . . . . . . . . . . .
7.1.1 Die Methode der größten monochromatischen Teilmatrix . . . . .
7.1.2 Fooling-Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1.3 Die Rangmethode . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Nichtdeterministische Kommunikation . . . . . . . . . . . . . . . . . . .
7.2.1 Die Methode der größten 1-chromatischen Teilmatrix . . . . . . .
7.2.2 Fehlerfreier Nichtdeterminismus . . . . . . . . . . . . . . . . . . .
7.2.3 Ein Methoden-Vergleich für die deterministische Kommunikation .
.
.
.
.
.
.
.
.
143
143
148
151
153
154
157
160
165
6
P 6= NP?
6.1 Rechnen mit Orakeln . . . . . . . . . . . . . . . . . . . .
6.2 Schwierige, aber nicht vollständige Sprachen in NP . . . .
6.3 Natürliche Beweise . . . . . . . . . . . . . . . . . . . . .
6.3.1 One-Way und Pseudo-Zufallsfunktionen . . . . .
6.3.2 Natürliche Beweise knacken One-way Funktionen
6.4 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
INHALTSVERZEICHNIS
7.3
7.4
7.5
III
7.2.3.1 Die Methode der größten monochromatischen Teilmatrix
7.2.3.2 Fooling-Sets und die Rang-Methode . . . . . . . . . . .
Probabilistische Kommunikation . . . . . . . . . . . . . . . . . . . . . . .
7.3.1 Deterministische Kommunikation mit Fehler . . . . . . . . . . . .
7.3.1.1 Das innere Produkt modulo zwei . . . . . . . . . . . . .
7.3.1.2 Das Disjunktheitsproblem . . . . . . . . . . . . . . . . .
Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4.1 Die Zustandszahl endlicher Automaten . . . . . . . . . . . . . . .
7.4.2 Streaming Data∗ . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4.3 Fläche und Zeit für VLSI-Chips∗ . . . . . . . . . . . . . . . . . .
7.4.3.1 Kommunikation bei freier Zerlegung . . . . . . . . . . .
7.4.4 Tiefe von Entscheidungsbäumen∗ . . . . . . . . . . . . . . . . . .
7.4.5 Kommunikationsspiele . . . . . . . . . . . . . . . . . . . . . . . .
7.4.5.1 Die Tiefe von Schaltkreisen . . . . . . . . . . . . . . . .
7.4.5.2 Die Tiefe monotoner Schaltkreise . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Approximationskomplexität
166
167
169
171
172
174
175
175
179
182
187
190
194
194
198
200
203
8 Probabilistisch überprüfbare Beweise
8.1 PCP und Approximierbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2 VERTEX COVER und CLIQUE . . . . . . . . . . . . . . . . . . . . . . .
8.3 Hastad’s 3-Bit PCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
211
214
216
223
9 Parallel Repetition∗
9.1 2-Prover Spiele . . . . . . . .
9.2 LABEL COVER . . . . . . .
9.3 SET COVER . . . . . . . . .
9.4 Die Unique Games Vermutung
225
225
227
229
231
10 NP ⊆ PCP(poly(n), O(1))
∗
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
233
6
INHALTSVERZEICHNIS
Kapitel 1
Einleitung
Wie schwierig ist ein algorithmisches Problems, oder genauer, wieviel Ressourcen –wie
etwa Laufzeit und Speicherplatz– müssen Algorithmen für das Problem verbrauchen? In
den Bachelor Veranstaltungen „Theoretische Informatik 1“ und „Theoretische Informatik
2“ werden zur Beantwortung dieser Fragen fundamentale Komplexitätsklassen betrachtet
wie zum Beispiel
- P, die Klasse aller Entscheidungsprobleme, die effiziente (deterministische) Algorithmen besitzen und
- NP, die Klasse aller Entscheidungsprobleme, die effiziente nichtdeterministische Algorithmen besitzen.
Mit Hilfe der polynomiellen Reduktion werden die NP-vollständigen Probleme, die schwierigsten Probleme in NP definiert: Kein NP-hartes Problem besitzt effiziente deterministische
Algorithmen, solange P 6= NP gilt. Auch hier verfolgen wir im ersten Teil der Veranstaltung
einen ähnlichen Ansatz: Wir benutzen Härte, bzw. Vollständigkeit von Entscheidungsproblemen zur Charakterisierung ihrer Berechnungskomplexität. Wir zeigen in Kapitel 6
unter der Annahme P 6= NP, dass es Sprachen in NP gibt, die nicht NP-vollständig, wohl
aber schwierig sind, also nicht in P liegen: Es gibt also nicht nur die Schwierigkeitsgrade
„einfach“ und „NP-vollständig“, sondern auch „mittlere“ Schwierigkeitsstufen.
Die Komplexität des automatischen Beweisens wird in Kapitel 2 behandelt. Wir wissen,
dass KNF-SAT, das Erfüllbarkeitsproblem für aussagenlogische Formeln in konjunktiver
Normalform, NP-vollständig ist. Jedoch gibt es Heuristiken, wie etwa den Davis–PutnamLogemann–Loveland (DPLL)Algorithmus, der für viele in der Praxis auftretende Probleme
gute Ergebnisse liefert. Lassen wir zu, dass die aussagenlogischen Variablen durch Existenzoder Allquantoren gebunden werden, werden wir auf das schwierigere, nämlich PSPACEvollständige Problem QBF geführt. Als extrem viel schwieriger stellt sich das Beweisen von
Aussagen der Prädikatenlogik in der Presburger Arithmetik heraus: Hier geht es darum, auf
die Addition beschränkte Eigenschaften der natürlichen Zahlen abzuleiten. Furchtbar, weil
unentscheidbar, ist die Peano-Arithmetik, wenn wir also die Multiplikation zur PresburgerArithmetik hinzufügen.
7
8
KAPITEL 1. EINLEITUNG
In Kapitel 3 untersuchen wir die Speicherplatz-Komplexität und führen die PSPACE-vollständigen Probleme ein. Jedes PSPACE-vollständige Problem ist NP-hart und PSPACE-vollständige Probleme sind somit mindestens so schwierig wie NP-vollständige Probleme. Es
stellt sich heraus, dass die Bestimmung von Gewinnstrategien für viele nicht-triviale ZweiPersonen Spiele genauso auf ein PSPACE-vollständiges Problem führt wie die Frage ob zwei
NFA dieselbe reguläre Sprache erkennen. Lässt sich der Speicherplatz-Verbrauch nichtdeterministischer Turingmaschinen annähernd auch durch deterministische Turingmaschinen
erreichen? Was ist die Speicherplatz-Komplexität des Wortproblems für kontextfreie oder
kontextsensitive Sprachen? Auch diese Fragen werden wir in Kapitel 3 beantworten.
Welche effizient lösbaren Entscheidungsprobleme besitzen extrem schnelle parallele Algorithmen? Um diese Frage zu beantworten, führen wir in Kapitel 4 einen neuen Reduktions
und Vollständigkeitsbegriff, die P-Vollständigkeit ein: Wenn P-vollständige Sprachen rasant
schnelle parallele Algorithmen besitzen, dann besitzen alle Probleme rasant schnelle Algorithmen, eine wenig wahrscheinliche Situation. Wir werden auch einen engen Zusammenhang zwischen der Parallelisierbarkeit von Problemen und ihrer Speicherplatz-Komplexität
aufdecken.
Im zweiten Teil der Veranstaltung verlassen wir die Komplexitätsklassen und versuchen,
die Komplexität von Entscheidungsproblemen direkt zu bestimmen, also ohne einen Härtebegriff von Komplexitätsklassen bemühen zu müssen.
Wie kann man zeigen, dass P eine echte Teilmenge von NP ist? Wir wissen aus Kapitel 4, dass
eine deterministische Turingmaschine mit polynomieller Laufzeit durch einen Schaltkreis
polynomieller Größe simuliert werden kann. Wenn wir zum Beispiel zeigen könnten, dass
das Clique-Probleme keine Schaltkreise polynomieller Größe besitzt, dann hätten wir tatsächlich P von NP getrennt. Wir „fangen klein an“ und betrachten Schaltkreise beschränkter
?
Tiefe und darauf folgend monotone Schaltkreise 1 . Um die Frage NP = coNP zu untersuchen, beschäftigen wir uns dann mit Resolutionsbeweisen und zeigen, dass Beweise für das
Schubfachprinzip exponentiell lang sein müssen.
Warum hat man nach über 40 Jahren intensiver Forschungstätigkeit nicht zeigen können,
dass NP-vollständige Sprachen keine effizienten Algorithmen besitzen, dass also P 6= NP
gilt? In Kapitel 6 fragen wir, ob es „Welten“ gibt für die P 6= NP und andere Welten, in
denen P = NP gilt. Ja, die gibt es und die Existenz dieser Welten bedeutet, dass Methoden,
die nur die Methode der Diagonalisierung benutzen, nicht zu einer Trennung von P und
NP führen können. Damit haben wir eine erste Antwort auf die Frage gegeben, warum P
und NP bisher nicht voneinander getrennt werden konnten. In Abschnitt 6.3 beschreiben
wir “natürliche Beweise“ und zeigen, dass der Nachweis von P 6= NP mit Hilfe natürlicher
Beweise nicht zu erwarten ist.
Die Kommunikationskomplexität gibt uns die Möglichkeit, die Verteilung von Information
als eine Ursache von Komplexität zu verstehen. In Kapitel 7 beschreiben wir das Kommunikationsmodell und stellen zahlreiche Anwendungen vor. Zu diesen Anwendungen gehören
1
Ein Schaltkreis, der nur mit Konjunktionen und Disjunktionen, aber ohne die Negation arbeitet, wird
monoton genannt.
9
1.1. NOTATION
untere Schranken für
- die Zustandszahl von NFAs,
- den Speicherplatz für Streaming Data Algorithmen,
- das Fläche · Zeit2 Produkt in VLSI,
- die Tiefe von Entscheidungsbäumen
- und die Tiefe monotoner Schaltkreise.
Können effiziente Algorithmen die Größe der größten Clique in einem ungerichteten Graphen exakt bestimmen? Wir wissen aus der Veranstaltung „Theoretische Informatik 1“,
dass das Clique Problem NP-vollständig ist, und deshalb wird die Antwort hochwahrscheinlich negativ sein. Aber wenn wir die Größe der größten Clique nur approximativ bestimmen wollen? Diese Frage nach der Approximationskomplexität zum Beispiel des CliqueProblems ist erstaunlicherweise für viele Jahre unbeantwortet geblieben und wurde erst in
1992 durch das PCP-Theorem und damit einhergehend durch eine völlig neue Sichtweise der
Komplexitätsklasse NP zufriedenstellend beantwortet. Wir beschreiben das PCP-Theorem
im dritten Teil des Skripts, geben einen Einblick in seinen Beweis und stellen wichtige
Anwendungen vor.
1.1
Notation
R bezeichnet die Menge der reellen Zahlen, R≥0 , die Menge der nicht-negativen reellen
Zahlen, Q die Menge der rationalen Zahlen und N die Menge der natürlichen Zahlen.
Für eine reelle Zahl x ist bxc die größte natürliche Zahl kleiner oder gleich x und dxe die
kleinste natürliche Zahl größer oder gleich x.
Wir benutzen die asymptotische Notation, um den Ressourcenbedarf für große Eingabelängen zu analysieren. Für zwei Funktionen f, g : N → R≥0 schreiben wir
(a) f = O(g), falls f (n) ≤ cg(n) für alle n ≥ N , wobei N eine ausreichend große natürliche Zahl und c > 0 eine passend gewählte Konstante ist.
(b) f = Ω(g), falls g = O(f ).
(c) f = Θ(g), falls f = O(g) und g = O(f ).
(d) f = o(g), falls limn→∞
(e) f ∼ g, falls limn→∞
f (n)
g(n)
f (n)
g(n)
= 0.
= 1.
10
KAPITEL 1. EINLEITUNG
Das innere Produkt hx, yi von zwei Vektoren x = (x1 , . . . , xn ) and y = (y1 , . . . , yn ) in Rn
wird durch
hx, yi = x1 · y1 + · · · + xn · yn .
q
definiert und die Euklid’sche Norm ||x|| durch ||x|| = hx, xi.
Eine reell-wertige Funktion f (x) ist genau dann konvex (bzw. konkav), wenn
f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y) (resp. f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y))
für jedes 0 ≤ λ ≤ 1 gilt. Die Konvexität von f bedeutet geometrisch gesehen, dass eine
Gerade mit den Endpunkten (x, f (x)) und (y, f (y)) stets oberhalb der Kurve liegt. Deshalb
ist es für die Konvexität ausreichend, wenn die zweite Ableitung nicht-negativ ist.
1.2
Wichtige Ungleichungen
Die Ungleichung von Cauchy-Schwartz besagt, dass das innere Produkt von zwei Vektoren
der Länge Eins durch Eins beschränkt ist.
Lemma 1.1 Es seien x und y Vektoren im Rn . Dann gilt
hx, yi ≤ ||x|| · ||y||.
Beweis: Wir betrachten das innere Produkt hu, vi von zwei Vektoren u und v der Norm
1. Der Wert des inneren Produkts stimmt mit dem Kosinus des Winkels zwischen u und v
y
x
, ||y||
i ≤ 1 und damit
überein und ist deshalb durch 1 nach oben beschränkt. Also folgt h ||x||
die Behauptung.
Wir benötigen auch eine Abschätzung von 1 ± x durch die e-Funktion.
Lemma 1.2 Für jedes x > −1 gilt
ex/(1+x) ≤ 1 + x ≤ ex .
Darüberhinaus gilt 1 + x ≤ ex für alle x ∈ R.
Beweis: Wir beschränken uns zuerst auf den Fall x ≥ 0. Der natürliche Logarithmus ist
eine konkave Funktion und deshalb ist die Steigung der Sekante in den Punkten 1 und
1 + x durch die Tangentensteigungen in den Punkten 1 nach oben und 1 + x nach unten
beschränkt. Dies liefert die Ungleichung
1
ln(1 + x) − ln(1)
ln(1 + x)
≤
=
≤1
1+x
(1 + x) − 1
x
(1.1)
x
≤ ln(1 + x) ≤ x.
1+x
(1.2)
oder äquivalent
11
1.2. WICHTIGE UNGLEICHUNGEN
Die erste Behauptung folgt also für x ≥ 0 durch Exponentieren. Für x ∈] − 1, 0] brauchen
wir nur zu beachten, dass diesmal die Ungleichung
1≤
1
ln(1 + x) − ln(1)
≤
(1 + x) − 1
1+x
gilt: Das Argument ist analog zur Ableitung von Ungleichung (1.1). Wir erhalten jetzt
wieder Ungleichung (1.2), und damit die Behauptung, wenn wir (1.1) mit der negativen
Zahl x multiplizieren.
Damit gilt aber auch 1 + x ≤ ex für alle reellen Zahlen, da 1 + x für x ≤ −1 negativ und
ex stets positiv ist.
Wie verhält sich die “Konvexitätsungleichung”, wenn wir eine konvexe Funktion auf eine
Summe von mehr als zwei Termen anwenden?
Lemma 1.3 (Jensen’s Ungleichung) Wenn 0 ≤ λi ≤ 1,
vex ist, dann gilt
f
X
r
λ i xi ≤
i=1
r
X
Pr
i=1
λi = 1 und wenn f kon-
λi f (xi ).
i=1
Beweis: Wir führen eine Induktion nach der Anzahl r der Terme. Die Basis r = 2 ist
offensichtlich richtig, da f konvex ist. Für den Induktionsschritt von r auf r + 1 ersetzen
wir die Summe der beiden Terme λ1 x1 + λ2 x2 durch den einen Term
!
λ2
λ1
x1 +
x2 = (λ1 + λ2 ) · x02
(λ1 + λ2 )
λ1 + λ2
λ1 + λ2
und können dann die Induktionshypothese auf x02 , x3 , . . . , xn anwenden.
Wir erhalten jetzt sofort eine wichtige Beziehung zwischen dem arithmetischen und dem
geometrischen Mittel.
Lemma 1.4 a1 , . . . , an seien nicht-negative Zahlen. Dann gilt
n
1X
ai ≥
n i=1
Y
n
1/n
ai
(1.3)
.
i=1
Beweis: Wir setzen f (x) = 2x , λ1 = . . . = λn = 1/n und xi = log2 ai , für alle i = 1, . . . , n.
Nach Jensen’s Ungleichung folgt
n
n
n
n
Pn
X
X
Y
1X
ai =
λi f (xi ) ≥ f
λi xi = 2( i=1 xi )/n =
ai
n i=1
i=1
i=1
i=1
!
!1/n
.
Die beiden letzten Ungleichung sind für die Abschätzung von Binomialkoeffizienten wichtig.
12
KAPITEL 1. EINLEITUNG
Lemma 1.5 (a) Die Stirling Formel besagt
n √
n
1
1
n! = 2π · n ·
· 1+
+ O( 2 ) .
e
12 · n
n
(b) Es ist
!
n·e
n
n!
≤
=
k! · (n − k)!
k
k
1.3
k
.
Graphen
Ein ungerichteter Graph ist ein Paar G = (V, E), das aus einer Knotenmenge V und einer
Kantenmenge E besteht, wobei alle Kanten Teilmengen von V der Größe zwei sind. Wir
sagen, dass ein Knoten v mit der Kante e inzident ist, wenn v ∈ e. Die beiden mit einer
Kanten e inzidenten Knoten sind die Endpunkte von E. Zwei Knoten u, v ∈ V heißen
adjazent, oder benachbart, wenn {u, v} eine Kante von G ist. In einem gerichteten Graphen
sind Kanten geordnete Paare, d.h. es gilt stets E ⊆ V 2 , und wir haben die Möglichkeit
den Anfangs- und Endpunkt einer Kante auszuzeichnen. Der Knoten v heißt ein Nachbar
(oder Nachfolger) von u, falls (u, v) ∈ E.
Die Anzahl der Nachbarn eines Knotens u ist der Grad von u. Der Grad eines Graphen ist
der maximale Grad eines Knotens.
Ein Spaziergang der Länge k in G ist eine Folge v0 , e1 , v1 . . . , ek , vk von Knoten und Kanten,
so dass ei = {vi−1 , vi } ∈ E, bzw. (vi−1 , vi ) ∈ E. Ein Spaziergang ohne wiederholte Knoten
ist ein Weg. Ein Kreis der Länge k ist ein Spaziergang v0 , . . . , vk der Länge k mit v0 = vk
und der Eigenschaft, dass v0 , . . . , vk−1 ein Weg ist. Die Distanz zwischen zwei Knoten ist
die minimale Länge eines Weges zwischen den beiden Knoten.
Abbildung 1.1: Der erste Graph ist ein Kreis der Länge 5. Der zweite Graph besteht aus
zwei Kreisen der Länge 3.
Ein Hamilton-Kreis ist ein Kreis, der jeden Knoten genau einmal durchläuft. Ein EulerKreis ist ein Spaziergang, der zu seinem Anfangsknoten zurückkehrt und jede Kante genau
einmal durchläuft.
Eine Knotenmenge in einem ungerichteten Graphen ist zusammenhängend, wenn je zwei
Knoten der Menge durch einen Weg verbunden sind. Eine Zusammenhangskomponente ist
eine größte zusammenhängende Knotenmenge.
Ein Wald ist ein ungerichteter Graph ohne Kreise. Ein Baum ist ein zusammenhängender
Wald. (Mit anderen Worten, ein Wald ist eine knoten-disjunkte Vereinigung von Bäumen.)
13
1.3. GRAPHEN
Abbildung 1.2: Ein Wald, der aus drei Bäumen besteht.
In einem Baum mit Wurzel wird genau ein Knoten als Wurzel ausgezeichnet. Wenn der
Weg von der Wurzel zum Knoten w die Kante {v, w} benutzt, dann heißt w ein Kind von
v und v der Vater von w. Knoten vom Grad 1 heißen Blätter. Die Tiefe eines Knotens
ist die Länge des Weges von der Wurzel bis zu dem Knoten. Die Tiefe eines Baums ist
die größte Tiefe eines Blatts. Ein Baum heißt binär, wenn die Wurzel den Grad zwei und
jedes Nicht-Blatt den Grad drei besitzt. Ein vollständiger binärer Baum der Tiefe T ist
ein binärer Baum, in dem alle Blätter die Tiefe T besitzen.
r
v
a
b
u
w
Abbildung 1.3: Ein Baum mit Wurzel der Tiefe 3; u und w sind Kinder des Vaters v.
Ein vollständiger Graph oder eine Clique ist ein Graph, in dem je zwei Knoten adjazent
sind. Eine unabhängige Menge ist eine Knotenmenge, in der je zwei Knoten nicht durch
eine Kante verbunden sind. Ein Graph ist bipartit, wenn seine Knotenmenge in zwei unabhängige Mengen zerlegt werden kann.
Eine legale Färbung eines ungerichteten Graphen G = (V, E) ist eine Farbzuweisung an
die Knoten, so dass adjazente Knoten verschiedene Farben erhalten. Eine legale Färbung
zerlegt somit die Knotenmenge in unabhängige Mengen. Die minimale Farbenzahl, die für
die Färbung eines Graphen G benötigt wird, heißt die chromatische Zahl χ(G) von G.
Aufgabe 1
(a) Zeige, dass die Tiefe eines binären Baums mit n Blättern mindestens dlog2 ne beträgt.
(b) Sei B ein binärer Baum mit N Blättern und sei Ti die Tiefe des iten Blatts. Zeige die
sogenannte Kraft’sche Ungleichung
n
X
i=1
2−Ti ≤ 1.
14
KAPITEL 1. EINLEITUNG
Hinweis: Assoziere einen binären String mit jedem Blatt.
1.4
Grundlagen aus der Stochastik
Ein endlicher Wahrscheinlichkeitsraum besteht aus einer endlichen Menge Ω (dem Stichprobenraum) und einer Funktion
prob : Ω → [0, 1]
P
(der Wahrscheinlichkeitsverteilung), so dass x∈Ω pr [x] = 1. Der Wahrscheinlichkeitsraum
repräsentiert das Zufallsexperiment, ein Element von Ω auszuwählen und pr [x] ist die
Wahrscheinlichkeit, dass x gewählt wird.
Die Elemente x ∈ Ω heißen Stichproben und Teilmengen A ⊆ Ω heißen Ereignisse. Die
Wahrscheinlichkeit eines Ereignisses A ist
pr [A] =
X
pr [x] ,
x∈A
also die Wahrscheinlichkeit, dass ein Element mit Eigenschaft A gewählt wird. Einige
elementare Eigenschaften folgen direkt aus diesen Definitionen. Für zwei Ereignisse A and
B (und das Komplement Ā = Ω \ A) gilt
(1) pr [A ∪ B] = pr [A] + pr [B] − pr [A ∩ B];
h i
(2) pr Ā = 1 − pr [A];
h i
(3) pr [A ∩ B] ≥ pr [A] − pr B̄ ;
(4) Wenn B1 , . . . , Bm eine Zerlegung von Ω ist, dann ist pr [A] =
(5) pr [
Sn
i=1
Ai ] ≤
Pn
i=1
Pm
i=1
pr [A ∩ Bi ].
pr [Ai ].
Besonders Eigenschaft (5) werden wir häufig benutzen. Für zwei Ereignisse A und B ist
pr [A|B] die bedingte Wahrscheinlichkeit von A gegeben B, also die Wahrscheinlichkeit,
dass Ereignis A eintritt, wenn man bereits weiß, dass Ereignis B eingetreten ist. Formal
definieren wir
pr [A ∩ B]
pr [A|B] =
,
pr [B]
falls pr [B] 6= 0. Wenn wir zum Beispiel eine Zahl aus der Menge {1, . . . , 6} zufällig ziehen
und wenn A das Ereignis ist, dass 2 die gezogene Zahl ist und B das Ereignis ist, dass die
gezogene Zahl gerade ist, dann ist pr [A|B] = 1/3, wohingegen pr [B|A] = 1 gilt.
Zwei Ereignisse A und B heißen unabhängig, wenn pr [A ∩ B] = pr [A] · pr [B]. Beachte,
dass diese Bedingung äquivalent mit pr [A|B] = pr [A] wie auch mit pr [B|A] = pr [B]
ist. Wenn alle Elemente gleichwahrscheinlich sind, dann sind zwei Ereignisse genau dann
15
1.4. GRUNDLAGEN AUS DER STOCHASTIK
B
A
Proportion of
in
B
Abbildung 1.4: Interpretation von pr [A|B], wenn alle Elemente gleichwahrscheinlich sind.
unabhängig, wenn der Anteil |A|/|Ω| von Ereignis A im Stichprobenraum mit dem Anteil
|A ∩ B|/|B| des Ereignisses A ∩ B im Ereignis B übereinstimmt.
Beachte, dass Unabhängigkeit nichts mit der Disjunktheit von Ereignissen zu tun hat:
Wenn zum Beispiel pr [A] > 0, pr [B] > 0 und A ∩ B = ∅ gilt, dann sind die Ereignisse A
und B abhängig!
Beispiel 1.1 Wir beschreiben das „Monty Hall Problem“. In einer Game Show ist hinter
einer von drei Türen ein Preis verborgen. Ein Zuschauer rät eine der drei Türen und der
Showmaster Monty Hall wird daraufhin eine weitere Tür öffnen, hinter der sich aber kein
Preis verbirgt. Der Zuschauer erhält jetzt die Möglichkeit, seine Wahl zu ändern. Sollte er
dies tun? Wir betrachten die Ereignisse
- Pi , dass sich der Preis hinter Tür i befindet,
- Zi , dass der Zuschauer zuerst Tür i wählt und
- Mi , dass Monty Hall Tür i nach der ersten Wahl des Zuschauers öffnet.
Wir nehmen o.B.d.A. an, dass der Zuschauer zuerst Tür 1 wählt und dass Monty Hall
daraufhin Tür 2 öffnet; desweiteren nehmen wir an, dass der Zuschauer wie auch Monty
Hall seine Wahl jeweils nach der Gleichverteilung trifft. Wir müssen die bedingten Wahrscheinlichkeiten prob[ P1 | Z1 , M2 ] und prob[ P3 | Z1 , M2 ] berechnen und beachten, dass
prob[ P1 | Z1 , M2 ] + prob[ P3 | Z1 , M2 ] = 1 gilt, denn der Preis befindet sich nicht hinter
der geöffneten Tür 2. Nach Definition der bedingten Wahrscheinlichkeiten ist
prob[ P1 | Z1 , M2 ] · prob[ Z1 , M2 ] = prob[ Z1 , M2 | P1 ] · prob[ P1 ] und
prob[ P3 | Z1 , M2 ] · prob[ Z1 , M2 ] = prob[ Z1 , M2 | P3 ] · prob[ P3 ].
Wir bestimmen jeweils die rechten Seiten und erhalten
1 1 1
prob[ P1 | Z1 , M2 ] · prob[ Z1 , M2 ] = ( · ) · ,
3 2 3
denn Monty Hall kann die Türen 2 und 3 öffnen. Andererseits ist
1
1
prob[ P3 | Z1 , M2 ] · prob[ Z1 , M2 ] = ( · 1) · ,
3
3
16
KAPITEL 1. EINLEITUNG
denn Monty Hall kann nur Tür 2 öffnen. Also ist
prob[ P3 | Z1 , M2 ] · prob[ Z1 , M2 ] = 2 · prob[ P1 | Z1 , M2 ] · prob[ Z1 , M2 ]
und wir erhalten prob[ P3 | Z1 , M2 ] =
seine Wahl stets ändern!
2
3
und prob[ P1 | Z1 , M2 ] = 31 : Der Zuschauer sollte
Eine Zufallsvariable ist eine Funktion X : Ω → R. Wenn zum Beispiel X eine aus der
Menge {1, . . . , n} zufällig gezogene Zahl ist, dann sind X, Y = 2X und Z = „die Anzahl
der Primteiler von X“ Zufallsvariablen. Eine Indikatorvariable für das Ereignis A ist eine
0-1 wertige Zufallsvariable mit
(
X(ω) =
wenn ω ∈ A;
sonst.
1
0
Um die Aussage von Voltaire
“Das heilige Römische Reich war weder heilig noch römisch noch ein Reich“
aufzugreifen: Eine Zufallsvariable ist weder zufällig noch eine Variable!
Beispiel 1.2 Die Lösung des Monty Hall Problems kann mit Hilfe von Zufallsvariablen
kompakt erklärt werden: Sei W die Zufallsvariable, die die erste Wahl des Zuschauers beschreibt und sei T die Zufallsvariable, die die richtige Tür beschreibt. Dann findet die
Änderungsstrategie genau dann die richtige Tür, wenn W und T unterschiedliche Werte
annehmen und dieses Ereignis hat die Wahrscheinlichkeit 23 . Fazit: Mit höherer Wahrscheinlichkeit war die erste Wahl schlecht und wird durch die veränderte Wahl richtig.
Zufallsvariablen X1 , . . . , Xn heißen genau dann unabhängig, wenn für alle x1 , . . . , xn ∈ R
prob[ X1 = x1 ∧ · · · ∧ Xn = xn ] =
n
Y
prob[ Xi = xi ]
i=1
gilt. Die Zufallsvariablen heißen k-fach unabhängig, wenn Xi1 , . . . , Xik für jede Teilmenge
{i1 , . . . , ik } ⊆ {1, . . . , n} von k Elementen unabhängig ist.
Beachte, dass wiederholte Experimente unabhängigen Experimenten entsprechen. Desweiteren sind unabhängige Zufallsvariablen X1 , . . . , Xn k-fach unabhängig für jedes k < n.
Die Umkehrung dieser Aussage gilt nicht.
Aufgabe 2
Konstruiere paarweise unabhängige Zufallsvariablen X1 , X2 , X3 , die aber nicht unabhängig
sind.
Der Erwartungswert einer Zufallsvariable kann für jede reell-wertige Zufallsvariable X definiert werden und ist, intuitiv gesprochen, der zu „erwartende“ Wert, wenn wir das Zufallsexperiment X mehrfach wiederholen und das durchschnittliche Ergebnis berechnen.
Formal definieren wir den Erwartungswert von X als die Summe
E [X] =
X
i
i · pr [X = i]
17
1.4. GRUNDLAGEN AUS DER STOCHASTIK
über alle Werte i des Wertebereichs: Wenn wir zum Beispiel würfeln, dann ist E [X] =
P6 i
i=1 6 = 3.5 der Erwartungswert. (An diesem Beispiel können wir beobachten, dass der
Erwartungswert von X kein Element des Wertebereichs von X sein muss!)
1
2
3
4
6
7
8
Abbildung 1.5: Interpretation des Erwartungswerts als „Masse-Zentrum“”: Die Stichproben
haben das Gewicht pi = pr [X = ai ] auf der x-Achse an den Stellen ai für i = 1, . . . , n.
Erwarte nie das „Erwartete“! Und tatsächlich sagt der Erwartungswert in vielen ärgerlichen
Fällen nicht viel über das Verhalten der Zufallsvariable X aus. Der Erwartungswert ist
nämlich nur dann vertrauenswürdig, wenn man zeigen kann, dass größere Abweichungen
vom Erwartungswert unwahrscheinlich sind. Die „Distanz“ zwischen einer Zufallsvariable
X und ihrem Erwartungswert misst man zum Beispiel mit der Varianz, die durch
h
i
Var [X] = E (X − E [X])2 .
definiert ist. Eine sehr wichtige Eigenschaft des Erwartungswerts ist seine Linearität.
Satz 1.1 (Linearität des Erwartungswerts.) Für Zufallsvariablen X, Y und reelle
Zahlen a, b gilt
E [a · X + b · Y ] = a · E [X] + b · E [Y ] .
Beweis: x1 , . . . , xn und y1 , . . . , ym seien Elemente des Wertebereichs von X, bzw. Y . Da
für jede reelle Zahl a
E [a · X] =
n
X
a · xi · pr [X = xi ] = a ·
n
X
xi · pr [X = xi ] = a · E [X] ,
i=1
i=1
gilt, genügt der Nachweis von E [X + Y ] = E [X] + E [Y ]. Da die Ereignisse Y = yj für
P
verschiedene yj ’s disjunkt sind, folgt pr [X = xi ] = m
j=1 pr [X = xi , Y = yj ] , und ein ähnliches Ergebnis gilt natürlich für pr [Y = yj ]. Deshalb folgt
E [X + Y ] =
=
=
n X
m
X
(xi + yj )pr [X = xi , Y = yj ]
i=1 j=1
n X
m
X
xi pr [X = xi , Y = yj ] +
i=1 j=1
n
X
m
X
i=1
j=1
xi pr [X = xi ] +
= E [X] + E [Y ] .
m X
n
X
j=1 i=1
yj pr [Y = yj ]
yj pr [X = xi , Y = yj ]
18
KAPITEL 1. EINLEITUNG
Aufgabe 3
(a) Zeige, dass die Varianz mit der Formel Var [X] = E [X 2 ] − (E [X])2 berechnet werden
kann.
(b) Zeige, dass stets Var [a · X + b] = a2 · Var [X] gilt.
(c) X und Y seien unabhängige Zufallsvariablen. Zeige, dass E [X · Y ] = E [X] · E [Y ]
and Var [X + Y ] = Var [X] + Var [Y ] gilt.
(d) X sei eine Zufallsvariable, die nur natürliche Zahlen als Werte annimmt. Zeige, dass
P
E [X 2 ] ≥ E [X], pr [X = 0] ≥ 1 − E [X] und E [X] = ∞
x=1 pr [X ≥ x] gelten.
(e) Benutze die Ungleichung von Cauchy-Schwarz, um nachzuweisen, dass E [X]2 ≤
E [X 2 ] für jede Zufallsvaraiable X gilt.
(f) Wir haben n Briefe, die an verschiedene Personen adressiert sind und n Umschläge
mit den jeweiligen Adressen. Wir stecken die Briefe zufällig und unabhängig voneinander in Umschläge und erlauben, dass mehrere Briefe in den selben Umschlag
gesteckt werden. Wieviele Briefe landen im richtigen Umschlag?
(g) Zeige, dass es für beliebige Vektoren v1 , . . . , vn ∈ {+1, −1}n stets Koeffizienten
1 , . . . , n ∈ {+1, −1} gibt, so dass
k1 v1 + · · · + n vn k ≤ n
gilt.
Hinweis: Wähle die Koeffizienten i zufällig und unabhängig voneinander, wobei i =
1 mit Wahrscheinlichkeit 1/2 gelte, und benutze die Linearität des Erwartungswerts,
P
um die erwartete Länge des Vektors i vi zu berechnen.
Die Methode der Erzeugendenfunktionen. Es gibt eine allgemeine Methode, um
den Erwartungswert E [X] wie auch die Varianz Var [X] für eine beliebige diskrete Zufallsvariable X : Ω → N zu berechnen. Wir setzen pk = pr [X = k] und definieren die
Erzeugendenfunktion von X durch
FX (x) :=
X
p k xk ,
wobei wir über alle Werte k des Wertebereichs von X summieren.
19
1.4. GRUNDLAGEN AUS DER STOCHASTIK
Satz 1.2 Für jede diskrete Zufallsvariable gilt
FX (1) = 1
E [X] = FX0 (1)
Var [X] = FX00 (1) + E [X] − E [X]2 .
(1.4)
(1.5)
(1.6)
Beweis: Die erste Gleichung folgt sofort aus FX (1) = pk = 1.
P
P
Wir berechnen die erste Ableitung FX0 (x) = kpk xk−1 und erhalten FX0 (1) = kpk =
E [X].
P
Schließlich berechnen wir die zweite Ableitung FX00 (x) = k(k − 1)pk xk−2 und folgern
P
FX00 (1) =
X
k(k − 1)pk =
X
k 2 pk −
X
h
i
kpk = E X 2 − E [X] .
Wenn wir also E [X] addieren und E [X]2 von der rechten Seite subtrahieren, dann erhalten
wir genau die Varianz Var [X].
Wir betrachten als Nächstes einige wichtige Verteilungen.
Uniforme Verteilung: In der uniformen Verteilung sind alle Stichproben gleichwahrscheinlich und wir definieren dementsprechend diese „einfachste“ Verteilung durch
1
pk = pr [X = k] =
.
|Ω|
Wir sagen, dass X uniform verteilt ist.
Aufgabe 4
Berechne den Erwartungswert und die Varianz einer uniform verteilten Zufallsvariable.
Binomialverteilung: Wir sagen, dass eine Zufallsvariable X mit Parametern n and k
binomiell verteilt ist, vorausgesetzt
!
n k
pr [X = k] =
p (1 − p)n−k
k
gilt für jedes 0 ≤ k ≤ n. Für n unabhängige Zufallsvariablen
X1 , . . . , Xn mit pr [Xi = 1] = p
und pr [Xi = 0] = 1 − p folgt pr [X1 + · · · + Xn = k] = nk pk (1 − p)n−k und die Zufallsvariable X = X1 + · · · + Xn ist binomiell verteilt.
P
Der Erwartungswert von X ist E [X] = ni=1 E [Xi ] = np und auch die Varianz kann einfach
berechnet werden. Wegen der Linearität des Erwartungswerts ist
h
i
h X
E X2 = E (
i
Xi )2 =
X
h
i
E Xi2 +
i
X
E [Xi · Xj ] .
i6=j
Da Xi , Xj paarweise unabhängig sind, folgt E [Xi · Xj ] = E [Xi ] · E [Xj ] und deshalb ist
h
E X
2
i
!
n
= np + 2 ·
· p2 = np + n(n − 1)p2 = (np)2 + np(1 − p).
2
Also gilt Var [X] = E [X 2 ] − (E [X])2 = np(1 − p).
20
KAPITEL 1. EINLEITUNG
Geometrische Verteilung: Wir werfen solange eine Münze, bis wir zum ersten Mal
„Wappen“ erhalten. Wenn X die Anzahl der Versuche misst, dann ist X auf der Menge Ω =
{Zahln · Wappen | n ∈ N} definiert und wir haben zum ersten Mal einen Stichprobenraum
von abzählbar unendlicher Größe erhalten. Wenn p die Wahrscheinlichkeit für „Wappen“
ist, dann erhalten wir
pk = pr [X = k] = q k−1 · p
mit q = 1 − p.
Wir benutzen Erzeugendenfunktionen, um Erwartungswert und Varianz zu berechnen. Die
Erzeugendenfunktion von X ist
FX (x) =
∞
X
q t−1 p · xt = px ·
t=1
∞
X
q t xt =
t=0
px
.
1 − qx
Die erste und zweite Ableitung ist
FX0 (x) =
(1 − qx)p + pxq
p
=
2
(1 − qx)
(1 − qx)2
und
FX00 (x) =
2pq
.
(1 − qx)3
Also folgt nach Satz 1.2,
E [X] = FX0 (1) =
1
p
=
2
(1 − q)
p
und
Var [X] = FX00 (1) + E [T ] − E [Y ]2 =
2pq 1
1
1−p
+ − 2 =
.
3
p
p p
p2
Aufgabe 5
Eine Zufallsquelle Q produziert Nullen und Einsen, wobei eine Eins mit Wahrscheinlichkeit
p erscheint. Wir können auf Q zugreifen, kennen aber p nicht. Unsere Aufgabe ist die Konstruktion einer perfekten Zufallsquelle, die eine Eins mit Wahrscheinlichkeit 12 produziert.
Wir können also den Strom der Zufallsbits von Q beobachten und müssen einen Strom von
perfekten Zufallsbits konstruieren.
Entwirf eine perfekte Zufallsquelle, so dass die erwartete Anzahl von Q-Bits pro perfektem
1
beträgt.
Zufallbit höchstens p·(1−p)
Hinweis: Betrachte zwei aufeinanderfolgende Bits von Q.
Aufgabe 6
Wir können auf eine perfekte Zufallsquelle zugreifen, die 0 und 1 mit Wahrscheinlichkeit
genau 12 produziert.
- Wir möchten die Verteilung (p1 , . . . , pn ) erzeugen. Entwirf einen Algorithmus, der i
mit Wahrscheinlichkeit pi erzeugt und benutze höchstens die erwartete Anzahl von
O(log2 n) Bits der perfekten Quelle. Beachte, dass p1 , . . . , pn ≥ 0 beliebige reelle
Zahlen sind, die zu Eins summieren.
1.4. GRUNDLAGEN AUS DER STOCHASTIK
21
- Bestimme die Worst-Case Anzahl perfekter Zufallsbits für p1 = p2 = p3 = 13 .
Aufgabe 7
Wir spielen gegen einen Gegner, der sich zwei Zahlen ausdenkt und jede Zahl, für uns nicht
sichtbar, auf jeweils ein eigenes Blatt Papier schreibt. Wir wählen zufällig ein Blatt, lesen
die Zahl und haben dann die Wahl, die Zahl zu behalten oder gegen die verbleibende Zahl
zu tauschen. Sei x die Zahl für die wir uns letztlich entscheiden und sei y die verbleibende
Zahl. Dann ist x − y unser (möglicherweise negativer) Gewinn.
- Wir betrachten die Strategie St ≡ „Gib Zahlen < t zurück und behalte Zahlen ≥ t“.
Analysiere den erwarteten Gewinn Ex,y (Gewinn(St )) dieser Strategie in Abhängigkeit
von t, x und y.
- Entwirf eine randomisierte Strategie mit erwartetem positiven Gewinn für beliebige,
aber verschiedene Zahlen x 6= y.
Aufgabe 8
Wir spielen ein Spiel mit Erfolgswahrscheinlichkeit p = 1/2. Wenn wir gewinnen, verdoppeln wir unseren Einsatz, wenn wir verlieren, verlieren wir auch unseren Einsatz. Betrachte
die folgende Strategie
i:=0
REPEAT
Setze den Einsatz 2i $
i:=i+1
UNTIL(Ich gewinne zum ersten Mal)
Berechne den erwarteten Gewinn und den erwarteten Geldbetrag, um diese Strategie durchzuführen.
Beispiel 1.3 Berechnung des durchschnittlichen Gehalts ohne Offenlegung der Einzelgehälter.
n Personen 1, . . . , n möchten das durchschnittliche Gehalt bestimmen, ohne aber ihr eigenes Gehalt offen legen zu müssen. Wenn alle Personen ehrlich sind, dann sollte das durchschnittliche Gehalt auch korrekt berechnet werden. Wenn jedoch irgendwelche k Personen
lügen, dann sollten Sie keinerlei Information bis auf die Summe aller Gehälter gewinnen.
Algorithmus 1.1 Ein sicheres Protokoll
(1) M sei eine genügend große Zahl, die größer als die Summe aller Gehälter ist.
Jede Person i zufällig wählt Zahlen Xi,1 , . . . , Xi,i−1 , Xi,i+1 , . . . Xi,n ∈ {0, . . . , M − 1}
und teilt Xi,j der Person j mit.
22
KAPITEL 1. EINLEITUNG
(2) Wenn Gi das Gehalt von Person i ist, dann bestimmt sie die Restklasse
Si = Gi +
n
X
Xj,i −
j,j6=i
(3) Jede Person i veröffentlicht Si und
n
X
Xi,j mod M.
j,j6=i
P
i
Si mod M wird berechnet.
Kommentar: Wenn alle Personen ehrlich sind, dann ist
X
Si mod M ≡
X
i
und
Gi +
i
1
n
·
P
j
n
X
n
X
Xj,i −
i,j,j6=i
Xi,j mod M ≡
X
Gi mod M =
i
i,j,j6=i
X
Gi
i
Sj ist das gewünschte durchschnittliche Gehalt.
Warum ist dieses Protokoll sicher? Angenommen, die letzten k Personen sind Lügner. Wir
Pn−k
P
setzen Si∗ = Gi + n−k
j=1,j6=i Xi,j mod M . Eine ehrliche Person veröffentlicht
j=1,j6=i Xj,i −
Si = Si∗ +
n
X
Xj,i −
j=n−k+1
Beachte, dass
Pn−k
i=1
Si∗ =
Pn−k
i=1
n
X
Xi,j mod M
j=n−k+1
Gi gilt.
Aufgabe 9
∗
Zeige: Jede Kombination (s∗2 , . . . , s∗n−k ) von Werten der Zufallsvariable S2∗ , . . . , Sn−k
wird
∗
−(n−k−1)
∗
mit Wahrscheinlichkeit M
erzeugt. Deshalb sind die Zufallsvariablen S2 , . . . , Sn−k
unabhängig.
∗
unabhängig und uniform über
Nach dieser Aufgabe sind die Zufallsvariablen S2∗ , . . . , Sn−k
der Menge {0, . . . , M − 1} verteilt. Diese Aussage gilt aber mit dem selben Argument auch
für S2 , . . . , Sn−k und die Lügner lernen nichts, da jede Folge von n − k − 1 Werten mit
1
Wahrscheinlichkeit M n−k−1
auftritt.
Abweichungen vom Erwartungswert kann man mit Hilfe der Ungleichungen von Markoff,
Chernoff and Tschebyscheff abschätzen. Wir beginnen mit Markoff’s Ungleichung.
Markoff’s Ungleichung: Sei X eine nicht-negative Zufallsvariable und sei a > 0 eine
reelle Zahl. Dann gilt
E [X]
pr [X > a] ≤
.
a
Beweis: Nach Definition des Erwartungswerts ist
E [X] =
X
x
x · pr [X = x] ≥
X
a · pr [X = x] = a · pr [X > a] .
x>a
23
1.4. GRUNDLAGEN AUS DER STOCHASTIK
Tschebyscheff’s Ungleichung: X sei eine Zufallsvariable. Dann gilt
pr [|X − E [X] | > t] ≤
Var [X]
.
t2
für jede reelle Zahl t > 0.
Beweis: Wir definieren die Zufallsvariable Y = (X − E [X])2 und wenden Markoff’s Ungleichung an. Das ergibt
h
i
pr [|X − E [X] | > t] = pr Y > t2 ≤ E [Y ] /t2 = Var [X] /t2 .
Chernoff’s Ungleichungen sind Spezialfälle der Markoff Ungleichung, angewandt auf
Summen von unabhängigen 0-1 Zufallsvariablen.
Satz 1.3 X1 , . . . , Xn seien beliebige unabhängige binäre Zufallsvariablen mit den ErfolgsP
wahrscheinlichkeit pi = pr [Xi = 1]. Dann ist N = ni=1 pi die erwartete Anzahl der Erfolge
und es gilt
pr
" n
X
!N
≤
eβ
(1 + β)1+β
!N
≤
e−β
(1 − β)1−β
#
Xi > (1 + β) · N
i=1
pr
" n
X
#
Xi < (1 − β) · N
i=1
≤ e−N ·β
2 /3
≤ e−N ·β
2 /2
für jedes β > 0 (bzw. 0 < β ≤ 1 im zweiten Fall).
Beweis: Wir zeigen nur die erste Ungleichung. Wir wenden die Markoff Ungleichung für
beliebiges α > 0 an und erhalten
pr
" n
X
#
Xi > t
h
= pr eα·
Pn
i=1
Xi
> eα·t
i
i=1
h
≤ e−α·t · E eα·
= e−α·t ·
n
Y
Pn
i=1
h
Xi
i
i
E eα·Xi .
i=1
In der letzten Gleichung haben wir benutzt, dass E [Y1 · Y2 ] = E [Y1 ] · E [Y2 ] gilt, wenn
Y1 und Y2 unabhängige Zufallsvariablen sind. Wir ersetzen t durch (1 + β) · N , α durch
ln(1 + β) und erhalten
pr
" n
X
i=1
#
Xi > (1 + β) · N
≤ e−α·(1+β)·E ·
n
Y
h
E eα·Xi
i
i=1
= (1 + β)−(1+β)·N ·
n
Y
i=1
h
i
E (1 + β)Xi .
24
KAPITEL 1. EINLEITUNG
h
i
Die Behauptung folgt, da E (1 + β)Xi = pi (1 + β) + (1 − pi ) = 1 + β · pi ≤ eβ·pi gilt.
Aufgabe 10
Sei x ≤ 1 eine beliebige reelle Zahl. Zeige
ex
2
= ex−(1+x) ln(1+x) ≤ e−x /3 .
1+x
(1 + x)
Aufgabe 11
X1 , . . . , Xn seien unabhängige, binäre Zufallsvariablen mit pi = pr [Xi = 1] und nimm an,
P
dass N ∗ ≥ ni=1 pi gilt. Zeige, dass
pr
" n
X
#
Xi > (1 + β) · N
∗
≤ e−β
2 ·N ∗ /3
i=1
für jedes β > 0 folgt.
Aufgabe 12
Zeige die zweite Chernoff-Ungleichung.
Beispiel 1.4 Wir nehmen an, dass ein Zufallsexperiment X vorliegt, dessen Erwartungswert wir experimentell messen möchten. Das Experiment sei aber instabil, d.h. die Varianz
von X ist groß.
Wir „boosten“, wiederholen also das Experiment k mal. Wenn Xi das Ergebnis des iten
P
Experiments ist, dann setzen wir Y = k1 · ki=1 Xi und beachten, dass die Zufallsvariablen
X1 , . . . , Xk unabhängig sind: Es gilt also
V[ Y ]=
k
k
1 X
1 X
1
·
V
[
X
]
=
·
V [ X ] = · V [ X ].
i
2
2
k i=1
k i=1
k
Wir haben die Varianz um den Faktor k gesenkt, aber den Erwartungswert unverändert
P
P
gelassen, denn E[ Y ] = E[ k1 · ki=1 Xi ] = k1 · ki=1 E[ X ] = E[ X ]. Die Tschebyscheff
Ungleichung liefert jetzt das Ergebnis
prob[ |Y − E[X]| > t ] = prob[ |Y − E[Y ]| > t ] ≤
V [Y ]
V [X]
=
t2
k · t2
und große Abweichungen vom Erwartungswert sind unwahrscheinlicher geworden.
Angenommen, wir haben erreicht, dass Y mit Wahrscheinlichkeit mindestens p = 1 − ε in
ein „Toleranzintervall“ T = [E[ X ] − δ, E[ X ] + δ ] fällt. Können wir p „schnell gegen 1
treiben“? Wir wiederholen diesmal das Experiment Y und zwar m mal und erhalten wiederum unabhängige Zufallsvariablen Y1 , . . . , Ym . Als Schätzung des Erwartungswerts geben
wir jetzt den Median M von Y1 , . . . , Ym aus. Wie groß ist die Wahrscheinlichkeit, dass M
nicht im Toleranzintervall T liegt?
1.5. KOMPLEXITÄTSKLASSEN
25
Y liegt mit Wahrscheinlichkeit mindestens p in T . Wenn also der Median außerhalb des
Toleranzintervalls liegt, dann liegen mindestens m2 Einzelschätzungen außerhalb, während
nur (1 − p) · m = ε · m außerhalb liegende Einzelschätzungen zu erwarten sind. Wir wenden
) · ε · m = m2 . Also erhalten wir
die Chernoff Ungleichung an und beachten, dass (1 + 1−2·ε
2·ε
mit β = 1−2·ε
2·ε
2
2
prob[ M 6∈ T ] ≤ e−ε·m·β /3 = e−(1−2·ε) ·m/(12·ε)
und die Fehlerwahrscheinlichkeit fällt negativ exponentiell, falls ε < 12 .
1.5
Komplexitätsklassen
Wir führen Komplexitätsklassen ein, die algorithmische Entscheidungsprobleme nach
• der Laufzeit sequentieller Algorithmen,
• dem Speicherplatz sequentieller Algorithmen
• und nach Größe und Tiefe von Schaltkreisen
aufführen. Wenn wir nach Laufzeit oder Speicherplatz fragen, dann arbeiten wir mit dem
„uniformen“ Rechnermodell der Turingmaschinen: Das Programm ist für alle Eingaben
dasselbe.
Obwohl Turingmaschinen reichlich antiquiert wirken, ist die Definition der SpeicherplatzKomplexität mehr oder minder unabhängig vom gewählten Rechnermodell. Die Definition
der Laufzeit-Komplexität hängt stark vom Rechnermodell ab; wenn wir aber die Laufzeit nur bis auf ein Polynom exakt betrachten, dann gilt auch hier Unabhängigkeit vom
Rechnermodell, wenn wir den Berechnungsmodus, hier Determinismus bzw. Nichtdeterminismus, festlegen.
Wenn wir nach der Größe und Tiefe von Schaltkreisen fragen, dann arbeiten wir mit dem
„nicht-uniformen“ Rechnermodell der Schaltkreise: Für jede Eingabelänge n wird ein eigener Schaltkreis Sn beschrieben. Allerdings werden wir auch „uniforme“ Schaltkreismodelle
betrachten, wenn nämlich die Schaltkreisfamilie Sn durch eine Turingmaschine beschrieben
wird.
Während wir Laufzeit und Speicherplatz für sequentielle Algorithmen studieren, bewerten
Größe und Tiefe von Schaltkreisen die Effizienz paralleler Algorithmen.
1.5.1
Zeit-Komplexitätsklassen
Wir wählen Turingmaschinen als Rechnermodell. Die Architektur einer Turingmaschine
M besteht aus einem nach links und rechts unbeschränktem, eindimensionalem Band.
Das Band ist in Zellen unterteilt und der Zelleinhalt wird von einem Lese-Schreibkopf
modifiziert.
Eine Eingabe w = (w1 , . . . , wn ) ∈ Σ∗ , für das Eingabealphabet Σ, wird so abgespeichert,
dass Zelle i (1 ≤ i ≤ n) mit dem Buchstaben i beschriftet ist. Alle anderen Zellen enthalten
26
KAPITEL 1. EINLEITUNG
das Blanksymbol B. Der Kopf des Lesebands befindet sich zu Anfang der Berechnung auf
Zelle 1. Während der Berechnung darf der Kopf den Inhalt der gegenwärtig besuchten Zelle
(mit einem Buchstaben des Bandalphabets Γ) überdrucken und in einem Schritt zur linken
oder rechten Nachbarzelle wandern.
Wenn die Maschine M auf Eingabe w hält, dann ist die Ausgabe M (w) der Berechnung
die Konkatenation der Zelleninhalte vom linkesten Nicht-Blank bis zum rechtesten NichtBlank. Wenn die Maschine M für jede Eingabe nur die Symbole 0 oder 1 als Ausgabe
produziert, dann sagen wir, dass die Eingabe w akzeptiert (Ausgabe 1) bzw. verworfen
wird (Ausgabe 0) und definieren
L(M ) = {w ∈ Σ∗ | M akzeptiert w }
als die von M erkannte Sprache.
Definition 1.1 Sei Σ ein Alphabet , also eine endliche Menge von Buchstaben.
(a) Wenn die deterministische Turingmaschine M für Eingabe w ∈ Σ∗ genau timeM (w)
Schritte ausführt, dann definieren wir
timeM (n) = max{timeM (w) | w ∈ Σn }
als die Laufzeit von M für Eingabelänge n.
(b) Für die Funktion t : N → N definieren wir
DTIME(t) = {L ⊆ Σ∗ | es gibt eine deterministische Turingmaschine M
mit L(M ) = L und timeM = O(t) }.
(c) Die Komplexitätsklasse P besteht aus den mit polynomieller Laufzeit erkennbaren
Sprachen,
[
P=
DTIME(nk ).
k∈N
?
Die Frage P = NP ist eine nicht nur für die theoretische Informatik zentrale Frage, und sie
wird auch in dieser Veranstaltung eine prominente Rolle einnehmen. Wir sind deshalb natürlichen auch an nichtdeterministischen Turingmaschinen und ihren Komplexitätsklassen
interessiert. Eine nichtdeterministische Turingmaschine M führt unter Umständen viele
Berechnungen für eine Eingabe aus. Wir sagen, dass M eine Eingabe w akzeptiert, wenn
w von mindestens einer Berechnung akzeptiert wird und definieren
L(M ) = {w | es gibt eine Berechnung von M , die w akzeptiert }.
Definition 1.2 Sei Σ ein Alphabet. Die Funktion t : N → N sei gegeben.
27
1.5. KOMPLEXITÄTSKLASSEN
(a) Wir sagen, dass eine nichtdeterministische Turingmaschine M höchstens Zeit t(n)
benötigt, wenn alle Berechnungen von M für Eingaben der Länge n höchstens t(n)
Schritte benötigen.
(b) Wir setzen
NTIME(t) = {L ⊆ Σ∗ | es gibt eine nichtdeterministische Turingmaschine M
mit L(M ) = L und L benötigt höchstens O(t) Schritte }.
(c) Die Komplexitätsklasse NP besteht aus den mit polynomieller Laufzeit erkennbaren
Sprachen,
[
NP =
NTIME(nk ).
k∈N
Aufgabe 13
Zeige: Wenn DTIME(n log n) = NTIME(n log n), dann gilt P = NP.
Aufgabe 14
Eine Sprache L gehört genau dann zur Komplexitätsklasse NP, wenn es eine Sprache K ∈ P
und eine Konstante k ∈ N gibt, so dass für alle Eingaben w
w ∈ L ⇔ ∃ y ∈ {0, 1}∗ ( |y| ≤ |x|k ∧ (x, y) ∈ K ).
1.5.2
Speicherplatz-Komplexität
Wir wählen deterministische I-O (input-output) Turingmaschinen als Rechnermodell. Eine
I-O Turingmaschine M besitzt drei, nach links und rechts unbeschränkte ein-dimensionale
Bänder mit jeweils einem Lese-Schreibkopf, wobei jeder Kopf in einem Schritt (höchstens)
zur jeweiligen linken oder rechten Nachbarzelle der gegenwärtig besuchten Zelle wandern
darf.
(1) Das erste Band ist das Leseband. Wenn Σ1 das Eingabealphabet bezeichnet, dann
wird die Eingabe w = (w1 , . . . , wn ) ∈ Σ∗1 auf den Zellen 0, . . . , n + 1 wie folgt abgespeichert: Die Zellen 0 und n + 1 enthalten das Begrenzersymbol #, während Zelle i
(1 ≤ i ≤ n) mit dem Buchstaben wi beschriftet ist. Der Kopf des Lesebands befindet
sich zu Anfang der Berechnung auf Zelle 0 und darf während der Berechnung weder den durch die Begrenzer beschriebenen Bereich verlassen noch einen Zelleninhalt
überschreiben. Der Kopf verhält sich somit wie ein Lesekopf.
(2) Das zweite Band ist das Arbeitsband, dessen Zellen gelesen aber auch mit den Buchstaben des Arbeitsalphabets Γ, beschrieben werden dürfen. Zu Anfang der Berechnung sind alle Zellen mit dem Blanksymbol B beschriftet.
28
KAPITEL 1. EINLEITUNG
(3) Das dritte Band ist das Ausgabeband, dessen Zellen zu Anfang der Berechnung ebenfalls mit dem Blanksymbol beschriftet sind. Der Kopf darf das Ausgabeband mit
Buchstaben eines Ausgabealphabets Σ2 beschreiben, wobei aber in einem Schritt nur
die rechte Nachbarzelle aufgesucht werden darf. Der Kopf verhält sich also wie ein
links-nach-rechts wandernder Schreibkopf.
Wenn die Maschine M auf Eingabe w hält, dann ist die Konkatenation der Inhalte
der Zellen 0, . . . m die Ausgabe M (w) der Berechnung. (Die Zelle 0 ist die zu Anfang besuchte Zelle und die Zelle m ist die im letzten Schritt besuchte Zelle des
Ausgabebands.)
Wenn die Maschine M für jede Eingabe nur die erste Zelle des Ausgabebands modifiziert und dabei nur die Symbole 0 oder 1 druckt, dann sagen wir, dass die Eingabe
w akzeptiert (Ausgabe 1) bzw. verworfen wird (Ausgabe 0). Wir definieren
L(M ) = {w ∈ Σ∗1 | M akzeptiert w }
als die von M erkannte Sprache.
I-O Turingmaschinen erlauben die Definition des Speicherplatzbedarfs durch Messung der
Anzahl während der Berechnung besuchter Zellen des Arbeitsbands. Hätten wir nur 1-Band
Turingmaschinen betrachtet, dann wäre der Speicherplatzbedarf stets mindestens so groß
wie das Maximum von Ein- und Ausgabelänge, und wir hätten den teuren Arbeitsspeicher
mit billigen Hintergrundspeichern (für die Ein- und Ausgabe) gleichgesetzt.
Definition 1.3 Sei Σ ein Alphabet.
(a) Die I-O Turingmaschine M besuche für jede Eingabe w ∈ Σ∗ genau DspaceM (w)
viele verschiedene Zellen des Arbeitsbands. Wir definieren
DspaceM (n) = max{DspaceM (w) | w ∈ Σn }
als den Speicherplatzbedarf von M für Eingabelänge n.
(b) Sei s : N → N gegeben. Dann definieren wir die Klasse aller mit Platzverbrauch
höchstens O(s(n)) lösbaren Entscheidungsprobleme durch
Dspace(s) = {L ⊆ Σ∗ | L(M ) = L für eine I-O TM M mit DspaceM = O(s) }.
(c) Die Komplexitätsklasse DL besteht aus allen mit logarithmischem Speicherplatzbedarf
erkennbaren Sprachen, also
DL = Dspace(log2 n).
(d) Die Komplexitätsklasse PSPACE besteht aus allen mit polynomiellem Speicherplatzbedarf erkennbaren Sprachen, also
PSPACE =
[
k∈N
Dspace(nk ).
29
1.5. KOMPLEXITÄTSKLASSEN
Man beachte, dass wir die Speicherplatzkomplexität in Teil (b) asymptotisch definiert haben. Dieses Vorgehen wird durch das folgende “Kompressionslemma” geradezu erzwungen.
Lemma 1.6 Die I-O Turingmaschine M erkenne die Sprache L mit Speicherplatzbedarf
höchstens s(n). Dann gibt es eine I-O Turingmaschine M 0 , die L mit Speicherplatzbedarf
e erkennt.
höchstens d s(n)
2
Beweisskizze: Sei Γ das Arbeitsalphabet von M . Die Maschine M 0 verhält sich genau wie
M , benutzt aber das Arbeitsalphabet Γ2 .
Wie ist der Speicherplatzbedarf von nichtdeterministischen Turingmaschinen zu definieren?
Offensichtlich ist auch hier die Betrachtung von (nichtdeterministischen) I-O Turingmaschinen M angesagt. Wir definieren den Speicherplatzbedarf nspaceM (w) für eine Eingabe w
durch den maximalen Speicherplatzbedarf einer Berechnung für w.
Definition 1.4 Sei Σ ein Alphabet.
(a) Wir definieren
nspaceM (n) = max{nspaceM (w) | w ∈ Σn }
als den Speicherplatzbedarf von M für Eingabelänge n.
(b) Sei s : N → N gegeben. Dann definieren wir
NSPACE(s) = {L ⊆ Σ∗ | es gibt eine nichtdeterministische I-O TM
M mit L(M ) = L und nspaceM = O(s) }.
(c) Die Komplexitätsklasse NL besteht aus allen nichtdeterministisch, mit logarithmischem
Speicherplatzbedarf erkennbaren Sprachen, also
NL = NSPACE(log2 n).
(d) Die Komplexitätsklasse NPSPACE besteht aus allen nichtdeterministisch, mit polynomiellem Speicherplatzbedarf erkennbaren Sprachen, also
NPSPACE =
[
NSPACE(nk ).
k∈N
1.5.3
Die Komplexität paralleler Berechnungen
Wann ist ein algorithmisches Problem parallelisierbar? Was soll „parallelisierbar“ überhaupt bedeuten? Informell gesprochen sollten wir fordern, dass Berechnungen rasant schnell
ablaufen und mit nicht zu vielen Prozessoren arbeiten. Um diese Begriffe weiter zu klären,
wählen wir Schaltkreise als unser paralleles Rechnermodell.
30
KAPITEL 1. EINLEITUNG
Definition 1.5 Ein Schaltkreis S wird durch den Vektor
S = (G, Q, R, gatter, n, eingabe)
beschrieben.
• G = (V, E) ist ein gerichteter, azyklischer Graph.
• Q ist die Menge der Quellen (Knoten mit nur ausgehenden Kanten) und R die Menge
der Senken (Knoten mit nur eingehenden Kanten) von G.
• Die Funktion eingabe: Q → {1, . . . , n} weist jeder Quelle die Position des entsprechenden Eingabebits zu.
• Die Funktion gatter: V \ Q → {¬, ∨, ∧} weist jedem inneren Knoten von G eine
Boolesche Funktion zu, wobei einem Knoten v die Negation nur zugewiesen werden
darf, wenn v genau eine eingehende Kante besitzt.
Der Schaltkreis berechnet die Boolesche Funktion fS : {0, 1}n → {0, 1}|R| , indem die n
Eingabebits an die Quellen in G angelegt werden, und jeder Knoten das Ergebnis seiner
Gatterfunktion weiterleitet. Das Resultat wird an den Senken von G (in einer vorher fixierten Reihenfolge) abgelesen.
Als nächstes führen wir die Komplexitätsmaße Tiefe, Größe und Fanin ein. Während die
Tiefe die parallele Rechenzeit wiedergibt, misst die Größe die Prozessoranzahl, bzw. in
gewissem Sinne die sequentielle Rechenzeit.
Definition 1.6
(a) Sei S = (G, Q, R, gatter, n, eingabe) ein Schaltkreis. Wir sagen, dass
1. die Tiefe von S die Länge des längsten Weges in G ist,
2. die Größe von S die Anzahl der Knoten von G ist, wobei wir keine Quellen
zählen,
3. und der Fanin von S das Maximum, über alle Knoten v, der Anzahl eingehender
Kanten von v ist.
(b) Für eine Boolesche Funktion f : {0, 1}n → {0, 1} definieren wir die minimale Tiefe
DEPTH(f ) = min{ d | Es gibt einen Schaltkreis der Tiefe d für f }
und die minimale Größe
SIZE(f ) = min{ s | Es gibt einen Schaltkreis der Größe s für f },
wobei wir jeweils nur Schaltkreise mit den Gattern ∧, ∨, ¬ vom Fanin zwei betrachten.
31
1.5. KOMPLEXITÄTSKLASSEN
Aufgabe 15
Zeige, dass das Problem, die Summe von n Bits modulo 2 zu bestimmen, nicht von Schaltkreisen mit unbeschränktem Fanin und Tiefe 2 gelöst werden kann, wenn polynomielle
Größe in n gefordert wird.
Aufgabe 16
a) Bestimme die Anzahl der Funktionen f : {0, 1}n → {0, 1}.
b) Gib eine möglichst gute obere Schranke für die Anzahl der Schaltkreise aus m Gattern
mit Fanin 2 und n Eingaben an.
c) Zeige: Es gibt eine Funktion f : {0, 1}n → {0, 1}, zu deren Berechnung Schaltkreise
die Größe mindestens Ω(2n /n) benötigen.
Schaltkreise berechnen nur Funktionen mit einer festen Anzahl von Eingabebits. Um Funktionen von unbeschränkt vielen Eingabebits berechnen zu können, benötigen wir das Konzept einer uniformen Schaltkreisfamilie.
Definition 1.7 (a) Eine Schaltkreisfamilie ist eine Folge (Sn )n∈N von Schaltkreisen, so
dass Sn eine Boolesche Funktion auf genau n Eingaben berechnet. Eine Schaltkreisfamilie (Sn )n∈N berechnet eine Funktion f : {0, 1}∗ → {0, 1} genau dann, wenn Sn
für jedes n die Funktion f , eingeschränkt auf {0, 1}n , berechnet.
(b) Eine Schaltkreisfamilie (Sn )n∈N ist uniform, wenn es eine log2 (Größe (Sn ) + n)-platzbeschränkte, deterministische Turingmaschine gibt, die für Eingabe 1n
- alle Knoten von Sn aufzählt,
- jedem inneren Knoten seine Funktion, also eine Funktion aus {¬, ∨, ∧}, zuweist,
- sämtliche Kanten von Sn aufzählt und
- jeder Quelle von Sn eine Bitposition zuweist.
(c) Seien d, s : N → N gegeben. Definiere
DEPTHuniform (d)
als die Klasse aller Sprachen L, die durch eine uniforme Schaltkreisfamilie in Tiefe
O(d(n)) und mit Fanin zwei berechnet werden.
SIZEuniform (s)
ist die Klasse aller Sprachen L, die durch eine uniforme Schaltkreisfamilie mit Größe
O(s(n)) und mit Fanin zwei berechnet werden. Schließlich besteht
DEPTH−SIZEuniform (d, s) = DEPTHuniform (d) ∩ SIZEuniform (s)
aus allen Sprachen, die sowohl in Tiefe O(d) wie auch in Größe O(s) durch eine
uniforme Schaltkreisfamilie vom Fanin zwei berechnet werden.
32
KAPITEL 1. EINLEITUNG
Mit anderen Worten: Wir verlangen, dass eine uniforme Schaltkreisfamilie Sn einfach, nämlich durch eine logarithmisch-bandbeschränkte Turingmaschine, konstruierbar sein muss.
Warum haben wir die Uniformität oder Einfachheit von Schaltkreisen gefordert?
Sei n die Gödelnummer der Turingmaschine M . Wenn M auf dem leeren Wort hält, dann
definieren wir Sn so, dass alle Eingaben akzeptiert werden. Wenn hingegen M auf dem
leeren Wort nicht hält, dann definiere Sn so, dass alle Eingaben verworfen werden. Mit
anderen Worten, das spezielle Halteproblem (für die Unärkodierung von Gödelnummern)
kann mit einer Schaltkreisfamilie berechnet werden, die nur aus Schaltkreisen mit einem
Gatter bestehen. Die beschriebene Schaltkreisfamilie (Sn )n∈N ist nicht uniform und ihre
Konstruktion ist sogar nicht berechenbar.
In uniformen Schaltkreisfamilien wird die wesentliche Arbeit von den Schaltkreisen geleistet
und nicht von der Beschreibung der Familie.
Aufgabe 17
a) Zeige: Für jede Funktion f : {0, 1}∗ → {0, 1} gibt es eine Schaltkreisfamilie der Tiefe
O(n), die f berechnet.
b) Zeige: Es gibt eine berechenbare Funktion f : {0, 1}∗ → {0, 1}, die nicht von einer
uniformen Schaltkreisfamilie polynomieller Tiefe berechnet werden kann.
Wir sind an rasant schnellen, parallelen Algorithmen interessiert, die mit einer vernünftigen
Größe auskommen. Die Begriffe „rasant schnell“ und „vernünftige Größe“ präzisieren wir
durch poly-logarithmische Rechenzeit und polynomielle Größe.
Definition 1.8 Für jedes k ∈ N definiere die Komplexitätsklassen:
NCk :=
∞
[
DEPTH − SIZEuniform (logk2 n, nl )
l=0
NC :=
[
NCk
k∈N
k
AC
ist wie NCk definiert, allerdings beschränken wir den Fanin nicht.
[
AC :=
ACk .
k∈N
Die Komplexitätsklasse NC ist unsere Definition der Klasse parallelisierbarer Probleme. NC
steht für „Nick’s Class“ (nach ihrem Autor Nick Pippenger). AC steht für „Alternating
Circuits“, d.h. Schaltkreise die alternierend aus Schichten von UND- bzw. ODER-Gattern
aufgebaut sind.
1.6
Diagonalisierung
Wir benutzen die Diagonalisierungsmethode von Cantor, die in der Informatik zum Beispiel
für den Nachweis der Unentscheidbarkeit der Diagonalsprache oder des Halteproblems
angewandt wird. Cantor hat diese Methode erstmalig angewandt um zu zeigen, dass die
Menge der reellen Zahlen überabzählbar groß ist.
33
1.6. DIAGONALISIERUNG
1.6.1
Eine Zeithierarchie
Können Berechnungen mehr Probleme lösen, wenn mehr Zeit zur Verfügung steht? Wenn
die zur Verfügung stehende Zeitschranke t zeitkonstruierbar ist, dann wird die Antwort
positiv sein.
Definition 1.9 Eine Funktion t : N → N heißt zeitkonstruierbar, falls t(n) ≥ n · log2 n
und falls es eine deterministische Turingmaschine M gibt, die für jede Eingabe x die Binärdarstellung von t(|x|) mit Laufzeit höchstens O(t(|x|)) berechnet.
Aufgabe 18
Wenn L ∈ NTIME(t) und wenn t zeitkonstruierbar ist, dann gibt es eine Konstante kL , so
dass L ∈ DTIME(2kL ·t ) gilt.
Praktisch alle relevanten Laufzeitfunktionen sind zeit-konstruierbar. Zur Berechnung der
Binärdarstellung von t(n) ≥ n · log2 n steht nämlich Zeit O(t) und damit exponentielle
Zeit in der Länge der Binärdarstellung von t zur Verfügung. Die Zeitkonstruierbarkeit ist
wichtig, damit eine simulierende Turingmaschine eine Zeitüberschreitung der simulierten
Maschine schnell merkt: Ein Zähler kann genügend schnell, also in Zeit O(t(n)) initialisiert
werden. Wird der Zähler, wie auch eine Beschreibung der simulierten Turingmaschine stets
in der Nähe des Kopfes gehalten, gelingt die Simulation eines Schrittes in logarithmischer
Zeit.
Satz 1.4 Zeit-Hierarchie
(a) Die Funktion t sei zeitkonstruierbar. Dann ist DTIME(o( logt t )) eine echte Teilmenge
2
von DTIME(t).
(b) P ist eine echte Teilmenge von E =
S
k
von EXP = k∈N DTIME(2n ).
S
k∈N
DTIME(2kn ) und E ist eine echte Teilmenge
Beweis (a): Wir nehmen an, dass die Funktion t zeitkonstruierbar ist und konstruieren
die folgende Turingmaschine M ∗ .
Algorithmus 1.2 Diagonalisierung.
1. M ∗ bestimmt die Länge n der Eingabe w und speichert die Binärdarstellung von
t(n)
in einem Zähler ab.
log t(n)
2
/* Dies ist mit Laufzeit O(t(n)) möglich, da t zeit-konstruierbar ist.
*/
2. Wenn w nicht von der Form hM i0k für eine Turingmaschine M ist, verwirft M ∗ .
/* hM i bezeichnet die Gödelnummer der Turingmaschine M .
3. M ∗ simuliert M auf der Eingabe hM i0k und verwirft, wenn M mehr als
Schritte benötigt.
*/
t(n)
log2 t(n)
34
KAPITEL 1. EINLEITUNG
4. M ∗ akzeptiert w, wenn M verwirft. Wenn hingegen M akzeptiert, dann wird M ∗
verwerfen.
Aus der Beschreibung des Algorithmus geht hervor, dass M ∗ mit Laufzeit O(t(n)) auskommt und damit ist L(M ∗ ) ∈ DTIME(t).
Angenommen, L(M ∗ ) kann von einer Turingmaschine M mit Laufzeit s = o( logt t ) erkannt
2
werden. Dann wird M für hinreichend große Eingabelänge n stets in Zeit höchstens logt t
2
rechnen. M ∗ wird deshalb M ∗ für Eingaben w = hM i0k mit hinreichend großem k erfolgreich simulieren. Schritt (4) garantiert, dass sich L(M ) und L(M ∗ ) unterscheiden: Laufzeit
o( logt t ) ist unzureichend für die Berechnung von L(M ∗ ).
2
(b) ist eine direkte Konsequenz von Teil (a).
1.6.2
Eine Speicherplatz-Hierarchie
Analog zur Zeit-Konstruierbarkeit benötigen wir den Begriff der Platz-Konstruierbarkeit.
Definition 1.10 Eine Funktion s : N → N heißt genau dann platz-konstruierbar, wenn es
eine deterministische Turingmaschine gibt, die für eine jede Eingabe der Länge n höchstens
O(s(n)) Speicherplatz benötigt, um s(n) Zellen zu markieren.
Das folgende Ergebnis verallgemeinert die Zeit-Hierarchie von Satz 1.4. Beachte, dass das
Ergebnis schärfer ist: Eine „klitze-klein wenig“ mehr Speicher bedeutet mehr Berechnungskraft.
Satz 1.5 (Das Speicherplatz-Hierarchie Theorem)
Die Funktion s sei platz-konstruierbar. Dann ist DSPACE(o(s)) eine echte Teilmenge von
DSPACE(s).
Beweis: Für eine platz-konstruierbare Funktion s konstruieren wir die folgende I-O Turingmaschine M ∗ .
Algorithmus 1.3 Die Diagonalisierungsmethode
(1) M ∗ bestimmt die Länge n der Eingabe w.
(2) M ∗ steckt auf dem Arbeitsband 2s(n) Zellen ab.
/* Dies ist mit Speicherplatz O(s(n)) möglich, da s platz-konstruierbar ist.
*/
(3) Wenn w nicht von der Form hM i0k für eine I-O Turingmaschine M und eine Zahl
k ∈ N ist, dann verwirft M ∗ .
/* hM i bezeichnet die Gödelnummer der Turingmaschine M .
*/
1.7. LITERATUR
35
(4) M ∗ simuliert M auf Eingabe w = hM i0k und beginnt die Simulation mit dem Kopf
in der Mitte des abgesteckten Bereichs. M ∗ verwirft, wenn M irgendwann den abgesteckten Bereich verlässt oder mehr als 2s(n) Schritte benötigt.
/* Kann M ∗ auf Speicherplatz s(n) gleichzeitig einen bis 2s(n) − 1 zählenden Zähler
implementieren und eine s(n) platzbeschränkte Berechnung von M simulieren? Ja,
das ist bei einem entsprechend vergrößerten Arbeitsalphabet unproblematisch.
*/
(5) M ∗ akzeptiert w, wenn M verwirft. Ansonsten akzeptiert M und M ∗ wird verwerfen.
Wir beachten zuerst, dass M ∗ immer hält und mit Speicherplatzbedarf O(s(n)) auskommt.
Also ist L(M ∗ ) ∈ DSPACE(s).
Warum liegt L(M ∗ ) nicht in Dspace(r) für eine Funktion r = o(s)? Ist dies der Fall, dann
wird L(M ∗ ) von einer I-O Turingmaschine M mit Speicherplatzbedarf r erkannt. Für
hinreichend große Eingabelänge n rechnet M stets in Zeit höchstens 2s und M ∗ simuliert
M für Eingaben w = hM ∗ i0k mit hinreichend großem k erfolgreich. Jetzt garantiert Schritt
(5), dass sich L(M ) und L(M ∗ ) unterscheiden: Speicherplatz r = o(s) ist unzureichend für
die Berechnung von L(M ∗ ).
Aufgabe 19
Zeige das Platz-Hierarchie Theorem für nichtdeterministische Turingmaschinen: NSPACE(s)
ist eine echte Teilmenge von NSPACE(S), falls s = o(S) und falls S platz-konstruierbar ist.
1.7
Literatur
Die folgenden Textbücher widmen sich den Themen der Veranstaltung.
(1) S. Arora und B. Barak, Computational Complexity, a Modern Approach, Cambridge
University Press, 2009.
(2) M. Sipser, Introduction to the Theory of Computation, Paperback 3rd edition, Cengage Learning, 2012.
(3) O. Goldreich, Computational Complexity: A Conceptual Perspective, Cambridge
University Press, 2008.
Die folgenden Blogs beschäftigen sich mit Themen der Komplexitätstheorie.
(1) Lance Fortnow und Bill Gasarch, Computational Complexity Blog,
http://blog.computationalcomplexity.org/
(2) The blog of Scott Aaronson, http://www.scottaaronson.com/blog/
(3) R.J. Lipton, Goedel’s lost letter and P = NP,
http://rjlipton.wordpress.com/
36
KAPITEL 1. EINLEITUNG
Bitte melden Sie uns Fehler im Skript oder in den Folien. Danke!
Email: [email protected] (Bert Besser), [email protected] (Georg
Schnitger)
Teil I
Komplexitätsklassen
37
Kapitel 2
Die Komplexität des automatischen
Beweisens∗
KNF-SAT, das Erfüllbarkeitsproblem für aussagenlogische Formeln in konjunktiver Normalform, ist NP-vollständig. Es gibt jedoch recht gute Algorithmen wie etwa den Davis–Putnam–Logemann–Loveland (DPLL) Algorithmus, der für in der Praxis auftretende
KNF-Formeln sehr gute Erfolge erzielt, bei zufällig erzeugten Formeln aber eher schwach
abschneidet.
Wir haben QBF, die Klasse der wahren quantifizierten Booleschen Formeln in konjunktiver
Normalform, kennengelernt. Das PSPACE-vollständige QBF ist weitaus schwieriger als KNFSAT und Heuristiken, die einen ähnlichen Erfolg wie der DPLL-Algorithmus für KNF-SAT
erreichen, sind nicht bekannt.
Allerdings können quantifzierte Boolesche Formeln φ mit n Variablen in Zeit O(|φ|2n )
auf Wahrheit getestet werden, wenn man systematisch alle Belegungen untersucht. (|φ|
bezeichnet die Anzahl der aussagenlogischen Operatoren von φ und „steht für die Größe“
der Formel φ.) Das Problem des automatischen Beweisens von Formeln der Prädikatenlogik
der ersten Stufe ist da ein ganz anderes Kaliber wie wir in Kürze an den Beispielen der
Presburger-Arithmetik und der Peano-Arithmetik sehen werden.
Zuerst zu den Begriffsbildungen. Eine offene Formel der Prädikatenlogik der ersten Stufe
besteht aus der aussagenlogischen Verknüpfung von Prädikaten, wobei Funktionssymbole
und Symbole für Konstanten in die Prädikate eingesetzt werden dürfen. In einer (geschlossenen) Formel binden Existenz- und All-Quantoren die Variablen einer offenen Formel,
wobei die Quantoren auch innerhalb der offenen Formel auftreten dürfen.
In der Presburger-Arithmetik werden die Konstante 0, die Prädikate x = y, x + y = z und
x < y sowie das Funktionssymbol S (für Successor) benutzt. Die Axiome der PresburgerAxiome lauten:
(P 1) S(x) 6= 0, (P 2) S(x) = S(y) → x = y,
(P 3) x + 0 = x, (P 4) x + S(y) = S(x + y),
(P 5) ¬(x < 0), (P 6) x < S(y) ↔ x < y ∨ x = y,
39
40
KAPITEL 2. DIE KOMPLEXITÄT DES AUTOMATISCHEN BEWEISENS∗
(P 7) x < y ∨ x = y ∨ y < x,
Weiterhin wird das Induktionsaxiom
φ(0) ∧ ∀x(φ(x) → φ(S(x))) → φ
für jede Formel φ gefordert.
Definition 2.1 PR-A ist die Menge aller Formeln, die aus den Axiomen der PresburgerArithmetik ableitbar sind.
Wenn wir auch das Prädikat x · y = z zulassen, erhalten wir alle Formeln der PeanoArithmetik. Die Axiome der Peano-Arithmetik bestehen aus den Axiomen der PresburgerArithmetik und zusätzlich aus den beiden Axiomen
(P 8) x · 0 = 0, (P 9) x · S(y) = (x · y) + x.
Definition 2.2 PE-A ist die Menge aller Formeln, die aus den Axiomen der PeanoArithmetik ableitbar sind.
2.1
Gödels Unvollständigkeitssatz
Offensichtlich sind alle Aussagen der Peano-Arithmetik für die natürlichen Zahlen wahr.
Aber ist die Peano-Arithmetik überhaupt mächtig genug, um alle für die natürlichen Zahlen
wahren Aussagen zu enthalten?
Satz 2.1 Unvollständigkeitssatz von Gödel.
Jede rekursiv aufzählbare Axiomatisierung der Zahlentheorie besitzt wahre, aber nicht beweisbare Aussagen.
Also ist nicht nur das Ableiten oder Beweisen ableitbarer Aussagen schwierig, sondern wir
stoßen auf ein viel fundamentaleres Problem: ein Formalismus kann eine komplexe Realität
nicht exakt widerspiegeln!
Mit dem folgenden Lemma gelingt ein einfacher Beweis des Unvollständigkeitssatzes.
Lemma 2.1 Sei M eine Turingmaschine und sei w ∈ {0, 1}∗ eine Zeichenkette. Dann
kann man eine Formel φM,w der Peano-Arithmetik konstruieren, so dass
M akzeptiert w ⇔ φM,w ist wahr.
Die Konstruktion von φM,w gelingt mit einer stets haltenden Turingmaschine in polynomieller Zeit (in der Länge von w).
2.1. GÖDELS UNVOLLSTÄNDIGKEITSSATZ
41
Beweis des Gödelschen Unvollständigkeitssatzes. Angenommen, es gibt eine Axiomatisierung A der Zahlentheorie mit der jede wahre Aussage auch beweisbar ist. Sei L
eine beliebige rekursiv aufzählbare Sprache, die von der Turingmaschine M akzeptiert
werde. Mit Lemma 2.1 können wir für jede Zeichenkette w eine Aussage φM,w der PeanoArithmetik bestimmen, so dass
w ∈ L ⇔ φM,w ist wahr.
Wenn Wahrheit und Beweisbarkeit (bzgl. der Axiomatisierung A) übereinstimmen, folgt
also
w ∈ L ⇔ φM,w ist aus A ableitbar
und ebenso natürlich
w 6∈ L ⇔ ¬ϕM,w ist wahr.
⇔ (¬φM,w ) ist aus A ableitbar.
Also ist
L = {w | ϕM,w ist aus A ableitbar} und L̄ = {w | (¬ϕM,w ) ist aus A ableitbar}
und damit ist L wie auch L̄ rekursiv aufzählbar, denn die Axiomatisierung A ist rekursiv
aufzählbar. Also ist für jede rekursiv aufzählbare Sprache L auch ihr Komplement rekursiv
aufzählbar und damit ist jede rekursiv aufzählbare Sprache auch rekursiv. Und dies ist
offensichtlich unmöglich.
Beweisskizze von Lemma 2.1: Sei M eine deterministische Turingmaschine und sei w
eine beliebige Eingabe der Länge n. Wir beschreiben die Berechnung von M auf Eingabe
w durch eine Folge von Konfigurationen. Die Konfiguration Kt zum Zeitpunkt t besteht
aus der Position des Kopfes zum Zeitpunkt t, dem gegenwärtigen Zustand und dem Inhalt
des Bands.
Wir möchten Konfigurationen und Konfigurationenfolgen durch natürliche Zahlen kodieren. Dazu genügt es offensichtlich, Worte über einem Alphabet durch natürliche Zahlen zu
kodieren, denn eine Konfiguration K können wir darstellen durch das Wort
K = γ1 · · · γi · q · γi+1 · · · γm ,
wobei die γj dem Arbeitsalphabet angehören und q ein Zustand ist; den Zustand q haben
wir vor der gegenwärtig besuchten Zelle eingefügt. Ein Wort u = u1 · · · uk über einem
Alphabet Σ lässt sich aber gemäss
code(u) =
k
X
code(ui ) · (|Σ| + 1)i−1
i=1
durch eine natürliche Zahl der Grösse 2O(k) kodieren. (Wenn Σ = {σ1 , . . . , σr }, dann setzen
wir code(σi ) = i.) Natürlich müssen wir mit Formeln der Peano-Arithmetik die Kodierung von Worten (bzw. die Kodierung von Konfigurationen und Konfigurationenfolgen)
beschreiben. Hier hilft:
42
KAPITEL 2. DIE KOMPLEXITÄT DES AUTOMATISCHEN BEWEISENS∗
Behauptung 2.1 Sei M eine Turingmaschine. Es gibt Formeln φi der Peano-Arithmetik,
so dass
(1) φ1 (l) genau dann wahr ist, wenn die Zahl l eine Konfiguration von M kodiert,
(2) φ2 (l1 , l2 ) genau dann wahr ist, wenn die Zahlen l1 und l2 aufeinanderfolgende Konfigurationen von M kodieren,
(3) φ3 (l) genau dann wahr ist, wenn die Zahl l eine Folge (beliebiger Länge) von aufeinanderfolgenden Konfigurationen von M kodiert,
(4) φ4 (l, l1 , l2 , l3 ) genau dann wahr ist, wenn l eine Folge kodiert, die die Konkatenation
der von l1 , l2 und l3 kodierten Folgen ist,
(5) φ5 (l, l1 , l2 ) genau dann wahr ist, wenn l eine Folge von aufeinanderfolgenden Konfigurationen von M ist und wenn l die Konfiguration l1 als erste und die Konfiguration
l2 als letzte Konfiguration besitzt.
Beweis (1)-(4): sind als Übungsaufgaben gestellt. Schließlich ist
φ5 (l, l1 , l2 ) ↔ φ3 (l) ∧ φ1 (l1 ) ∧ φ1 (l2 ) ∧ ∃ l3 ( φ3 (l3 ) ∧ φ4 (l, l1 , l3 , l2 ) )
und damit ist (5) gezeigt.
Aufgabe 20
Gib jeweils Formeln der Peano-Arithmetik an.
(a) φa (x, y): y ist ein Teiler von x.
(b) φb (x): x ist eine Potenz der festen Primzahl p.
(c) φc (z): z kodiert ein Wort.
P
Dabei sollen Worte w über einem Alphabet Σ = {1, . . . , p − 1} durch die Zahl i wi pi
kodiert werden (p sei eine Primzahl, auch das leere Wort ist erlaubt).
(d) φd (z, y): z kodiert ein Wort w und w enthält den Buchstaben y nicht.
Aufgabe 21
Gib jeweils Formeln der Peano-Arithmetik an.
(a) φe (x, y, z): x, y, z kodieren Worte w, w1 , w2 und w ist die Konkatenation von w1 und
w2 .
(b) φ1 (x): x kodiert eine Konfiguration einer 1-Band Turingmaschine. Dabei ist eine Konfiguration gegeben durch die Konkatenation von drei Worten w1 , w2 , w3 , wobei w1 der Inhalt
der linken Bandhälfte, w2 der Zustand, w3 der Inhalt der rechten Bandhälfte ist.
(c) φf (x): x kodiert eine Folge von Konfigurationen, d.h. ein Wort, dass aus durch ein
spezielles Symbol getrennten Konfigurationen besteht (die Übergangsfunktion muss dabei
nicht beachtet werden).
2.2. DIE KOMPLEXITÄT DER PRESBURGER-ARITHMETIK
43
Offensichtlich können wir annehmen, dass M genau dann hält, wenn der Zustand q1 erreicht
wird. Somit akzeptiert M genau dann die Eingabe w, wenn
∃ l (l kodiert eine Folge aufeinanderfolgender Konfigurationen von M
∧ die erste Konfiguration von l ist ein Wort der Form q0 · w
∧ die letzte Konfiguration von l ist ein Wort aus q1 · 1).
Zur Formalisierung benutzen wir natürlich die Formel φ5 . Die zusätzlichen Forderungen an
die erste und letzte Konfiguration sind einfach zu beschreiben (wie?).
Lemma 2.1 ist damit gezeigt.
2.2
Die Komplexität der Presburger-Arithmetik
Wir führen die gruselige Komplexitätsklasse E aller in Exponentialzeit lösbaren Entscheidungsprobleme ein.
Definition 2.3 E =
scheidungsprobleme.
S
k∈N
DTIME(2kn ) ist die Klasse aller in Exponentialzeit lösbaren Ent-
Analog zur Definition N P -harter Sprachen definieren wir E-harte Sprachen mit Hilfe der
polynomiellen Reduktion.
Definition 2.4 Eine Sprache L heißt hart für E genau dann, wenn K ≤P L für jede
Sprache K ∈ E gilt.
Beachte, dass eine Sprache L, die hart für E ist, nicht in P liegt. Warum? Sonst liegt jede
Sprache K ∈ E ebenfalls in P, denn K ist polynomiell auf L reduzierbar. Also folgt, dass
E in P enthalten ist, ein Verstoß gegen die Zeithierarchie aus Kapitel 6.
Satz 2.2 Die Presburger-Arithmetik PR-A ist hart für E. Insbesondere gibt es keine Turingmaschine, die genau die wahren Formeln von PR-A in polynomieller Zeit erkennt.
Beweis: Sei M eine deterministische Turingmaschine, die stets nach T = 2α·n Schritten
hält. In Lemma 2.1 haben wir eine Formel φM,w der Peano-Arithmetik konstruiert, so dass
φM,w genau dann wahr ist, wenn M die Eingabe w akzeptiert. Leider ist φM,w eine Formel
der Peano-Arithmetik und enthält damit das Prädikat für die Multiplikation.
Wir beachten aber, dass wir die Existenz- und Allquantoren von φM,w durch die beschränk2
2
ten Quantoren ∃x ≤ 2O(T ) und ∀x ≤ 2O(T ) ersetzen können. Warum? Die Variablen der
Formel kodieren die Konfigurationen bzw. die Konfigurationenfolgen von M und eine Konfiguration K von M wird durch eine natürliche Zahl cK ≤ 2O(T ) kodiert; eine Folge von T
2
Konfigurationen wird damit durch eine Zahl der Größe höchstens (2O(T ) )T = 2O(T ) kodiert.
44
KAPITEL 2. DIE KOMPLEXITÄT DES AUTOMATISCHEN BEWEISENS∗
Behauptung 2.2 Die Formel
mn (a, b, c) ≡ (a · b = c ∧ a ≤ pn )
n
kann für ein (bestimmtes) pn ≥ 22 durch eine Formel m∗n (a, b, c) der Presburger-Arithmetik
ausgedrückt werden. m∗n (a, b, c) besitzt lineare Länge in n und kann in polynomieller Zeit
bestimmt werden.
Satz 2.2 folgt aus der Behauptung, da wir eine Formel φ∗M,w der Presburger-Arithmetik in
polynomieller Zeit (in der Länge von w) konstruieren können, so dass φ∗M,w genau dann
wahr ist, wenn M die Eingabe w akzeptiert.
Beweis von Behauptung 2.2: Wir definieren die Formeln m∗n durch Induktion über n.
0
Für n = 0 setzen wir p0 = 22 = 2 und definieren
m∗0 (a, b, c) ≡ ((a = 0 ∧ c = 0) ∨ (a = S(0) ∧ c = b) ∨ (a = S(S(0)) ∧ c = b + b)).
Wir können jetzt annehmen, dass m∗n bereits definiert ist. Beachte zuerst, dass
a · b = c ⇔ ∃a1 ∃a2 ∃a3 ∃a4 (((a1 · a2 + a3 + a4 ) · b = c) ∧ (a1 · a2 + a3 + a4 = a)).
√
Die zentrale Idee ist, dass wir a1 , a2 , a3 , a4 ≤ b ac annehmen
können. (Warum? Wenn
√
2
a = b − c für 1 ≤ c < 2b − 1, dann wähle a1 = a2 = b ac = b − 1 und b2 − 2b + 1 ≤
a1 · a2 + a3 + a4 ≤ b2 − 1 folgt.) Wir müssen also statt der einen Multiplikation a · b = c
großer Zahlen die Multiplikationen a1 · a2 · b, a3 · b, a4 · b und a1 · a2 für kleinere Zahlen
durchführen.
Schließlich brechen wir die Dreier-Multiplikation a1 · a2 · b in Zweier-Multiplikationen auf,
nämlich
a1 · a2 · b = c1 ⇔ ∃c2 (a1 · c2 = c1 ∧ a2 · b = c2 ).
Insgesamt haben wir also erhalten, dass
a · b = c ⇔ ∃ a1 , a2 , a3 , a4 , c1 , c2 , c3 , c4 , d (c1 + c3 + c4 = c ∧ d + a3 + a4 = a
∧ (a1 · c2 = c1 ∧ a2 · b = c2 ) ∧ a3 · b = c3 ∧ a4 · b = c4 ∧ a1 · a2 = d).
√
Wir wählen pn+1 so, dass b pn+1 c = pn . Beachte, dass damit die Rekursion p0 = 2, pn+1 ≥
n
p2n folgt und die Ungleichung pn ≥ 22 ist erzwungen.
Wenn wir jetzt allerdings die aufgeführten Multiplikationen durch die Formeln m∗n ersetzen,
dann erhalten wir die Längenrekursion
L(n + 1) = 5 · L(n) + O(1)
und damit leider auch eine exponentielle Länge in n. Wir benutzen universelle Quantoren,
um die Länge drastisch zu reduzieren. Wir setzen
m∗n+1 (a, b, c) :≡ ∃ a1 , a2 , a3 , a4 , c1 , c2 , c3 , c4 , d ∀ e, f, g
(c1 + c3 + c4 = c ∧ d + a3 + a4 = a) ∧ [((e = a1 ∧ f = c2 ∧ g = c1 )
∨ (e = a2 ∧ f = b ∧ g = c2 ) ∨ (e = a3 ∧ f = b ∧ g = c3 )
∨ (e = a4 ∧ f = b ∧ g = c4 ) ∨ (e = a1 ∧ f = a2 ∧ g = d))
→ m∗n (e, f, g)].
45
2.3. ZUSAMMENFASSUNG
Offensichtlich hat m∗n damit eine lineare Länge und m∗n kann in polynomieller Zeit konstruiert werden.
Bemerkung 2.1 Tatsächlich ist die Situation sogar noch schlimmer als in Satz 2.2 beq·n
schrieben, denn PR-A ist sogar hart für NTIME(22 ) für eine positive rationale Zahl q.
(Zur Definition des Begriffs harter Sprachen wird auch hier die polynomielle Reduktion
benutzt.) Als „positives“ Ergebnis ist nur die Inklusion
PR-A ∈ DTIME(22
2c·n
)
für eine positive Konstante c bekannt. Die Komplexität der Presburger-Arithmetik ist also
„irgendwo“ zwischen doppelt und dreifach exponentieller Laufzeit anzusiedeln anzusiedeln.
2.3
Zusammenfassung
Probleme außerhalb der Klasse E lassen sich nur für sehr kleine Eingabegrößen lösen und
man kann deshalb solche Probleme getrost als praktisch unentscheidbar bezeichnen. Wir
haben mit der Presburger-Arithmetik eine der einfachsten Theorien der Prädikatenlogik
der ersten Stufe betrachtet und festgestellt, dass die ableitbaren Formeln hart für E sind.
Dieses Ergebnis lässt sich sogar verschärfen und die Presburger-Arithmetik ist ein ein erstes
Beispiel eines entscheidbaren, aber praktisch unentscheidbaren Problems.
Schließlich haben wir den Unvollständigkeitssatz von Gödel kennengelernt: Komplexe Welten lassen sich nicht formalisieren!
46
KAPITEL 2. DIE KOMPLEXITÄT DES AUTOMATISCHEN BEWEISENS∗
Kapitel 3
Speicherplatz-Komplexität
Das Ziel dieses Kapitels ist die Bestimmung der Speicherplatz-Komplexität, also die Bestimmung des für die Lösung eines algorithmischen Problems notwendigen und hinreichenden Speicherplatzes.
Warum sollte uns eine Untersuchung der Ressource „Speicherplatz“ interessieren? Es stellt
sich heraus, dass die Speicherplatzkomplexität hilft, die Komplexität der Berechnung von
Gewinnstrategien für viele nicht-triviale 2-Personen Spiele zu charakterisiere. Weitere algorithmische Probleme, deren Komplexität wir mit Hilfe der Speicherplatzkomplexität klären
werden, sind:
(a) Akzeptiert ein nichtdeterministischer endlicher Automat eine gegebene Eingabe?
(b) Sind zwei nichtdeterministische endliche Automaten äquivalent?
(c) Minimiere einen NFA.
Des weiteren lassen sich „nicht-klassischen“ Berechnungsarten wie die Randomisierung oder
Quantenberechnungen durch konventionelle deterministische Rechner simulieren, falls wir
polynomiellen Speicherplatz erlauben. Im nächsten Kapitel werden wir zudem eine enge
Verbindung zwischen der Speicherplatz-Komplexität eines Problems und seiner parallelen
Rechenzeit feststellen.
Für die Definition der wichtigsten Speicherplatz-Komplexitätsklassen siehe Abschnitt 1.5.2.
3.1
Sub-Logarithmischer Speicherplatz
Was ist die Speicherplatzkomplexität regulärer Sprachen? Eine reguläre Sprache L werde durch einen endlichen Automaten A akzeptiert. Wir fassen A als eine I-O Turingmaschine auf, die wie A programmiert wird. Zusätzlich erzwingen wir, dass das Symbol 1
(bzw) 0) auf das Ausgabeband gedruckt wird, wenn sich A vor dem Lesen des rechten
Begrenzungssymbol in einem akzeptierenden (bzw. verwerfenden) Zustand befindet. Die
I-O Turingmaschine benötigt das Arbeitsband nicht und L ∈ Dspace(0) folgt.
47
48
KAPITEL 3. SPEICHERPLATZ-KOMPLEXITÄT
Überraschenderweise führt sehr(!) geringer Speicherplatz im Vergleich zu leerem Speicher
nicht zu größerer Berechnungskraft wie das nächste Ergebnis zeigt.
Satz 3.1 (Sprachen mit sehr geringem Speicherplatzbedarf sind regulär)
Die I-O Turingmaschine M akzeptiere L mit Speicherplatzbedarf sM = o(log2 log2 n). Dann
ist L regulär. Insbesondere folgt für jede Funktion s : N → N mit s = o(log2 log2 n), dass
Dspace(s) = Dspace(0) = die Klasse der regulären Sprachen.
Beweisskizze: Wir beschränken uns auf die Untersuchung von I-O Turingmaschine M mit
konstantem Speicherplatzbedarf. Da der Speicherplatzbedarf nicht von der Eingabelänge
abhängt, können wir die möglichen Speicherinhalte als Zustände in die Programmierung
einer äquivalenten I-O Turingmaschine M 0 aufnehmen, wobei M 0 keinerlei Speicherbedarf
hat. Damit ist M 0 aber nichts anderes als ein deterministischer Zwei-Weg Automat, also
„ein endlicher Automat, der die Eingabe in jeder Richtung lesen darf“.
Ein Zwei-Weg Automat Z lässt sich aber durch einen NFA N mit ε-Übergängen simulieren. Dazu beachten wir zuerst, dass sich der Automat Z in einer Endlos-Schleife befindet
(und damit nicht hält), wenn derselbe Zustand zweimal über derselben Eingabeposition
angenommen wird. Q sei die Zustandsmenge von Z und es gelte |Q| = q. Wir wählen
Q0 =
q
[
Σ × (Q × {links, rechts})k
k=1
als Zustandsmenge von N . Wenn N den Zustand (a, q1 , richtung1 , . . . , qr , richtungr ) annimmt, dann spekuliert N , dass
(a) dass a der Inhalt der gegenwärtig besuchten Zelle ist,
(b) Z den Zustand qi beim iten Besuch der Zelle annimmt,
(c) und dass der ite Besuch von der linken Nachbarzelle (richtungi = links), bzw. der
rechten Nachbarzelle (richtungi = rechts) erfolgt.
Wir erlauben einen Zustandsübergang
N
(a, q1 , r1 , . . . , qs , rs ) → (b, q10 , r10 , . . . , qt0 , rt0 )
bei gelesenem Buchstaben a, wenn
(a) N die Vektoren ~q und ~r unter der Annahme verifizieren kann, dass die Vektoren q~0
und r~0 richtig geraten wurden und wenn
(b) für alle i mit „ri0 = links“ der Zustand qi0 richtig geraten wurde.
N wird nur dann akzeptieren, wenn „ri = links“ für alle i und wenn der finale Zustand
akzeptierend ist.
M 0 (und damit auch M ) akzeptiert somit eine reguläre Sprache.
3.2. LOGARITHMISCHER SPEICHERPLATZ
49
Beispiel 3.1 Dspace(log2 log2 n) enthält auch nicht-reguläre Sprachen. Es sei bin(i) die
Binärdarstellung der Zahl i ohne führende Nullen. Wir wählen Σ = {0, 1, $} als Eingabealphabet und definieren die Sprache
BIN = {bin(1)$bin(2)$ · · · $bin(n) | n ∈ N}.
Man überzeugt sich leicht mit dem Pumping Lemma, dass BIN nicht regulär ist. Es bleibt
zu zeigen, dass BIN ∈ Dspace(log2 log2 n). Das ist aber klar(?), da bin(i) für jedes i ≤ n
aus höchstens dlog2 ne Bits besteht.
Insbesondere haben wir für die Sprache BIN das seltene Glück, die genaue Speicherkomplexität angeben zu können. Denn da BIN nicht regulär ist, folgt BIN 6∈ Dspace(s), falls
s = o(log2 n log2 n). Andererseits haben wir gerade BIN ∈ Dspace(log2 log2 n) nachgewiesen.
Die sublogarithmischen Speicher-Komplexitätsklassen sind aber recht mickrig und erst DL,
also die logarithmische Speicherplatz-Komplexität, wird eine vernünftige Berechnungskraft
besitzen.
3.2
Logarithmischer Speicherplatz
DL und NL gehören zu den wichtigsten Speicherplatz-Klassen.
- Die Berechnungskraft ist durchaus signifikant, da die Maschinen sich jetzt Positionen
in der Eingabe merken können.
- Viele Eigenschaften, die für DL und NL gelten, verallgemeinern sich auf beliebige
Speicherplatzklassen. Dieses Phänomen werden wir im Satz von Savitch und im Satz
von Immerman-Szlepscenyi beobachten.
Wir beginnen mit deterministisch logarithmischem Platz.
3.2.1
DL
Sei PALINDROM die Sprache aller Palindrome über dem Alphabet {0, 1}. Wir behaupten,
dass sich PALINDROM mit logarithmischem Speicherplatz berechnen lässt.
Wir konstruieren eine I-O Turingmaschine, die zuerst die Eingabelänge n in Binärdarstellung abspeichert. Dies gelingt, indem ein Anfangs auf 0 gesetzter binärer Längen-Zähler
sukzessive inkrementiert wird bis der Eingabekopf das Ende der Eingabe erreicht hat. Sodann werden nacheinander die Bitpositionen 1 und n, 2 und n − 1, . . . , k und n − k ...
verglichen, indem der Eingabekopf jeweils um n − 1 Positionen nach rechts, dann um n − 2
Positionen nach links, um n − 3 Positionen nach rechts, ... bewegt wird.
Zur Ausführung dieser Kopfbewegungen wird eine Kopie des Längen-Zählers angelegt und
der Längen-Zähler wie auch die Kopie um Eins (auf n − 1) vermindert. Die ersten Kopfbewegungen um n − 1 Positionen nach rechts gelingen durch das Herunterzählen der Kopie.
50
KAPITEL 3. SPEICHERPLATZ-KOMPLEXITÄT
Nachdem das Ziel erreicht ist, wird der Längenzähler um Eins reduziert und der neue Inhalt in die Kopie geladen. Die nächsten n − 2 Kopfbewegungen nach links, wie auch alle
nachfolgenden Kopfbewegungen, werden dann mit demselben Verfahren gesteuert.
Die Klasse DL ist die erste nicht-triviale Speicherkomplexitätsklasse und enthält neben der
Palindrom-Sprache weitere wichtige Sprachen wie die Dyck-Sprache aller wohlgeformten
Klammerausdrücke oder die kontextsensitive Sprache {an bn cn | n ∈ N}.
Aufgabe 22
{w ∈ {(, )}∗ |w ist ein korrekter Klammerausdruck} ist die „Klammersprache“ . Dabei ist
ein korrekter Klammerausdruck entweder
1. () oder
2. (A) für einen korrekten Klammerausdruck A oder
3. AB für korrekte Klammerausdrücke A, B.
Zeige, dass man die Klammersprache in DL entscheiden kann.
Wir können mit Hilfe des Konzepts der Konfiguration die Speicherplatzkomplexität der
Palindrom-Sprache exakt bestimmen. (Zur Erinnerung: Die Konfiguration kt zum Zeitpunkt t besteht aus der Position des Lesekopfs zum Zeitpunkt t, dem gegenwärtigen Zustand, der Position des Kopfs auf dem Arbeitsband und dem Inhalt des Arbeitsbands.) Es
stellt sich heraus, dass logarithmische Speicherkomplexität nicht nur hinreichend, sondern
auch notwendig ist. Dies bestätigt die Intuition, dass nicht-triviale Algorithmen zumindest
die Fähigkeit haben sollten, sich an eine Eingabeposition erinnern zu können; beachte, dass
diese Fähigkeit logarithmischen Speicherplatz voraussetzt.
Lemma 3.1 Es ist PALINDROM ∈ DL. Andererseits ist PALINDROM 6∈ Dspace(s), falls
s = o(log2 n).
Beweis: Sei M eine I-O Turingmaschine mit Speicherplatzbedarf s(n), die die PalindromSprache erkenne. M besitze q Zustände und ein Arbeitsalphabet der Größe γ. Die Eingabelänge sei gerade.
Behauptung 1: M wird die Eingabe-Position
n
Ω( s(n)
) mal besuchen.
n
2
für mindestens eine Eingabe mindestens
Bevor wir die Behauptung beweisen, zeigen wir, dass das Lemma aus der Behauptung folgt.
Wir nehmen an, dass M den Speicherplatzbedarf s(n) = o(log2 n) hat. Für jede Eingabe
wird M dann, bei hinreichend großer Eingabelänge n, höchstens
√
q · s(n) · γ s(n) = o( n)
Konfigurationen besitzen, für die der Lesekopf die Eingabeposition n2 besucht. Aber Position n2 kann nur einmal in einer vorgegebenen Konfiguration besucht werden, da ein zweiter
Besuch in derselben Konfiguration zu einer Endlos-Schleife
√ führt. Die Behauptung fordert
n
aber eine Besuchshäufigkeit von mindestens Ω( s(n) ) >> n und wir haben einen Widerspruch zur Annahme s(n) = o(log2 n) erhalten.
51
3.2. LOGARITHMISCHER SPEICHERPLATZ
Beweis von Behauptung 1: Wir weisen einer Eingabe w die Folge der Konfigurationen
beim Besuch der Eingabe-Position n2 zu. Wenn die Behauptung falsch ist, dann wird n2
n
höchstens o( s(n)
) mal besucht. Insgesamt gibt es aber mit (3.1) höchstens
n
n
(q · γ s(n) · s(n))o( s(n) ) = 2O(s(n))·o( s(n) ) = 2o(n)
Konfigurationenfolgen, wenn wir die Position des Lesekopfes fixieren. Es gibt aber 2n/2
Palindrome der Länge n und deshalb gibt es zwei verschiedene Palindrome u, v der Länge
n mit identischer Konfigurationenfolge auf Position n2 .
Behauptung 2: Fooling Argument
Die Eingaben u, v mögen beide die Konfigurationenfolge k besitzen. Wenn u = (u1 , u2 )
und v = (v1 , v2 ) mit |u1 | = |v1 | = n/2, dann besitzt auch die Eingabe w = (u1 , v2 ) die
Konfigurationenfolge k.
Aufgabe 23
Zeige Behauptung 2.
Behauptung 1 ist jetzt eine unmittelbare Konsequenz von Behauptung 2, da M für Palindrome u und v auch die Eingabe w akzeptiert, obwohl w kein Palindrom ist.
Aufgabe 24
Die Palindrom-Sprache soll erkannt werden. Gib I-O-Maschinen an, die P ALIN DROM
(a) in Zeit O(n) erkennen.
(b) in Zeit O(n2 / log n) mit Platz O(log n) erkennen.
Aufgabe 25
Zeige, dass O(s) platzbeschränkten I-O-Turingmaschinen Zeit Ω(n2 /s) für das Erkennen
der Palindrom-Sprache benötigen.
Hinweis: Betrachte Worte der Form w#n wR der Länge 3n (mit w ∈ {0, 1}n ) und die Konfigurationenfolgen auf den Eingabepositionen i ∈ {n + 1, . . . , 2n}. Zeige, dass sich für alle
Eingaben w#n wR und v#n v R (mit w 6= v) auf Position i verschiedene Konfigurationsfolgen
ergeben müssen. Daher muss es auf Position i mindestens 2n verschiedene Konfigurationsfolgen geben und die meisten davon müssen lang sein. Schließe davon auf hohe Rechenzeit
für die meisten Eingaben.
Wie mächtig ist DL?
Satz 3.2 (Speicherplatz und Laufzeit)
(a) Sei M eine I-O Turingmaschine, die mit Speicherplatzbedarf s arbeite. Dann ist die
Laufzeit von M für Eingaben der Länge n durch n · 2O(s(n)) beschränkt.
(b) Es gelte s(n) ≥ log2 n. Dann ist Dspace(s) ⊆
DL ⊆ P.
S
k∈N
DTIME(2k·s ). Als Konsequenz folgt
52
KAPITEL 3. SPEICHERPLATZ-KOMPLEXITÄT
Beweis (a): Sei M eine I-O Turingmaschine mit Speicherplatzbedarf s und sei w eine
beliebige Eingabe der Länge n. Wir beschreiben die Berechnung von M auf Eingabe w
durch eine Folge von Konfigurationen. Die Konfiguration kt zum Zeitpunkt t besteht aus
der Position des Lesekopfs zum Zeitpunkt t, dem gegenwärtigen Zustand, der Position des
Kopfs auf dem Arbeitsband und dem Inhalt des Arbeitsbands.
Wir kommen zur wesentlichen Beobachtung: M wird für keine Eingabe eine Konfiguration
zweimal annehmen! Wäre dies nämlich der Fall, dann wird M in eine Endlos-Schleife gezwungen und hält nicht. Also ist die Laufzeit von M durch die Anzahl der Konfigurationen
beschränkt. Wir nehmen an, dass M q Zustände und ein Arbeitsalphabet der Größe γ
besitzt. Damit ist die Anzahl der Konfigurationen durch
n · q · s(n) · γ s(n) = n · q · s(n) · 2s(n)·log2 γ
nach oben beschränkt und, da s(n) ≤ 2s(n) , erhalten wir
n · q · s(n) · 2s(n)·log2 γ = n · 2O(s(n)) .
(3.1)
Die Laufzeit ist natürlich durch die Anzahl der Konfigurationen beschränkt und die Behauptung folgt.
(b) ist eine direkte Konsequenz von Teil (a), denn wir nehmen s(n) ≥ log2 n an und
n · 2O(s(n)) ≤ 2O(s(n)) folgt.
Wir definieren die Sprache U-REACHABILITY als die Menge aller ungerichteten Graphen
G, die einen Weg von Knoten 1 nach Knoten 2 besitzen. Der Graph G werde durch seine
Adjazenzmatrix repräsentiert. Analog sei die Sprache D-REACHABILITY definiert, wobei
wir diesmal allerdings gerichtete Graphen betrachten.
Erst in 2004 konnte durch Omer Reingold gezeigt werden, dass U-REACHABILITY in DL
liegt. Die Methode des Random Walks erlaubt eine mehr oder minder offensichtliche Lösung von U-REACHABILITY mit logarithmischem Speicherplatzbedarf, wenn wir zufällig
arbeiten dürfen. Die von Reingold erhaltene Lösung für deterministische Turingmaschinen
ist wesentlich komplizierter.
Offensichtlich ist D-REACHABILITY das schwierigere der beiden Probleme: Wir werden
später starke Indizien erhalten, dass jede deterministische Turingmaschine mindestens die
Speicherkomplexität Ω(log22 n) für die Lösung von D-REACHABILITY benötigt.
Wir erhalten aber eine Lösung von D-REACHABILITY mit logarithmischem Speicherplatzbedarf, wenn wir nichtdeterministische Turingmaschinen betrachten: Eine nichtdeterministische I-O Turingmaschine rät einen Weg von Knoten 1 nach Knoten 2 und benutzt
ihren logarithmischen Speicher zum Durchsuchen der Adjazenzmatrix. Dieser Algorithmus
ist Anlaß, nichtdeterministische I-O Turingmaschinen zu betrachten.
Aufgabe 26
Gegeben sei ein gerichteter Graph als Adjazenzmatrix. Es soll entschieden werden, ob
folgendes gilt: jeder Knoten hat höchstens einen Nachfolger und Knoten 2 kann von Knoten
1 erreicht werden.
3.2. LOGARITHMISCHER SPEICHERPLATZ
53
Gib einen möglichst speichereffizienten deterministischen Algorithmus zur Lösung des Problems (auf I-O-Turingmaschinen) an.
Aufgabe 27
Im 2-Zusammenhangsproblem ist ein ungerichteter Graph als Adjazenzmatrix gegeben. Es
soll entschieden werden, ob der Graph zweifach zusammenhängend ist, d.h., ob der Graph
bei der Herausnahme eines beliebigen Knotens immer zusammenhängend bleibt.
Gib einen möglichst speichereffizienten deterministischen Algorithmus zur Lösung des Problems (auf I-O-Turingmaschinen) an.
3.2.2
NL und NL-Vollständigkeit
Ist D-REACHABILITY deterministisch mit logarithmischem Speicherplatz erkennbar?
Wir werden im Folgenden zeigen, dass eine positive Antwort die Gleichheit der Klassen
DL und NL erzwingt, und die wahrscheinliche Antwort ist also negativ. Insbesondere zeigen
wir, dass D-REACHABILITY eine schwierigste Sprache in NL ist, wobei „Schwierigkeit“
durch LOGSPACE-Reduktionen gemessen wird.
Definition 3.1 Seien Σ1 und Σ2 Alphabete und seien L ⊆ Σ∗1 , K ⊆ Σ∗2 Sprachen über Σ1
beziehungsweise Σ2 .
(a) Wir sagen, dass L LOGSPACE-reduzierbar auf K ist (geschrieben L ≤LOG K), falls
es eine (deterministische) I-O Turingmaschine M mit logarithmischem Speicherplatzbedarf
gibt, so dass für alle Eingaben w ∈ Σ∗1 ,
w ∈ L ⇔ M (w) ∈ K.
(b) Die Sprache K heißt NL-hart, falls L ≤LOG K für alle Sprachen L ∈ NL gilt.
(c) Die Sprache K heißt genau dann NL-vollständig, wenn K ∈ NL und wenn K NL-hart
ist.
Lemma 3.2 (Die wesentlichen Eigenschaften der LOGSPACE-Reduktion)
(a) Wenn M ≤LOG K und K ≤LOG L, dann ist M ≤LOG L.
(b) Wenn L ≤LOG K und wenn K ∈ DL, dann ist auch L ∈ DL.
Beweis: Übungsaufgabe.
Wie auch für die Klassen P und NP (und die polynomielle Reduktion) fallen die Klassen DL
und NL zusammen, wenn eine einzige NL-vollständige Sprache in DL liegt.
Korollar 3.1 (LOGSPACE-vollständige und harte Sprachen)
54
KAPITEL 3. SPEICHERPLATZ-KOMPLEXITÄT
(a) Die Sprache K sei NL-vollständig. Dann gilt
K ∈ DL ⇔ DL = NL.
(b) Wenn K NL-hart ist und wenn K ≤LOG L, dann ist auch L NL-hart.
Gibt es überhaupt NL-vollständige Probleme?
Satz 3.3 D-REACHABILITY ist NL-vollständig.
Beweis: Wir haben bereits gesehen, dass D-REACHABILITY in NL liegt. Es ist also
L ≤LOG D-REACHABILITY für eine beliebige Sprache L ∈ NL nachzuweisen.
Da L ∈ NL, gibt es eine nichtdeterministische Turingmaschine M , die L mit logarithmischem Speicherbedarf erkennt. Für eine Eingabe w betrachten wir den Berechnungsgraph
GM (w) von M auf Eingabe w. Die Konfigurationen bilden die Knoten von GM (w). Wir
fügen eine Kante von Konfiguration c nach Konfiguration d ein, wenn M auf Eingabe w
in einem Schritt von c nach d gelangen kann. Zusätzlich fügen wir eine Kante von jeder
akzeptierenden Haltekonfiguration zu einem neuen Knoten ein, dem wir den „Namen“ 2
geben. Der der Anfangskonfiguration entsprechende Knoten erhält den Namen 1.
Behauptung: GM (w) kann von einer deterministischen I-O Turingmaschine mit logarithmischem Speicherplatz berechnet werden.
Beweis: Wir beachten zuerst, dass GM (w) nur polynomiell (in |w|) viele Knoten besitzt,
da die Konfigurationenzahl polynomiell ist. Wir müssen also auf logarithmischem Platz die
polynomiell große Adjazenzmatrix von GM (w) berechnen. Diese Aufgabe ist aber einfach,
da wir ja nur die Möglichkeit eines Ein-Schritt Übergangs zwischen zwei Konfigurationen
(zu jeweils logarithmischem Speicherplatz) überprüfen müssen.
Wir weisen GM (w) der Eingabe w zu und erhalten
w ∈ L ⇔ GM (w) ∈ D-REACHABILITY.
Die Behauptung des Satzes folgt.
Das nächste Ergebnis zeigt, dass NL in P enthalten ist. Dieses Ergebnis ist nicht mehr
überraschend, sondern wegen der NL-Vollständigkeit des Problems D-REACHABILITY
naheliegend.
Satz 3.4 DL ⊆ NL ⊆ P ⊆ NP.
Beweis: Die Beziehungen DL ⊆ NL sowie P ⊆ NP sind offensichtlich und es genügt der
Nachweis von NL ⊆ P.
Man überzeuge sich zuerst, dass aus L ≤LOG K und K ∈ P auch L ∈ P folgt. (Wende
Satz 3.2 (a) an!) Für eine beliebige Sprache L in NL gilt L ≤LOG D-REACHABILITY. Da
D-REACHABILITY in P liegt, folgt somit auch L ∈ P.
Es könnte durchaus sein, dass beide Inklusionen in DL ⊆ NL ⊆ P echte Inklusionen sind.
3.2. LOGARITHMISCHER SPEICHERPLATZ
55
Beispiel 3.2 Die Klasse LOGCFL besteht aus allen Entscheidungsproblemen, die LOGSPACEreduzierbar auf eine kontextfreie Sprache sind.
Man kann zum Beispiel zeigen, dass NL eine Teilklasse von LOGCFL ist: Es gibt also eine
kontextfreie Sprache, auf die D-REACHABILITY reduziert werden kann.
Aufgabe 28
Zeige, dass es eine kontextfreie Sprache L mit
D − REACHABILITY ≤LOG L
gibt.
Desweiteren stimmt LOGCFL mit der Klasse aller Entscheidungsprobleme überein, die durch
Schaltkreise logarithmischer Tiefe gelöst werden können. Während verlangt wird, dass der
Fanin eines UND-Gatters zwei ist, ist der Fanin von ODER-Gattern unbeschränkt. Zudem
muss man die Schaltkreise durch „einfache Algorithmen“ beschreiben können –man sagt,
dass die Schaltkreise uniform sind.
3.2.3
Der Satz von Savitch
Um wieviel mächtiger ist NL im Vergleich zu DL?
Aufgabe 29
Zeige: Wenn Dspace(log n) = Nspace(log n), dann gilt Dspace(s) = Nspace(s) für alle
platz-konstruierbaren Funktionen s.
Aufgabe 30
Es seien s, S Funktionen mit s = O(S) und s = Ω(n). Weiterhin gelte für alle g mit
g = Ω(s) und g = O(S), dass g nicht platz-konstruierbar ist. Zeige: Dann gilt Dspace(s) =
Dspace(S).
Hinweis: Zeige, dass die Funktion spaceM (n) für Turingmaschinen M mit mindestens linearem Platzverbrauch platz-konstruierbar ist.
Satz 3.5 (Der Satz von Savitch)
(a) D-REACHABILITY ∈ Dspace(log22 n).
(b) Die Funktion s sei platz-konstruierbar. Dann ist
Nspace(s) ⊆ Dspace(s2 )
und insbesondere folgt
NL ⊆ Dspace(log22 n) und PSPACE = NPSPACE.
56
KAPITEL 3. SPEICHERPLATZ-KOMPLEXITÄT
Beweis (a): Leider können wir D-REACHABILITY weder mit Tiefensuche noch mit Breitensuche lösen, denn sowohl der Stack der Tiefensuche wie auch die Queue der Breitensuche
verlangen bis zu linearem Speicherplatz. Wir beschreiben deshalb ein neues Traversierungsverfahren, das wesentlich speicher-effizienter sein wird.
Algorithmus 3.1 (Eine platz-effiziente Traversierung)
(1) Der Graph G sei als Adjazenzmatrix gegeben. G bestehe aus n Knoten.
(2) Für jedes m ≤ n − 1 rufe Algorithmus 3.2 mit dem Eingabegraphen G sowie den
Parametern 1, 2 und m auf.
/* Algorithmus 3.2 wird überprüfen, ob es in G einen Weg der Länge m (m ≤ n − 1)
vom Knoten 1 zum Knoten 2 gibt.
*/
(3) Akzeptiere genau dann, wenn Algorithmus 3.2 mindestens einmal akzeptiert.
Algorithmus 3.2
(1) Die Eingaben seien der Graph G sowie die Knoten u und v und die Weglänge m.
(2) Wenn m=1, dann akzeptiere, falls (u, v) eine Kante von G ist und verwerfe ansonsten.
(3) Für alle Knoten w führe zwei rekursive Aufrufe mit den jeweiligen Parametern u, w
und d m2 e beziehungsweise w, v und b m2 c durch.
(4) Akzeptiere, wenn es einen Knoten w mit zwei akzeptierenden Aufrufen gibt und verwerfe ansonsten.
Algorithmus 3.1 akzeptiert offensichtlich genau dann, wenn es einen Weg vom Knoten 1
zum Knoten 2 gibt. Die entscheidende Frage ist die Größe des Speicherplatzbedarfs. Der
rekursive Algorithmus 3.2 benötigt einen Stack der Höhe log2 n, wobei jedes Element des
Stacks einem Knoten entspricht und damit ebenfalls logarithmischen Speicher in Anspruch
nimmt. Insgesamt benötigen wir, wie versprochen, also Speicherplatz O(log22 n).
Am Rande sei vermerkt, dass Algorithmus 3.2 zwar speicher-effizienter als Tiefen- oder
2
Breitensuche ist, dafür aber bis zu 2O(log2 n) Schritte verschlingt.
(b) Es sei s(n) ≥ log2 n und s sei platz-konstruierbar. Weiterhin sei M eine beliebige
nichtdeterministische Turingmaschine mit Speicherplatzbedarf s und w sei eine Eingabe.
Wir konstruieren eine deterministische Turingmaschine M ∗ , die M auf Speicherplatz O(s2 )
simuliert.
Da s platz-konstruierbar ist, kann M ∗ einen Speicherplatz von s(n) Zellen abstecken und
damit die Konfigurationen von M systematisch erzeugen. Wir gehen davon aus, dass die
Startkonfiguration den Namen 1 trägt und dass es genau eine akzeptierende Haltekonfiguration gibt, der wir den Namen 2 zuweisen. M ∗ wendet nun Algorithmus 3.1 auf den
3.2. LOGARITHMISCHER SPEICHERPLATZ
57
Berechnungsgraphen GM (w) (mit höchstens 2O(s(|w|)) Knoten) an und akzeptiert genau
dann, wenn Algorithmus 3.1 akzeptiert.
Offensichtlich akzeptiert M ∗ die Eingabe w genau dann, wenn M die Eingabe w akzeptiert.
Die Behauptung folgt, da M ∗ nur den Speicherplatzbedarf O(s2 ) hat: Der Name eines
jeden Knotens hat höchstens O(s) Bits, und die Rekursionstiefe ist ebenfalls durch O(s)
beschränkt.
Der Beweis des Satzes von Savitch betont die überragende Rolle von D-REACHABILITY
für die Speicherplatzkomplexität. Aussagen über die nichtdeterministische Speicherplatzkomplexität werden zuerst für NL (und damit für D-REACHABILITY) nachgewiesen. Sodann ist zu gewährleisten, dass sich die Aussagen nach „oben“ vererben, also auch für
größeren Speicherplatz gelten.
Aufgabe 31
Jede Sprache L in N P kann wie folgt beschrieben werden: Es gibt eine Sprache K ∈ P
und eine Konstante c, so dass für alle Eingaben x
x ∈ L ⇐⇒ ∃y ∈ {0, 1}∗ (|y| ≤ |x|c ∧ (x, y) ∈ K).
Definiere Σp1 = N P , Πp1 = co − N P sowie für alle k ∈ N, k > 1
Σpk = {L ⊆ {0, 1}∗ | ∃K ∈ Πpk−1 , c ∈ N ∀x ∈ {0, 1}∗ (x ∈ L ⇐⇒
∃y ∈ {0, 1}∗ (|y| ≤ |x|c ∧ (x, y) ∈ K))}.
Weiterhin ist Πpk = coΣpk und P H = ∪k∈N Σpk . P H heißt die polynomielle Hierarchie.
Zeige: (a) NP = coNP ⇐⇒ P H = N P .
(b) P H ⊆ PSPACE.
3.2.4
Der Satz von Immerman und Szlepscenyi
Wir zeigen als nächstes, dass überraschenderweise jede Sprache und ihr Komplement
die gleichen nichtdeterministischen Speicherplatz-Ressourcen benötigen, oder in anderen
Worten, dass nichtdeterministischer Speicherplatz abgeschlossen ist unter Komplementbildung. Der wesentliche Schritt wird der Nachweis sein, dass das Komplement von DREACHABILITY, also
D-UNREACHABILITY = {G | es gibt keinen Weg von Knoten 1 nach Knoten 2 }
ebenfalls in NL liegt.
Satz 3.6 (Der Satz von Immerman und Szlepscenyi)
(a) D-UNREACHABILITY ∈ NL.
58
KAPITEL 3. SPEICHERPLATZ-KOMPLEXITÄT
(b) Die Funktion s sei platz-konstruierbar. Dann ist
Nspace(s) = coNspace(s),
wobei coNspace(s) = {L | L ∈ Nspace(s)} genau aus den Komplementen von Sprachen aus Nspace(s) besteht.
Beweis (a): Der Graph G sei die Eingabe für D-UNREACHABILITY. Angenommen, wir
könnten das Anzahlproblem in NL lösen, also die Anzahl m der von Knoten 1 aus erreichbaren Knoten bestimmen. Wir zeigen zuerst, dass dann auch D-UNREACHABILITY zu
NL gehört. Im zweiten Schritt lösen wir dann das Anzahlproblem mit nichtdeterministisch
logarithmischem Platz.
Wir nehmen also an, dass wir die Zahl m der von 1 aus erreichbaren Knoten kennen.
Unsere nichtdeterministische Maschine versucht jetzt nacheinander m verschiedene Knoten
v1 , . . . , vm zu finden, die von 1 aus erreichbar sind. Wenn der Knoten 2 von all diesen Knoten
verschieden ist, dann kann M folgern, dass 2 nicht von 1 aus erreichbar ist und M wird
akzeptieren.
Im Detail sieht das Vorgehen von M wie folgt aus. Die erste Phase von M ist trivial: M
„setzt“ v1 = 1, da 1 von 1 aus erreichbar ist. In der i + 1ten Phase rät M einen Knoten vi+1
und rät sukzessive eine Knotenfolge beginnend mit Knoten 1. M verwirft, wenn vi+1 ≤ vi
oder wenn vi+1 = 2 oder wenn die geratene Knotenfolge keinem im Knoten vi+1 endenden
Weg entspricht. Ansonsten akzeptiert M , falls i + 1 = m, beziehungsweise beginnt Phase
i + 1, falls i + 1 < m.
Wir haben also D-UNREACHABILITY gelöst, wenn das Anzahlproblem gelöst ist. Wie
können wir aber das Anzahlproblem in NL lösen? Sei mi die Anzahl der Knoten, die durch
Wege der Länge höchstens i von Knoten 1 aus erreichbar sind. Offensichtlich ist m0 = 1
und mn−1 = m. Wir müssen nur für jedes i zeigen, dass mi+1 in NL berechnet werden kann,
wenn mi bekannt ist.
Wir können also annehmen, dass mi bekannt ist. Wir setzen zu Anfang mi+1 = 1 und
wiederholen dann im wesentlichen das Vorgehen von M für alle Knoten (in aufsteigender
Reihenfolge). Wenn Knoten k behandelt wird, raten wir sukzessive Knoten vi,1 < · · · < vi,mi
und verifizieren, dass jeder geratene Knoten vom Knoten 1 durch einen Weg der Länge
höchstens i erreichbar ist.
Wenn wir für den gegenwärtigen Knoten k gerade den Knoten vi,r verifiziert haben, dann
prüfen wir zusätzlich nach, ob vi,r ein Vorgänger von k ist. Ist dies der Fall, dann erhöhen
wir mi+1 um 1 und brechen die Behandlung von Knoten k ab, um mit der Behandlung von
Knoten k +1 zu beginnen. Ist dies nicht der Fall, dann setzen wir die Ratephase für Knoten
mit Abstand höchstens i vom Knoten 1 fort. In diesem Fall beginnt die Behandlung von
Knoten k + 1 erst, wenn alle mi Knoten überprüft wurden.
Also ist auch das Anzahlproblem in NL lösbar und die Behauptung ist gezeigt.
(b) Die Sprache L werde von einer nichtdeterministischen Turingmaschine M mit Speicherplatzbedarf s erkannt. Wir wissen, dass s platz-konstruierbar ist und damit gilt insbesondere auch s ≥ log2 n. Unser Ziel ist die Konstruktion einer nichtdeterministischen
3.2. LOGARITHMISCHER SPEICHERPLATZ
59
Turingmaschine M ∗ , die das Komplement L mit Speicherplatzbedarf O(s) erkennt. M ∗
muss also nachprüfen, ob M für eine Eingabe w eine akzeptierende Berechnung besitzt
(sprich: einen Weg von der Startkonfiguration 1 zur akzeptierenden Haltekonfiguration 2
besitzt) und genau dann akzeptieren, wenn es eine akzeptierende Berechnung nicht gibt.
M ∗ wendet den Algorithmus aus Teil (a) auf den Berechnungsgraphen GM (w) an, wobei
M ∗ die Existenz von Kanten selbst klären muss. Offensichtlich gelingt diese Klärung in
Platz O(s), da die Konfigurationen von M nur Platz O(s) benötigen.
Aufgabe 32
Zeige: Wenn L vollständig für NL ist, dann ist auch das Komplement L vollständig für NL.
Die Sprache 2-SAT besteht aus allen erfüllbaren aussagenlogischen Formeln in konjunktiver
Normalform mit jeweils höchstens zwei Literalen pro Klausel.
Korollar 3.2 2-SAT ist NL-vollständig.
Beweis: Wir zeigen zuerst die nicht-offensichtliche Aussage, dass 2-SAT in NL liegt. Sei
also φ eine Formel in konjunktiver Normalform mit jeweils zwei Literalen pro Klausel.
Wir weisen φ den gerichteten Graphen G(φ) zu, wobei die Knoten von G(φ) den Literalen
von φ entsprechen. Wir setzen eine Kante vom Literal α zum Literal β ein, falls ¬α ∨ β
eine Klausel ist. Eine Kante (α, β) entspricht also einer Implikation α → β. Für jede Kante
(α, β) fügen wir auch die „symmetrische“ Kante (¬β, ¬α) in G(φ) ein; beachte, dass α → β
und ¬β → ¬α logisch äquivalent sind.
Behauptung: φ ist genau dann nicht erfüllbar, wenn es ein Literal x gibt, so dass es einen
Weg von x nach ¬x wie auch einen Weg von ¬x nach x gibt.
Beweis ⇐: Die Existenz eines Weges von α nach β erzwingt für jede erfüllende Belegung,
die α auf 1 setzt, auch dass β auf 1 gesetzt wird. Also müssen x und ¬x auf denselben
Wert gesetzt werden, was aber nicht erlaubt ist.
⇒: Wir wissen also, dass φ nicht erfüllbar ist. Wir nehmen an, dass die Behauptung
falsch ist und konstruieren dann eine erfüllende Belegung. Wir beginnen mit irgendeinem
ungesetzten Literal x, für das wir annehmen können, dass es keinen Weg von x nach ¬x
gibt. Wir weisen x und allen von x in G(φ) erreichbaren Literalen den Wert 1 zu und weisen
¬x und allen Literalen, die ¬x erreichen, den Wert 0 zu.
Unser Vorgehen ist wohl-definiert, da es kein Literal y geben kann, so dass sowohl y wie
auch ¬y von x aus erreichbar sind. Der Graph G(φ) garantiert ja mit seinen symmetrischen
Kanten auch symmetrische Wege: Zu jedem Weg von x nach y gibt es auch einen Weg von
¬y nach ¬x und simultane Wege von x nach y wie auch von x nach ¬y implizieren einen
(ausgeschlossenen) Weg von x nach ¬x über ¬y.
Weiterhin kann es kein von x aus erreichbares Literal geben, das vorher auf 0 gesetzt wurde.
Ein solcher Fall ist ausgeschlossen, da dann x schon gesetzt worden wäre.
Offensichtlich können wir unser Vorgehen solange wiederholen bis alle Literale gesetzt sind.
Wir haben aber alle Klauseln erfüllt und die Formel φ ist im Widerspruch zur Annahme
erfüllt.
60
KAPITEL 3. SPEICHERPLATZ-KOMPLEXITÄT
Aus der Behauptung erhalten wir sofort, dass die Nicht-Erfüllbarkeit in NL liegt, da wir ja
nur die Existenz von Wegen zwischen sich widersprechenden Literalen zu raten brauchen.
Damit folgt aber aus dem Satz von Immerman und Szlepscenyi, dass Erfüllbarkeit, also
2-SAT, in NL liegt.
Es bleibt zu zeigen, dass 2-SAT NL-vollständig ist. Wir konstruieren zuerst die Reduktion DUNREACHABILITY ≤LOG 2-SAT. Sei also G ein Eingabegraph. Wir weisen dem Graphen
G eine Formel φG wie folgt zu. Wir fassen die Knoten von G als Variablen auf und fügen
für jede Kante (u, v) die Klausel ¬u ∨ v ein. Desweiteren verwenden wir die Einer-Klauseln
10 sowie ¬20 .
Behauptung: φG ist genau dann erfüllbar, wenn es keinen Weg von 1’ nach 2’ gibt.
Beweis: Wenn es keinen Weg von 1’ nach 2’ gibt, dann ist φG erfüllt, wenn wir 1’ und allen
von 1’ erreichbaren Knoten den Wert 1 und den restlichen Knoten den Wert 0 zuweisen.
Gibt es hingegen einen Weg von 1’ nach 2’, dann müssen alle Knoten des Weges (und damit
auch 2’) auf 1 gesetzt werden: φG ist nicht erfüllbar.
Die Transformation G → φG etabliert also die Reduktion. Jetzt brauchen wir nur noch
zu beachten, dass D-UNREACHABILITY NL-vollständig ist (warum?) und das Ergebnis
folgt mit Korollar 3.3.
Wir kennen also mittlerweile vier NL-vollständige Probleme, nämlich D-REACHABILITY
und 2SAT sowie die beiden Komplemente. Bipartitness und das Wortproblem für NFAs
sind auch NL-vollständig:
Aufgabe 33
Wir definieren die Sprache L = { hM iw | M ist ein NFA und M akzeptiert w}.
Zeige, dass L NL-vollständig ist.
3.3
PSPACE-Vollständigkeit
Wir möchten die schwierigsten Sprachen in PSPACE bezüglich der polynomiellen Reduktion
bestimmen. Zur Erinnerung: Wir sagen, dass ein Entscheidungsproblem L1 genau dann auf
ein Entscheidungsproblem L2 polynomiell reduzierbar ist (geschrieben L1 ≤P L2 ), wenn
w ∈ L1 ⇔ T (w) ∈ L2
für alle Eingaben w von L1 gilt. Die Transformation w 7→ T (w) muss in polynomieller Zeit
durch eine deterministische Turingmaschine berechenbar sein.
Die Definition der PSPACE-vollständigen Sprachen folgt dem Schema der NL- und NP-Vollständigkeit.
Definition 3.2 Sei K eine Sprache.
(a) K heißt PSPACE-hart, falls L ≤P K für jede Sprache L ∈ PSPACE gilt.
(b) K heißt PSPACE-vollständig, falls K PSPACE-hart ist und falls
K ∈ PSPACE.
61
3.3. PSPACE-VOLLSTÄNDIGKEIT
PSPACE-harte Sprachen sind mindestens so schwierig wie NP-harte Sprachen:
Aufgabe 34
Zeige: Wenn die Sprache L PSPACE-hart ist, dann ist L auch NP-hart.
Wie auch im Fall der NP- oder NL-Vollständigkeit führt eine Berechnung der vollständigen
Probleme innerhalb der kleineren Klasse (sprich: P) zum Kollaps der größeren Klasse.
Weiterhin genügt, wie üblich, zum Nachweis der Vollständigkeit die Reduktion auf ein
vollständiges Problem.
Korollar 3.3 (PSPACE-vollständige und PSPACE-harte Sprachen)
(a) Die Sprache K sei PSPACE-vollständig. Dann gilt
K ∈ P ⇔ P = PSPACE.
(b) Die Sprache K sei PSPACE-hart. Wenn K ≤P L, dann ist auch L PSPACE-hart.
3.3.1
QBF: Quantifizierte Boolesche Formeln
Wir konstruieren die Sprache QBF, die sich später als PSPACE-vollständig herausstellen
wird. Die Worte in QBF entsprechen Kodierungen hφi von quantifizierten Booleschen Formeln φ. Die Formel φ besteht aus einem Quantorenteil gefolgt von einer aussagenlogischen
Formel α. Der Quantorenteil besteht aus All- und Existenz-Quantoren, so dass jede in α
vorkommende Variable von genau einem Quantor gebunden wird. Wir definieren
QBF = {hφi | φ ist eine wahre quantifizierte Boolesche Formel }.
Beispiel 3.3 Die Formel φ ≡ ∃p∀q((p ∨ ¬q) ∧ (¬p ∨ q)) ist falsch, denn sie drückt die
Äquivalenz von p und q aus. Sicherlich gibt es aber keinen Wahrheitswert für p, der mit
den beiden Wahrheitswerten 0 und 1 äquivalent ist. Somit ist φ 6∈ QBF.
Die Formel ψ ≡ ∀p∃q((p ∨ ¬q) ∧ (¬p ∨ q)) ist hingegen wahr, denn zu jedem Wahrheitswert
für p gibt es einen äquivalenten Wahrheitswert für q. Also ist ψ ∈ QBF.
Satz 3.7 QBF ist PSPACE-vollständig.
Beweis: Wir zeigen zuerst, dass QBF in PSPACE liegt. Dazu betrachten wir den folgenden
rekursiven Algorithmus.
Algorithmus 3.3 (Erkennen wahrer quantifizierter Formeln auf polynomiellem Platz)
(1) Die quantifizierte Booleschen Formel φ sei die Eingabe.
(2) Wenn φ keine Quantoren besitzt, dann besteht φ nur aus aussagenlogischen Verknüpfungen der Konstanten 0 und 1 und kann direkt ausgewertet werden. Gib die
Auswertung aus.
62
KAPITEL 3. SPEICHERPLATZ-KOMPLEXITÄT
(3) Wenn φ ≡ ∃pψ(p), dann führe rekursive Aufrufe mit den quantifizierten Booleschen
Formeln ψ(0) und ψ(1) durch. Wenn eine der Formeln zu 1 auswertet, dann gib 1
als Auswertung aus. Ansonsten gib 0 als Auswertung aus.
(4) Wenn φ ≡ ∀pψ(p), dann führe rekursive Aufrufe mit den quantifizierten Booleschen
Formeln ψ(0) und ψ(1) durch. Wenn eine der Formeln zu 0 auswertet, dann gib 0
als Auswertung aus. Ansonsten gib 1 als Auswertung aus.
Algorithmus 3.3 hat eine höchstens lineare Rekursionstiefe. In jedem Rekursionsschritt ist
aber nur ein Wahrheitswert abzuspeichern, so dass der Algorithmus nur einen linearen
Speicherplatzbedarf hat und QBF ∈ PSPACE folgt.
Wir kommen zum Nachweis der PSPACE-Härte. Die Sprache L ∈ PSPACE werde von deterministischen Turingmaschine M mit Speicherplatzbedarf O(nk ) berechnet. Wir müssen
für jede Eingabe w von L in polynomieller Zeit eine quantifizierte Boolesche Formel φw
konstruieren, so dass
w ∈ L ⇔ φw ist wahr
gilt. Wir erinnern an den NP-Vollständigkeitsbeweis von KNF-SAT. Eine (nicht-quantifizierte)
t
kodiert die Konfiguration der Turingmaschine zum Zeitpunkt t. Die
Boolesche Formel αw
Kodierung gelingt durch Einbeziehung der aussagenlogischen Variablen
- Kopf t (z) für die Kopfposition. Kopf t (z) soll genau dann wahr ist, wenn der Kopf
zum Zeitpunkt t auf Zelle z steht,
- Zellet (z, a) für den Zelleninhalt. Zellet (z, a) soll genau dann wahr ist, wenn die Zelle
z zum Zeitpunkt t mit dem Buchstaben a beschriftet ist und
- Zustandt (q) für den aktuellen Zustand. Zustandt (q) soll genau dann wahr ist, wenn
q der Zustand zum Zeitpunkt ist.
Weiterhin wird die beabsichtigte Bedeutung erzwungen, in dem durch die Konjunktion von
zusätzlichen Klauseln sichergestellt wird, dass die Zelleninhalte, die Kopfbewegung und der
neue Zustand sich gemäss der Arbeitsweise der Maschine verändern.
Wir kehren zurück zum PSPACE-Vollständigkeitsbeweis von QBF und müssen eine kurze
Formel φw für die möglicherweise exponentiell lange Berechnung der Turingmaschine M zu
schreiben! Sei T die kleinste Zweierpotenz, die größer als die Anzahl der Konfigurationen
von M ist. c0 ist die Anfangskonfiguration und ca die eindeutig bestimmte akzeptierende
Haltekonfiguration von M . (Wieso kann man verlangen, dass es genau eine akzeptierende
Haltekonfiguration gibt?) Unser Ziel ist die Konstruktion von höchstens polynomiell langen Formeln ψt (c, d), die genau dann wahr sein sollen, wenn M –in der Konfiguration c
startend– die Konfiguration d nach höchstens t Schritten erreicht. Ist dies geschafft, dann
setzen wir φw ≡ ψT (c0 , ca ) und φw ist genau dann wahr, wenn M die Eingabe w akzeptiert.
Die Formeln ψ1 (c, d) sind einfach zu konstruieren. Wir müssen ausdrücken, dass c = d oder
dass d die Nachfolgekonfiguration von c ist. Wir übernehmen die Konfigurations-Kodierung
durch die drei Typen der aussagenlogischen Variablen aus dem N P -Vollständigkeitsbeweis
3.3. PSPACE-VOLLSTÄNDIGKEIT
63
für KNF-SAT. Im Fall c = d müssen wir nur die Äquivalenz der c- und d-Variablen fordern,
während im anderen Fall die d-Variablen als Aktualisierung der c-Variablen zu formulieren
sind. In jedem der beiden Fälle sind keinerlei Quantoren notwendig.
Wir benutzen Existenz-Quantoren in der rekursiven Definition von ψt (c, d), um eine Zwischenkonfiguration e zu raten, sowie All-Quantoren, um die Formellänge klein zu halten.
Wir setzen
ψ2t (c, d) ≡ ∃e∀f ∀g( ((f = c ∧ g = e) ∨ (f = e ∧ g = d)) → ψt (f, g) ).
Beachte, dass ∃e einer Reihe von Existenz-Quantoren entspricht, nämlich den ExistenzQuantoren zu den Variablen der Konfiguration e bezüglich Kopfposition, Zelleninhalt und
Zustand; die gleiche Aussage gilt analog für ∀f und ∀g. Die Formel ψ2t (c, d) drückt aus,
dass eine Berechnung der Länge höchstens 2t aufgespalten werden kann in zwei aufeinanderfolgende Berechnungen der Länge höchstens t. Der All-Quantor erlaubt eine simultane
Überprüfung der beiden Berechnungen von c nach e und von e nach d. Dementsprechend
wächst die Formellänge additiv um höchstens O(nk ), also höchstens um den Speicherplatzbedarf von M , und wir erhalten O(n2k ) als obere Schranke für die Länge der Formel
ψT (c0 , ca ).
Wir können die Sprache QBF ein wenig vereinfachen ohne die PSPACE-Vollständigkeit zu
verlieren. Insbesondere betrachten wir nur quantifizierte Boolesche Formeln φ, deren Quantoren strikt alternieren: auf jeden All-Quantor folgt also ein Existenz-Quantor auf den wiederum ein All-Quantor folgen muss. Diese Einschränkung ist oberflächlich, da wir stets
beliebige Quantoren einfügen können, die in der Formel nicht vorkommende Variablen binden. In der zweiten und letzten Einschränkung fordern wir, dass sich die in φ quantifizierte
aussagenlogische Formel in konjunktiver Normalform befindet. Wir definieren dann QBF∗
als die Menge aller quantifizierten Booleschen Formeln in QBF, die die beiden obigen Einschränkungen erfüllen.
Korollar 3.4 QBF∗ ist PSPACE-vollständig.
Beweis: Die Formel φ sei eine (nicht eingeschränkte) quantifizierte Boolesche Formel. Wir
überführen φ in polynomieller Zeit in eine äquivalente, aber eingeschränkte Formel φ∗ .
Zuerst führen wir Dummy-Quantoren ein, um strikte Quantoren-Alternation zu sichern.
Dann werden wir die aussagenlogische Formel α von φ durch Einführung neuer Variablen
x in eine äquivalente Formel ∃xα∗ (x) überführen, wobei α∗ in konjunktiver Normalform
sein wird.
Wir nehmen zuerst an, dass sich Negationen nur auf Variablen beziehen; ist dies nicht der
Fall, dann schieben wir Negationen mit den de Morgan’schen Regeln bis zu den Variablen
vor. Sodann gehen wir indukiv vor.
Fall 1: α = α1 ∨ α2 . Wir erfinden neue Variablen x1 und x2 . x1 (bzw x2 ) wird mit jeder
Klausel der konjunktiven Normalform von α1 (bzw. α2 ) „verodert“. Sei α∗ die aus den
beiden modifizierten konjunktiven Normalformen sowie der neuen Klausel (¬x1 ∨ ¬x2 )
resultierende konjunkive Normalform. Beachte, dass α ↔ ∃x1 ∃x2 α∗ .
64
KAPITEL 3. SPEICHERPLATZ-KOMPLEXITÄT
Fall 2: α = α1 ∧ α2 . Wir definieren α∗ als die Konjunktion der konjunktiven Normalform
für α1 mit der konjunktiven Normalform für α2 . Etwaige Existenz-Quantoren in α1 oder
α2 sind nach vorne zu ziehen.
Wir können die Formel α∗ in polynomieller Zeit konstruieren und die Behauptung folgt. Das PSPACE-vollständige Problem QBF ∗ hat also die Form ∃x1 ∀x2 ∃x3 . . . ∀xn P (x1 , . . . , xn )
für ein KNF-Prädikat P . Eine solche Struktur läßt sich als ein Zweipersonen-Spiel auffassen:
Der ziehende Spieler muss für eine gegebene Spielsituation einen Zug bestimmen, der gegen alle Züge des Gegenspielers in eine gewinnbare Spielsituation
führt. Das Prädikat P definiert das Spiel.
In vielen interessanten Spielen ist die Spielauswertung P als eine aussagenlogische Formel
darstellbar, und die Frage nach einer Gewinnstrategie für den ziehenden Spieler liegt dann
in PSPACE. Tatsächlich kann man zeigen, dass viele Spiele (zum Beispiel n × n Versionen
von Go oder Schach) sogar PSPACE vollständig sind, und dass daher Gewinnstrategien nicht
in P berechenbar sind, es sei denn, es gilt P = PSPACE.
3.3.2
Das Geographie-Spiel
Wir definieren das GEOGRAPHIE-Spiel, eine Verallgemeinerung des Spiels, bei dem zwei
Spieler abwechselnd noch nicht genannte Städtenamen wählen, wobei jede Stadt mit dem
Endbuchstaben der zuvor genannten Stadt beginnen muß.
- Die Eingabe: Ein gerichteter Graph G = (V, E) und ein ausgezeichneter Knoten
s∈V.
- Die Spielregeln:
– Zwei Spieler A und B wählen abwechselnd jeweils eine noch nicht benutzte
Kante aus E.
– Spieler A fängt an und wählt eine Kante mit Startknoten s.
– Jede anschließend gewählte Kante muß im Endknoten der zuvor gewählten Kante beginnen.
– Der Spieler, der als erster keine solche unbenutzte Kante mehr findet, verliert
das Spiel.
- Die Aufgabe: Es ist zu entscheiden, ob ein optimal spielender Spieler A gegen jeden
Spieler B auf G gewinnen kann.
Aufgabe 35
Zeige, dass GEOGRAPHIE durch eine deterministische Turingmaschine mit höchstens
polynomiellem Speicherplatz gelöst werden kann. Warum gehört GEOGRAPHIE wahrscheinlich nicht zur Klasse NP?
3.3. PSPACE-VOLLSTÄNDIGKEIT
3.3.3
65
NFA’s und reguläre Ausdrücke
Im Entscheidungsproblem der Nicht-Universalität für reguläre Ausdrücke ist ein regulärer Ausdruck R genau dann zu akzeptieren, wenn L(R) 6= Σ∗ für die von R beschriebene
Sprache L(R) gilt. Ein solch einfaches Problem kann doch nicht schwierig sein, oder?
Tatsächlich ist die Nicht-Universalität für reguläre Ausdrücke hammer-hart, und als Konsequenz kann die Größe von minimalen regulären Ausdrücken oder minimalen NFA’s nur
völlig unbefriedigend approximiert werden.
Satz 3.8 (a) Die Nicht-Universalität für reguläre Ausdrücke ist ebenso PSPACE-hart wie
die Nicht-Universalität für NFA.
(b) Das Äquivalenzproblem für reguläre Ausdrücke, also die Frage, ob zwei gegebene reguläre Ausdrücke R1 und R2 dieselbe Sprache beschreiben –also ob L(R1 ) = L(R2 )
gilt–, ist PSPACE-hart. Das Äquivalenzproblem für NFA ist ebenfalls PSPACE-hart.
(c) Es gelte P 6= PSPACE. Dann ist es nicht möglich, für einen gegebenen regulären Ausdruck oder NFA A der Größe m, die Größe eines minimalen regulären Ausdrucks
oder eines minimalen NFA’s innerhalb des Faktors o(m) effizient zu approximieren.
Beweis (a): Das Entscheidungsproblem QBF ist PSPACE-vollständig und kann von einer
deterministischen Turingmaschine
M = (Q, Σ, Γ, δ, q0 , {qf })
gelöst werden, die in-place arbeitet, also nie den Eingabebereich verlässt.
Aufgabe 36
Wenn M eine nichtdeterministische Turingmaschine ist, die mit linearem Speicherplatz
arbeitet, dann gibt es eine zu M äquivalente in-place Turingmaschine M 0 .
Zusätzlich können wir verlangen, dass M für jede Eingabe der Länge n mindestens 2n
Schritte benötigt.
Für eine Eingabe w für M konstruieren wir einen regulären Ausdruck Rw , der alle Worte
akzeptiert, die nicht mit der Konfigurationenfolge einer akzeptierenden Berechnung von
M auf Eingabe w übereinstimmen. Haben wir die Konstruktion von Rw in polynomieller
Zeit geschafft, dann haben wir L(M ) –und damit QBF – auf die Nicht-Universalität für
reguläre Ausdrücke reduziert und, wie gefordert, die PSPACE-Härte nachgewiesen. Warum?
w ∈ L(M ) ⇔ nur die Konfigurationenfolge der akzeptierenden Berechnung
von M auf w gehört nicht zu L(Rw )
⇔ L(Rw ) 6= Σ∗ .
Um Konfigurationen zu kodieren, benutzen wir das Alphabet
Σ0 = Q × Γ ∪ Γ ∪ {#}.
66
KAPITEL 3. SPEICHERPLATZ-KOMPLEXITÄT
Das neue Symbol # trennt Konfigurationen, ein Symbol [q, a] ∈ Q × Σ repräsentiert die
Kopfposition von M und gibt an, dass gegenwärtig der Buchstabe a gelesen wird.
Wir stellen sicher, dass nur die Konfigurationenfolge einer akzeptierenden Berechnung von
M verworfen wird, wenn
(1) die Anfangskonfiguration nicht von der Form
#[q0 , w1 ]w2 · · · wn #
ist oder
(2) keine Konfiguration der Konfigurationenfolge den Buchstaben [qf , γ] für irgendein
γ ∈ Γ enthält oder
(3) die Folge nicht mit dem Trennsymbol # endet oder
(4) wenn sich der Bandinhalt oder der Zustand zwischen aufeinanderfolgenden Konfigurationen auf eine nicht-legale Weise ändert.
Aufgabe 37
Konstruiere Rw als Vereinigung von vier regulären Ausdrücken der Länge O(|w|)–also einen
Ausdruck für jeden der vier Fälle.
Hinweis: Um einen „kurzen“ regulären Ausdruck für den vierten Fall zu erhalten, beachte,
dass in einer legalen Folge y von Konfigurationen für jedes Teilwort yi−1 yi yi+1 das „neue“
Symbol yi+n+1 eine Funktion von yi−1 yi yi+1 ist. Insbesondere, wenn x eine illegale Konfigurationenfolge ist, dann gilt xi+n+1 6= xi , obwohl der Kopf nicht auf Position i gestanden
ist, oder xi+n+1 wird falsch aktualisiert.
Damit ist die Behauptung für reguläre Ausdrücke gezeigt. Das entsprechende Ergebnis für
NFA folgt mit einem völlig analogem Argument.
(b) Die Nicht-Universalität für einen regulären Ausdruck R ist äquivalent zur Frage, ob
L(R) 6= L(Σ∗ ) gilt, d.h. ob die beiden regulären Ausdrücke R und Σ∗ äquivalent sind. Die
PSPACE-Härte des Äquivalenzproblems für reguläre Ausdrücke folgt also aus Teil (a) und
Gleiches gilt für die PSPACE-Härte des Äquivalenzproblems für NFA.
(c) Wir nehmen P 6= PSPACE an. Nach Korollar 3.3 können dann PSPACE-vollständige
Entscheidungsprobleme nicht effizient gelöst werden.
Insbesondere kann also nicht effizient bestimmt werden, ob w ∈ L(M ) für die Turingmaschine aus Teil (a) gilt. Nun ist w 6∈ L(M ) genau dann, wenn L(Rw ) = Σ∗ , bzw. genau
dann, wenn der minimale, mit Rw äquivalente reguläre Ausdruck eine beschränkte Länge
hat. Ist hingegen w ∈ L(M ), dann folgt L(Rw ) 6= Σ∗ und genauer L(Rw ) = Σ∗ \ {y} für
die Konfigurationenfolge y der akzeptierenden Berechnung für Eingabe w. Wie lang muss
ein minimaler, mit Rw äquivalenter Ausdruck in diesem Fall mindestens sein?
Wir haben gefordert, dass die Turingmaschine M mindestens 2n Schritte für Eingaben
der Länge n benötigt und deshalb hat y mindestens die Länge 2|w| . Ein deterministischer
3.4. KOMPLEXITÄTSKLASSEN UND DIE CHOMSKY HIERARCHIE
67
endlicher Automat benötigt mindestens |y| ≥ 2|w| Zustände, um Σ∗ \{y} zu akzeptieren, ein
regulärer Ausdruck oder ein NFA muss deshalb mindestens |w| Zustände besitzen. Aber
Rw hat die Länge O(|w|), und wir können deshalb nicht effizient unterscheiden, ob ein
minimaler äquivalenter regulärer Ausdruck die Länge O(1) oder Ω(|w|) besitzt.
Die Länge eines minimalen äquivalenten regulären Ausdrucks kann also so gut wie nicht
nicht approximiert werden. Gleiches gilt aber auch für die Größe von äquivalenten minimalen NFA, denn auch ihre Größe variiert ziwschen O(1) –falls w 6∈ L(M )– und Ω(|w|)
–falls w ∈ L(M ).
Aufgabe 38
Gib einen Algorithmus an, der mit polynomiell beschränktem Platz arbeitet, und der bei
Eingabe eines nichtdeterministischen endlichen Automaten einen nichtdeterministischen
endlichen Automaten mit minimaler Zustandsanzahl für dieselbe Sprache konstruiert.
Hinweis: Gib einen nichtdeterministischen Algorithmus an. Zum Vergleich der Sprachen
zweier nichtdeterministischer endlicher Automaten mit höchstens n Zuständen reicht es
aus, das Verhalten auf allen Worten der Länge 2n zu vergleichen.
Aufgabe 39
Es ist zu entscheiden, ob zwei nichtdeterministische endliche Automaten N1 und N2 äquivalent sind. Zeige, dass dieses Entscheidungsproblem PSPACE-vollständig und nicht nur
PSPACE-hart ist.
3.4
Komplexitätsklassen und die Chomsky Hierarchie
Unser Ziel ist ein Vergleich der bereits betrachteten Komplexitätsklassen und Sprachenklassen
Wir haben bisher die Komplexitätsklassen DL, NL, P, NP und die Klasse PSPACE, der auf
polynomiellen Speicherplatz entscheidbaren Sprachen kennengelernt und die Klassen der
regulären und kontextfreien Sprachen untersucht. Insbesondere haben wir eingeschränkte
Grammatiken als Grundlagen für die Beschreibung von Programmiersprachen behandelt:
Die beiden vorrangigen Ziele einer Programmiersprache sind entgegengesetzt, nämlich
1. eine effiziente Lösung des Wortproblems. Es sollte in vertretbarer Zeit entscheidbar
sein, ob ein vorgelegtes Wort ableitbar ist, bzw. ob ein Programm syntaktisch korrekt
ist. Dauert dieser Entscheidungsvorgang zu lange, so kommt die Sprachenklasse als
mögliche Grundlage für Programmiersprachen und Compiler nicht in Frage.
2. Die Sprachen sollten möglichst ausdruckstark sein, um höhere Programmiersprachen
komfortabel darzustellen zu können.
Wir führen die Klasse der kontextsensitiven Grammatiken ein und erhalten damit die
Chomsky-Hierarchie, eine Grobeinteilung der Sprachenklassen.
Definition 3.3 (Chomsky-Hierarchie)
68
KAPITEL 3. SPEICHERPLATZ-KOMPLEXITÄT
1. Grammatiken ohne jede Einschränkung heißen Typ-0 Grammatiken. Die entsprechende Sprachenfamilie ist
n
o
L0 = L(G) | G ist vom Typ 0
2. Eine Grammatik G mit Produktionen der Form
u→v
mit |u| ≤ |v|
heißt Typ-1 oder kontextsensitiv. Die zugehörige Sprachenfamilie ist
n
o
n
o
L1 = L(G) | G ist vom Typ 1 ∪ L(G) ∪ {} | G ist vom Typ 1
3. Eine Grammatik G mit Produktionen der Form
u→v
mit u ∈ V und v ∈ (V ∪ Σ)∗
heißt Typ-2 oder kontextfrei. Die zugehörige Sprachenfamilie ist
n
o
L2 = L(G) | G hat Typ 2
4. Eine reguläre Grammatik heißt auch Typ-3 Grammatik. Die zugehörige Sprachenfamilie ist
n
o
L3 = L(G) | G hat Typ 3
Beispiel 3.4 Die kontextfreie Grammatik G mit Startsymbol S und Produktionen
S → 0S0 | 1S1 | erzeugt alle Palindrome über dem Alphabet {0, 1}. Diese Sprache ist offensichtlich nicht
regulär. Da anderseits jede reguläre Grammatik kontextfrei ist, zeigt dieses Beispiel, dass
L2 eine echte Obermenge von L3 ist.
Beispiel 3.5 Wir entwerfen eine kontextsensitive Grammatik, die die Sprache
n
o
K = ai b i c i | i ≥ 0
erkennt. Die Grammatik G besitzt drei Variablen, nämlich das Startsymbol S sowie die
Variablen R und L. Die Produktionen haben die Form
S → | abc
S → aRbc
R wird ein neues a und b einführen, dann nach rechts wandern bis das erste c angetroffen
wird. Ein c wird eingefügt, und R wird durch L ersetzt:
aRb → aabbR, bRb → bbR und bRc → bcc | Lbcc
3.4. KOMPLEXITÄTSKLASSEN UND DIE CHOMSKY HIERARCHIE
69
Die Variable L läuft nach links bis das erste a gefunden wird. Dann wird L durch R ersetzt:
bL → Lb und aLb → aRb.
Die Sprache Kist nicht kontextfrei. Da kontextfreie Sprachen L mit ∈
/ L durch Grammatiken in Chomsky Normalform erzeugt werden können, ist jede kontextfreie Sprache auch
kontextsensitiv, und L1 ist eine echte Obermenge von L2 .
Satz 3.9 Die Chomsky Hierarchie und die Platzkomplexität
(a) L0 ist die Klasse aller rekursiv aufzählbaren Sprachen.
(b) Es gilt L1 = Nspace(n). Also ist L1 die Klasse aller Sprachen, die von nichtdeterministischen Turingmaschinen auf linearem Platz erkannt werden. Insbesondere ist
jede Sprache in L1 entscheidbar.
(c) NL ⊆ LOGCFL ⊆ Dspace(log22 n).
(Insbesondere sind alle kontextfreie Sprachen in Dspace(log22 n) enthalten, es gilt also
L2 ⊆ Dspace(log22 n).)
(d) Die Klasse der regulären Sprachen stimmt mit der Klasse Dspace(0) überein, es gilt
also L3 = Dspace(0).
(e) L3 ⊂ L2 ⊂ L1 ⊂ L0 und alle Inklusionen sind echt.
Beweis (a): Wir behaupten, dass L(G) für jede Grammatik G rekursiv aufzählbar ist.
Warum? Wenn wir entscheiden wollen, ob ein Wort w zur Sprache L(G) gehört, produzieren
wir alle mögliche Ableitungen: Wenn w ∈ L(G) werden wir eine Ableitung finden. Wenn
w∈
/ L(G), wird unser Programm nicht halten, aber dies ist auch nicht erforderlich.
Andererseits sei die Sprache L rekursiv aufzählbar. Es gibt also eine Turingmaschine M
mit L = L(M ). Wir müssen eine Grammatik G mit L(M ) = L(G) konstruieren. Für
die Konstruktion von G beachten wir, dass Berechnungen von M natürlich stets mit der
Eingabe w beginnen, während eine Ableitung von w mit w endet. Also sollten wir die
Grammatik so konstruieren, dass die Berechnungen von M „rückwärts“ simuliert werden.
Zuerst normieren wir M . Wir nehmen an, dass M
- nur einen akzeptierenden Zustand qa besitzt und
- dass akzeptierende Berechnungen mit dem leeren Band enden.
Wenn wir eine Berechnung von M anhalten, dann können wir die gegenwärtige Situation
durch den
- Bandinhalt α1 · · · αN ∈ ΓN ,
- den gegenwärtigen Zustand q ∈ Q und
70
KAPITEL 3. SPEICHERPLATZ-KOMPLEXITÄT
- die Position des Kopfes
exakt beschreiben. Wenn der Kopf die Position i des Bands liest, dann beschreiben wir die
Konfiguration durch das Wort
α1 · · · αi−1 q αi · · · αN .
Die zu entwerfende Grammatik G wird Konfigurationen von M rückwärts konstruieren. G
besitzt
(Γ \ Σ) ∪ Q ∪ {}
als Variablenmenge und qa als Startsymbol. Zuerst wird der von M benutzte Bandbereich
durch die Produktionen qa → Bqa | qa B erzeugt. Dann beginnt die Rückwärtsrechnung.
Fall 1: δ(q, a) = (q 0 , b, links). Wir nehmen die Produktion
q 0 cb → cqa für alle c ∈ Γ
auf: Wenn die Konfiguration ∗ · · · ∗ q 0 cb ∗ · · · ∗ schon erzeugt wurde, können wir damit die
mögliche Vorgänger-Konfiguration ∗ · · · ∗ cqa ∗ · · · ∗ erzeugen.
Fall 2: δ(q, a) = (q 0 , b, bleib). Wir fügen die Produktion
q 0 b → qa.
zu G hinzu.
Fall 3: δ(q, a) = (q 0 , b, rechts). Diesmal nehmen wir die Produktion
bq 0 → qa.
auf.
Am Ende der Ableitung werden wir eine Konfiguration
Bk q0 wBs
erzeugt haben. Die zusätzlichen Produktionen
q0
B 1
1
2 a
2
3 B
3
→
→
→
→
→
→
→
1
1
2
a2 für a ∈ Σ
3
3
das leere Wort
garantieren jetzt, dass das Wort w abgeleitet wird und dass die Ableitung die Form
∗
∗
qa → Bk q0 wBs → w hat. Insbesondere ist w genau dann ableitbar, wenn M die Konfigurationenfolge
∗
Bk q0 wBs → qa
3.4. KOMPLEXITÄTSKLASSEN UND DIE CHOMSKY HIERARCHIE
71
durchläuft.
(b) Zuerst beachten wir, dass eine kontextsensitive Grammatik längenerhaltend ist: Die
rechte Seite v einer kontextsensitiven Produktion u → v ist mindestens so lang wie die linke
Seite u. Wenn wir also aus dem Startsymbol ein Wort w ∈ Σ∗ erzeugen, dann sind alle zwischenzeitlich erzeugten Strings aus (Σ∪Γ)∗ in ihrer Länge durch |w| nach oben beschränkt.
Das aber bedeutet, dass wir eine mögliche Ableitungsfolge auf Platz O(|w|) raten und verifizieren können: Jede kontextsensitive Sprache kann also durch eine nichtdeterministische
Turingmaschine auf linearem Platz erkannt werden.
Betrachten wir jetzt eine nichtdeterministische Turingmaschine M , die auf linearem Platz
rechnet. Wir können zuerst annehmen, dass M sogar in-place arbeitet.
In Teil (a) haben wir eine beliebige Turingmaschine M durch Typ-0 Grammatiken simuliert
und insbesondere die Äquivalenz
∗
qa → Bk q0 wBs ⇔ w ∈ L(M )
∗
erhalten. Sämtliche Produktionen der Ableitung qa → Bk q0 wBs sind längenerhaltend. Wenn
die Maschine M aber in-place arbeitet, erhalten wir deshalb die Äquivalenz
∗
qa → q0 w ⇔ w ∈ L(M ).
Mit anderen Worten, wenn L ∈ Nspace(n), dann besitzt q0 L eine kontextsensitive Grammatik. Wir sind fertig, denn:
Aufgabe 40
Wenn q0 L kontextsensitiv ist, dann ist auch L kontextsensitiv.
(c) Für die Beziehung
NL ⊆ LOGCFL
genügt der Nachweis, dass D-REACHABILITY mit einer LOGSPACE-Reduktion auf eine kontextfreie Sprache L reduziert werden kann. Wir beschreiben L, indem wir einen
Kellerautomaten K angeben, der L akzeptiert.
K nimmt an, dass die Eingabe w ein Element von (a∗ b∗ )∗ ist und interpretiert ein Teilwort
ar bs als die Kante von Knoten r nach Knoten s; ein mehrmaliges Auftreten von Kanten ist
erlaubt.
K rät einen Weg von Knoten 1 nach Knoten 2,
- indem es eine erste Kante (1, u) rät und u auf den Keller legt.
- Der Knoten v liege gegenwärtig auf dem Keller. K rät eine Kante (v 0 , w), die in der
Eingabe nach den bisher geratenen Kanten erscheint.
– Mit Hilfe des Kellers verifiziert K, dass v = v 0 gilt. Gilt v 6= v 0 , verwirft K.
– K legt w auf den Keller und akzeptiert, wenn w = 2.
72
KAPITEL 3. SPEICHERPLATZ-KOMPLEXITÄT
– Für w 6= 2 wiederholt K sein Vorgehen.
Wir beschreiben eine LOGSPACE-Reduktion von D-REACHABILITY auf L. Für einen
gerichteten Graphen G zählen wir die Anzahl n der Kanten. Danach geben wir die Kanten,
in einer jeweils beliebigen Reihenfolge, genau n − 1 Mal aus. Der Kellerautomat K, wenn
auf die Ausgabe angesetzt, findet genau dann einen Weg von Knoten 1 nach Knoten 2,
wenn ein solcher Weg in G existiert.
Die verbleibende Beziehung „LOGCFL⊆ Dspace(log22 n)“ folgt aus der nächsten Übungsaufgabe.
Aufgabe 41
Zeige, dass das Wortproblem für kontextfreie Sprachen in Dspace(log22 n) liegt.
(d) Die Behauptung folgt aus Satz 3.1.
(e) Beachte, dass L1 eine echte Teilmenge von L0 ist, da alle Sprachen in L1 entscheidbar
sind. Die restlichen (echten) Inklusionen haben wir in den obigen Beispielen nachgewiesen.
Wie schwierig ist das Wortproblemn für die Klasse der kontextsensitiven Sprachen? Viel
zu schwierig, denn das NP-vollständige Erfüllbarkeitsproblem ist kontextsensitiv. Aber die
Situation ist sogar noch viel schlimmer, denn das Wortproblem ist, wie wir gleich sehen
werden, sogar PSPACE-vollständig.
Satz 3.10 (Das Wortproblem für kontextsensitive Sprachen)
1. Die Sprache KNF-SAT ist kontextsensitiv.
2. Das Wortproblem für kontextsensitive Sprachen ist PSPACE-vollständig.
Beweis (a): Wir können natürlich eine erfüllende Belegung auf linearem Platz raten und
verifizieren. Die Behauptung folgt also aus Satz 3.9 (b).
(b) ist eine Konsequenz der folgenden Übungsaufgabe.
Aufgabe 42
Zeige, dass das Wortproblem für kontextsensitive Sprachen PSPACE-vollständig ist.
Wie verhalten sich die Klassen P, NP und PSPACE zu den Klassen der Chomsky-Hierarchie?
Satz 3.11
(a) L3 ⊂ L2 ⊂ P und alle Inklusionen sind echt.
(b) L1 ⊂ PSPACE ⊂ L0 und alle Inklusionen sind echt.
Beweis (a): Da das Wortproblem in Zeit O(|w|3 ) lösbar ist, gehören alle kontextfreien
Sprachen zur Klasse P. Die Sprache {ak bk ck | k ∈ N} ist nicht kontextfrei, gehört aber
natürlich zur Klasse P. Also ist L2 eine echte Teilmenge von P.
3.5. PROBABILISTISCHE TURINGMASCHINEN UND QUANTENRECHNER
73
(b) In Satz 3.9 haben wir gezeigt, dass L1 = Nspace(n) gilt. Damit folgt L1 ⊆ Dspace(n2 )
aus dem Satz von Savitch. Schließlich können wir Dspace(n2 ) ⊂ PSPACE aus der Speicherplatz-Hierarchie von Satz 1.5 folgern.
Wiederum aus Satz 3.9 wissen wir, dass L0 mit der Klasse der rekursiv aufzählbaren
Sprachen übereinstimmt. Da jede Sprache in PSPACE entscheidbar ist, muss die Inklusion
PSPACE ⊂ L0 echt sein.
3.5
Probabilistische Turingmaschinen und Quantenrechner
Um „wieviel mächtiger“ sind probabilistische Turingmaschinen oder Quanten-Turingmaschinen
im Vergleich zu „stink-normalen“ deterministischen Turingmaschinen?
Wir führen zuerst probabilistische Turingmaschinen ein. Eine probabilistische Turingmaschine M wird durch den Vektor
M = (Q, Σ, δ, q0 , Γ, F )
beschrieben. Die Überführungsfunktion δ hat, im Gegensatz zu deterministischen Turingmaschinen die Form
δ : Γ × Q × Γ × Q × {links, bleib, rechts} −→ [0, 1] ∩ Q
und weist jedem möglichen Übergang
(γ, q) −→ (γ 0 , q 0 , Richtung)
die Wahrscheinlichkeit
δ(γ, q, γ 0 , q 0 , Richtung)
zu. Wir verlangen, dass für jedes Paar (γ, q) ∈ Γ × Q eine Wahrscheinlichkeitsverteilung
auf den Übergängen vorliegt. Das heißt, wir fordern für jedes Paar (γ, q) die Bedingung
δ(γ, q, γ 0 , q 0 , Richtung) = 1.
X
(γ 0 ,q 0 ,Richtung)∈Γ×Q×{links,bleib,rechts}
Wie arbeitet eine probabilistische Turingmaschine M ? Für Eingabe x wird M potenziell
viele Berechnungen ausführen. Als Berechnung bezeichnen wir dabei die Folge von Konfigurationen
B : C0 → C1 → C2 → . . . → Cm ,
die die Maschine durchläuft. Die Konfiguration C0 ist die Konfiguration, bei der der Bandinhalt die Eingabe ist, der aktuelle Zustand der Anfangszustand q0 und der Lese-/Schreibkopf
in der Ausgangsposition ist. Als Wahrscheinlichkeit einer Berechnung bezeichnen wir das
Produkt aller Übergangswahrscheinlichkeiten. Also
prob(B) =
m−1
Y
i=0
pi
74
KAPITEL 3. SPEICHERPLATZ-KOMPLEXITÄT
wenn pi die Wahrscheinlichkeit des Übergangs von Konfiguration Ci zu Konfiguration Ci+1
bezeichnet. Wie sollen wir die von einer probabilistischen Turingmaschine M akzeptierte
Sprache definieren? Es liegt nahe, für jede Eingabe x die Wahrscheinlichkeit akzeptierender
Berechnungen, also
X
px =
prob(B)
B ist akzeptierende Berechnung von x
zu messen.
Definition 3.4 Sei M eine probabilistische Turingmaschine, dann ist
1
= x ∈ Σ |px >
2
LM
∗
die von M akzeptierte Sprache. Wir sagen, dass M beschränkten Fehler besitzt, falls es
> 0 gibt, so dass stets px ≤ 12 − gilt, falls x nicht zur Sprache L gehört und px ≥ 12 + gilt, falls x zur Sprache L gehört.
Probabilistische Berechnungen mit beschränktem Fehler sind ein sinnvolles und in der Praxis nützliches Berechnungsmodell: Wenn wir eine Berechnung k-mal für eine vorgegebene
Eingabe x laufen lassen und das Mehrheitsergebnis übernehmen, dann wird die Wahrscheinlichkeit eines Fehlers höchstens
2−Ω(k)
sein. (Warum ?)
Die Berechnungskraft probabilistischer Turingmaschinen mit unbeschränktem Fehler hingegen ist immens. So kann man zum Beispiel zeigen, dass nichtdeterministische Turingmaschinen ohne Zeitverlust simuliert werden können.
Satz 3.12 Sei M eine probabilistische Turingmaschine (mit nicht notwendigerweise beschränktem Fehler). Wenn die worst-case Laufzeit einer jeden Berechnung für Eingaben
der Länge n durch t(n) beschränkt ist, dann gilt
L(M ) ∈ Dspace(t).
Beweisskizze : Die höchstens 2O(t(n)) Berechnungen für eine vorgegebene Eingabe x werden nacheinander simuliert. Ein Zähler summiert die Wahrscheinlichkeiten akzeptierender
Berechnungen (auf O(t(n)) Zellen). Nachdem alle Berechnungen simuliert sind, wird ge
prüft, ob der Zähler einen Wert größer 21 hat, und in diesem Fall wird akzeptiert.
Wir kommen als nächstes zu einer allerdings nur recht oberflächlichen Beschreibung von
Quantenrechnern. Zu Anfang erinnern wir an das Rechnen mit komplexen Zahlen.
C =
√
{x + iy | x, y ∈ R} bezeichnet die Menge der komplexen Zahlen und es ist i = −1. Für
die komplexe Zahl z = x + iy ist z̄ = x − iy die Konjugierte von z. Die Länge von z ist
durch
q
|z| = x2 + y 2
3.5. PROBABILISTISCHE TURINGMASCHINEN UND QUANTENRECHNER
75
definiert und für komplexe Zahlen z1 , z2 ∈ C mit zk = xk + iyk ist
z1 + z2 = x1 + x2 + i(y1 + y2 )
z1 · z2 = x1 · x2 − y1 · y2 + i(x1 · y2 + x2 · y1 ).
Die Grobstruktur eines Quantenrechners ähnelt der einer probabilistischer Turingmaschine.
Diesmal hat aber die Überführungsfunktion δ die Form
δ : Γ × Q × Γ × Q × {links, bleib, rechts} −→ Q + iQ
wobei nur komplexe Zahlen der Länge höchstens 1 zugewiesen werden. Wie im Fall probabilistischer Turingmaschinen gibt es zu jedem Paar (γ, q) ∈ Γ × Q potentiell viele Übergänge,
wobei diesmal
X
|δ(γ, q, γ 0 , q 0 , Richtung|2 = 1
γ 0 ,q 0 ,Richtung
gelten muß. Wir sagen, dass
δ(γ, q, γ 0 , q 0 , Richtung)
die (Wahrscheinlichkeits-)Amplitude ist und, dass
|δ(γ, q, γ 0 , q 0 , Richtung)|2
die zugewiesene Wahrscheinlichkeit ist. Bisher haben wir nur eine merkwürdige Darstellung der Wahrscheinlichkeit eines Übergangs kennengelernt, der wesentliche Unterschied
zu den probabilistischen Turingmaschinen folgt aber sofort: Wir weisen jeder Berechnung
B das Produkt pB der ihren Übergängen entsprechenden Wahrscheinlichkeitsamplituden
zu. Charakteristischerweise werden wir im Allgemeinen aber viele Berechnungen haben,
die in derselben Konfiguration C enden. Wir weisen der Konfiguration C die Wahrscheinlichkeitsamplitude
X
τC =
pB
B führt auf C
zu und definieren
|τC |2
als die Wahrscheinlichkeit der Konfiguration C. Die von einem Quantenrechner Q akzeptierte Sprache definieren wir dann als



L(Q) = x|
1 
|τC |2 > , 
2
ist akzeptierende Konfiguration von Q auf Eingabe x
X
C
analog zu probabilistischen Turingmaschinen.
Unsere Beschreibung ist zu diesem Zeitpunkt unvollständig: Das beschriebene Rechnermodell ist weitaus mächtiger als das Modell der Quantenrechner. Deshalb noch einmal ein
Ausflug in die komplexe Zahlen.
76
KAPITEL 3. SPEICHERPLATZ-KOMPLEXITÄT
Für eine Matrix A = (zi,j )1≤i,j≤n mit komplexwertigen Einträgen ist
A = (zj,i )1≤i,j≤n
die konjugiert Transponierte von A. Wir nennen A unitär, falls
A · A = Einheitsmatrix.
Wir halten jetzt in der Konfigurationsmatrix AQ die Wahrscheinlichkeitsamplituden eines
1-Schritt Übergangs zwischen je zwei Konfigurationen C und C 0 fest. Also
AQ [C, C 0 ] = Wahrscheinlichkeitsamplitude des Übergangs von C nach C 0 .
Eine Quantenberechnung liegt vor, wenn die Matrix AQ unitär ist.
Satz 3.13 Wenn ein Quantenrechner Q die Sprache L(Q) in Zeit t(n) akzeptiert, dann
ist
L(Q) ∈ Dspace(t2 ).
Hierzu ist die Forderung eines beschränkten Fehlers ebenso nicht notwendig wie die Forderung, dass die Konfigurationsmatrix AQ unitär ist.
Beweisskizze : Die simulierende deterministische Turingmaschine wird die Einträge des
Matrix/Vektor-Produkts
t(n)
AQ · v
nacheinander berechnen und die Wahrscheinlichkeiten akzeptierender Konfigurationen aufsummieren. Es wird akzeptiert, falls die Summe größer als 1/2 ist. Warum funktioniert
dieser Ansatz, wenn wir den Vektor v durch
(
vi =
0 i 6= Startkonfiguration
1
sonst
definieren? Der Vektor AQ ·v gibt die Wahrscheinlichkeitsamplituden der 1-Schritt Nachfolger der Startkonfiguration wieder und allgemeiner listet der Vektor AkQ · v die Wahrscheinlichkeitsamplituden der k-Schritt Nachfolger auf. Im letzten Schritt (also k = t(n)) müssen
wir dann nur noch von den Wahrscheinlichkeitsamplituden zu den Wahrscheinlichkeiten
übergehen.
t(n)
Wie berechnet man AQ · v in Platz O(t2 (n))? Die Matrix AQ besitzt 2O(t(n)) Zeilen und
Spalten! Hier ein Tip: Der Vektor AkQ · v kann in Platz O(k · t(n)) berechnet werden. Selbst bei unbeschränktem Fehler liegen also Sprachen, die von probabilistischen Turingmaschinen oder von Quanten-Turingmaschinen in polynomieller Zeit akzeptiert werden, in
PSPACE. Diese Aussage gilt selbst bei unbeschränktem Fehler.
3.6. ZUSAMMENFASSUNG
3.6
77
Zusammenfassung
Wir haben zuerst deterministische Speicherplatzklassen untersucht. Wir haben gesehen,
dass die auf Speicherplatz o(log2 log2 n) berechenbaren Sprachen mit den regulären Sprachen übereinstimmen und deshalb „bringt ein zu kleiner Speicherplatz nichts Neues“.
Die erste nicht-triviale Klasse ist die Klasse DL aller auf logarithmischem Platz berechenbaren Sprachen. Wir haben die Grenzen der Berechnungskraft von DL am Beispiel von
D-REACHABILITY betrachtet. Wir haben das Konzept der Log-Space Reduktionen entwickelt, um zu zeigen, dass D-REACHABILITY NL-vollständig ist, also ein schwierigstes
Problem in NL ist, der Klasse aller in logarithmischem Platz nichtdeterministisch lösbaren Entscheidungsprobleme. (Insbesondere folgt, dass NL in P enthalten ist.) Weitere NLvollständige Probleme sind 2-SAT, das Wortproblem für NFA und der Test auf Bipartitness.
Der Satz von Savitch weist nach, dass Nichtdeterminismus nur zu einem quadratischen
Speicherplatzgewinn führt, da Nspace(s) ⊆ Dspace(s2 ) für platz-konstruierbare Funktionen s gilt. Auch das Komplementverhalten ist „nicht typisch für Nichtdeterminismus“,
denn es ist überraschenderweise Nspace(s) = coNspace(s), falls s platz-konstruierbar ist.
Schließlich haben wir die wichtige Komplexitätsklasse PSPACE definiert. PSPACE lässt sich
als die Komplexitätsklasse nicht-trivialer Zwei-Personen Spiele auffassen, da das Problem
der quantifizierten Booleschen Formeln PSPACE-vollständig ist. Entscheidungsprobleme für
reguläre Ausdrücke oder NFA, wie die Universalität, das Äquivalenzproblem oder die Minimierung, haben sich als unanständig schwierig, nämlich als PSPACE-hart herausgestellt.
Die Klasse PSPACE ist mächtig und enthält alle Entscheidungsprobleme, die durch randomisierte Algorithmen oder Quanten-Algorithmen in polynomieller Zeit lösbar sind.
Wir haben dann die Chomsky-Hierarchie betrachtet. Die rekursiv aufzählbaren Sprachen
sind genau die Sprachen, die von unbeschränkten Grammatiken erzeugt werden können.
Selbst die kontextsensitiven Sprachen sind noch zu komplex, da ihr Wortproblem PSPACEvollständig sein kann. (Beachte, dass die Klasse PSPACE die Klasse NP enthält und dementsprechend ist eine Lösung eines PSPACE-vollständigen Wortproblems in aller Wahrscheinlichkeit noch sehr viel komplexer als die Lösung eines NP-vollständigen Problems.) Demgegenüber stehen die kontextfreien Sprachen, deren Wortproblem bei Beschränkung auf
deterministisch kontextfreie Sprachen sogar in Linearzeit gelöst werden kann.
78
KAPITEL 3. SPEICHERPLATZ-KOMPLEXITÄT
Kapitel 4
Parallelität
Das Textbuch „Limits to Parallel Computation: P-Completeness Theory“, von Raymond
Greenlaw, James Hoover und Walter Ruzzo, Oxford University Press (1995) ist eine sehr
gute Referenz für die Inhalte dieses Kapitels1 .
Wie verhalten sich die Komplexitätsklassen ACk , NCk und P zueinander?
Satz 4.1 Für alle k ∈ N gilt
(a) ACk ⊆ NCk+1 ⊆ ACk+1 .
(b) AC = NC ⊆ P.
Beweis (a): Die Inklusion NCk+1 ⊆ ACk+1 ist offensichtlich. Wir zeigen ACk ⊆ NCk+1 . Sei
(Sn )n∈N eine uniforme Schaltkreisefamilie, die eine Sprache aus ACk akzeptiert. Ein Undbzw. Oder-Gatter mit p Eingängen kann durch einen binären Baum der Tiefe dlog2 pe
und Größe höchstens 2p + 1 simuliert werden. Da der Fanin von Sn durch n + Größe(Sn )
beschränkt ist und da Größe(Sn ) polynomiell in der Eingabelänge n ist, führt die Ersetzung
der Knoten von Sn durch Binärbäume auf eine um höchstens den Faktor O(log2 n) größere
Tiefe. Beachte, daß die Größe durch die Ersetzungen höchstens quadriert wird.
(b) Die Gleichheit AC = NC folgt aus Teil (a). Betrachten wir die Inklusion NC ⊆ P. Sei
L ∈ NC. Dann gibt es eine uniforme Schaltkreisfamilie (Sn )n∈N , die L berechnet. Es genügt
zu zeigen, daß Sn in polynomieller Zeit konstruierbar und auswertbar ist. Die polynomielle
Konstruierbarkeit folgt, da Sn durch eine logarithmisch-platzbeschränkte Turingmaschine berechenbar ist. Eine Auswertung gelingt mit Tiefensuche in polynomieller Zeit, da
Größe(Sn ) = poly(n).
Aufgabe 43
Zeige, dass man zwei Binärzahlen in AC0 addieren kann (d.h. jedes Bit der Summe in AC0
berechnen kann).
1
Das Buch kann auch über die Webseite
http://www.cs.armstrong.edu/greenlaw/research/PARALLEL/limits.pdf heruntergeladen werden.
79
80
KAPITEL 4. PARALLELITÄT
Aufgabe 44
Es sei ein nichtnegativ gewichteter, gerichteter Graph als Distanzmatrix mit Einträgen einer
bestimmten Bitlänge gegeben. Es soll für alle Knotenpaare die Länge des kürzesten Weges
zwischen ihren Knoten bestimmt werden. Hierzu wird ein paralleler Algorithmus gesucht,
der ähnlich wie Floyds Algorithmus arbeitet. Der Algorithmus soll mit den Ressourcen von
NC2 arbeiten.
Hinweis: Betrachte eine Matrixmultiplikation, bei der statt der normalen Multiplikation
die Addition und statt der normalen Addition die Minimumbestimmung verwendet wird
und wende diese auf das Problem an.
Aufgabe 45
Eine Formel ist ein Schaltkreis mit Fanin 2 und Fanout 1, d.h. die Graphstruktur einer
Formel ist ein Baum. Die Größe einer Formel ist die Anzahl der Blätter.
(a) Zeige: Jede Funktion in NC1 hat eine polynomiell große Formel.
(b) Zeige: Wenn f eine Formel der Größe N hat, dann hat f eine äquivalente Formel der
Tiefe O(log2 N ).
Aufgabe 46
Die Klasse N-AC02 bestehe aus uniformen Schaltkreisfamilien mit unbeschränktem Fanin
und Tiefe 2, die nichtdeterministisch arbeiten, d.h., die zusätzlich zur „normalen“ Eingabe
ein nichtdeterministisches Ratewort lesen und entsprechend akzeptieren.
Zeige: NP = N-AC02 .
4.1
Parallele Rechenzeit versus Speicherplatz
Welche Funktionen können uniforme Schaltkreisfamilien in Tiefe s(n) berechnen? Angenommen, die uniforme Schaltkreisfamilie (Sn )n∈N hat Tiefe s(n) = Ω(log2 n). Wir führen
auf dem Schaltkreis in umgekehrter Richtung, also von der Senke zu den Quellen, eine Tiefensuche durch, um die Ausgabe des Schaltkreises Sn speicherplatz-effizient zu berechnen.
Anstatt den gesamten Schaltkreis zu speichern, leiten wir jedes Mal die für den Abruf einer speziellen benötigten Information über Sn alle durch die Beschreibung des Schaltkreises
gegebenen Informationen. Das gelingt mit Speicherplatz O(s(n)).
Wir speichern den Weg der Tiefensuche durch die Bitfolge ~b ab. Falls bi = 1 (bzw. bi = 0),
ist der (i + 1)-te Knoten des Wegs der rechte (bzw. linke) Nachfolger des i-ten Knoten.
Die Länge der Liste ist proportional zur Tiefe s(n) und die Turingmaschine rechnet mit
Speicherplatz O(s(n)). Wir haben also gerade nachgewiesen, dass
DEPTHuniform (s) ⊆ Dspace(s)
4.1. PARALLELE RECHENZEIT VERSUS SPEICHERPLATZ
81
gilt. Um die umgekehrte Fragestellung, nämlich die Simulation von „Speicherplatz“ durch
„Tiefe“ zu untersuchen, betrachten wir die transitive Hülle von Graphen.
Lemma 4.1 Konstruiere uniforme Schaltkreisfamilien (mit unbeschränktem Fanin), so
dass
(a) zwei Boolesche n × n-Matrizen in Tiefe zwei mit O(n3 ) Gattern multipliziert werden
und
(b) die transitive Hülle eines Graphen in Tiefe O(log2 n) und Größe O(n3 log2 n) mit
unbeschränktem Fanin berechnet wird.
Beweis (a): Offensichtlich kann ein Schaltkreis das Produkt
(A · B)[i, j] =
n
_
A[i, k] ∧ B[k, j]
k=1
in Tiefe zwei mit O(n3 ) Gattern berechnen.
(b) Sei A die Adjazenzmatrix eines gerichteten Graphen mit n Knoten und sei En die n×n
Einheitsmatrix. Man beweist durch Induktion über d, dass es genau dann einen Weg der
Länge d von i nach j gibt, wenn Ad [i, j] = 1.
Ein Weg von i nach j darf auf jedem seiner Knoten für mehrere Schritte verweilen. Mit
anderen Worten, es gibt genau dann einen Weg von i nach j, wenn (A ∨ En )n [i, j] = 1.
Die Matrix (A ∨ En )n kann mit wiederholtem Quadrieren für eine Zweierpotenz n schnell
berechnet werden.
B := A ∨ En ;
FOR i = 1 TO log2 n DO
B := B 2 ;
Jeder Quadrierungsschritt gelingt in Tiefe zwei und Größe O(n3 ) ist ausreichend. Wir haben
durch Übereinandersetzen von log2 n Schaltkreisen zur Matrizenmultiplikation die transitive Hülle in Tiefe O(log2 n) und Größe O(n3 log2 n) berechnet. Beachte, daß die erhaltene
Schaltkreisfamilie uniform ist (Warum? Wie geht man vor, wenn n keine Zweierpotenz
ist?).
Wir können jetzt die enge Kopplung zwischen den Komplexitätsmaßen „Speicherplatz“
und „Tiefe“ präzisieren.
Satz 4.2 Sei s : N → N mit s(n) = Ω(log2 n) gegeben. Die Funktion s sei platz-konstruierbar. Dann ist
Dspace(s) ⊆ Nspace(s) ⊆ DEPTH − SIZEuniform (s2 , 2O(s) ) ⊆ Dspace(s2 ).
82
KAPITEL 4. PARALLELITÄT
Beweis: Wir wissen, dass DEPTHuniform (s) ⊆ Dspace(s) gilt. Also genügt der Nachweis von
Nspace(s) ⊆ DEPTH − SIZEuniform (s2 , 2O(s) ). Sei also M eine nichtdeterministische Turingmaschine, die mit Speicherplatz höchstens s rechnet. Für Eingabe w betrachten wir den
Berechnungsgraphen GM (w). Wir haben zu entscheiden, ob es einen Weg vom Startknoten zu einem akzeptierenden Knoten in GM (w) gibt. Offensichtlich kann man annehmen,
dass es genau eine akzeptierende Konfiguration gibt, und wir müssen das Problem DREACHABILITY für GM (w) lösen
GM (w) hat höchstens N = 2O(s(n)) Knoten. Unser Schaltkreis berechnet zuerst GM (w),
indem für alle möglichen Paare u, v von Knoten überprüft wird, ob u direkter Vorgänger von v in GM (w) ist. Sodann lösen wir D-REACHABILITY mit Lemma 4.1 in Tiefe
O(log2 N ) = O(s) und Größe O(s(n)N 3 ) = 2O(s(n)) . Insgesamt haben wir mit einer uniformen Schaltkreisfamilie gearbeitet2 . Um den Fanin von maximal 2O(s(n)) auf zwei zu drücken,
muss die Tiefe von O(s) auf O(s2 ) erhöht werden, die Größe ändert sich dabei höchstens
polynomiell.
Aufgabe 47
Zeige, dass NL ⊆ AC1 gilt.
4.2
P-Vollständigkeit
Wir möchten die vom Standpunkt der Parallelisierbarkeit „schwierigsten“ Probleme in
P bestimmen und wählen die LOGSPACE-Reduzierbarkeit, um die Parallelisierbarkeit
zweier vorgegebener Sprachen zu vergleichen. Weshalb betrachten wir die LOGSPACEReduktion?
Lemma 4.2
(a) DL ⊆ NC2 .
(b) Zwei Sprachen L1 , L2 ⊆ {0, 1}∗ seien gegeben. Aus L1 ≤LOG L2 und L2 ∈ NC folgt
L1 ∈ NC.
Beweis (a): ist eine direkte Konsequenz von Satz 4.2.
(b) Nach Definition existiert eine deterministische, logarithmisch-platzbeschränkte Turingmaschine M mit
w ∈ L1 ⇔ M (w) ∈ L2 .
Da M logarithmisch-platzbeschränkt ist, kann jedes Ausgabebit von M durch eine Schaltkreisfamilie (Tn |n ∈ N) mit polynomieller Größe und Tiefe O(log22 n) berechnet werden,
denn DL ⊆ NC2 . Wenn also L2 durch die uniforme Schaltkreisfamilie (Sn |n ∈ N) polynomieller Größe und polylogarithmischer Tiefe erkannt wird, so ist auch L1 in polynomieller
Größe und polylogarithmischer Tiefe erkennbar. Daher ist L1 ∈ NC.
2
Um die Schaltkreisfamilie uniform zu konstruieren, muss die Platzkonstruierbarkeit von s(n) gefordert
werden.
83
4.2. P-VOLLSTÄNDIGKEIT
Da DL ⊆ NC2 gilt, sind alle Sprachen in DL parallelisierbar. Insbesondere ist die LOGSPACE-Reduktion durch einen Schaltkreis polynomieller Größe und der Tiefe O(log2 n)
simulierbar. Aus Teil (b) folgt aus L1 ≤LOG L2 , dass L1 parallelisierbar ist, wenn L2 parallelisierbar ist. Trotzdem ist Lemma 4.2 kein entscheidender Grund für die LOGSPACEReduktion, da die Aussage auch für andere Reduktionen gilt. Zum Beispiel könnten wir
statt LOGSPACE-Reduktionen als Transformation eine uniforme Schaltkreisfamilie mit
Tiefe poly(log2 n) und Größe poly(n) zulassen. Zwar ist ein solcher Ansatz legal und wird
gelegentlich auch benutzt, allerdings werden meistens „starke“ Transformationen nicht
benötigt: Die „schwache“ LOGSPACE-Reduktion genügt sogar, um die wichtigsten NPVollständigkeitsergebnisse zu etablieren. Wir arbeiten daher im weiteren nur mit der LOGSPACE-Reduktion.
Definition 4.1
(a) Eine Sprache L heißt genau dann P-hart, wenn K ≤LOG L für alle Sprachen K ∈ P
gilt.
(b) Eine Sprache L heißt genau dann P-vollständig, wenn L ∈ P und wenn L P-hart ist.
Die P-vollständigen Sprachen sind die vom Standpunkt der Parallelisierbarkeit die schwierigsten Sprachen in P: Wenn eine P-vollständige Sprache parallelisierbar ist, dann stimmen
NC und P überein und alle Sprachen in P wären überraschenderweise parallelisierbar.
Lemma 4.3 Sei L eine P-vollständige Sprache. Dann gilt:
P = NC ⇔ L ∈ NC.
Beweis ⇒: Da L ∈ P und da nach Voraussetzung P = NC, ist L ∈ NC.
⇐. Nach Voraussetzung ist L ∈ NC. Da L P-vollständig ist, gilt K ≤LOG L für alle K ∈ P.
Aus Lemma 4.2 folgt K ∈ NC für alle K ∈ P, also folgt P ⊆ NC. Nach Satz 4.1 gilt NC ⊆ P,
und wir erhalten die Behauptung.
4.2.1
Das Circuit Value Problem
Für einen Schaltkreis S sei hSi die Binärkodierung eines Programmes, das
• die Gatter von S in irgendeiner Reihenfolge aufzählt,
• jedem Gatter seine Funktion zuweist,
• sämtliche Kanten aufzählt und
• jeder Quelle eine Bitposition der Eingabe zuweist.
In diesem Abschnitt werden wir unsere erste P-vollständige Sprache kennenlernen, das
Circuit-Value-Problem (CVP). Das Problem CVP spielt als generisches Problem dieselbe Rolle wie das Erfüllbarkeitsproblem KNFSAT für die NP-Vollständigkeit, QBF für die
PSPACE-Vollständigkeit oder D-REACHABILITY für die NL-Vollständigkeit.
84
KAPITEL 4. PARALLELITÄT
Definition 4.2 Wir nehmen an, daß der Fanin für alle zu betrachtenden Schaltkreise
höchstens zwei ist.
(a) Die Sprache des Circuit-Value Problem ist gegeben durch
CVP = {hSix | S ist ein Schaltkreis mit Eingabe x und S(x) = 1.}
(b) Ein monotoner Schaltkreis besteht nur aus den Gatter ∧ und ∨. Die Sprache des
monotonen Circuit-Value Problems ist gegeben durch
M − CVP = {hSix | der monotone Schaltkreis S akzeptiert die Eingabe x }.
(c) Ein NOR-Schaltkreis besteht nur aus NOR-Gattern. Die Sprache des NOR-CircuitValue Problems ist gegeben durch:
NOR − CVP = {hSix | der NOR-Schaltkreis S akzeptiert die Eingabe x }.
Lemma 4.4 Die Sprachen CVP, M − CVP und NOR − CVP liegen in P.
Beweis: Ein Schaltkreis der Größe s mit n Eingaben kann sequentiell zum Beispiel mit
Hilfe der Tiefensuche in Zeit O(s + n) ausgewertet werden.
Das zentrale Resultat dieses Abschnitts ist die P-Vollständigkeit des Circuit-Value Problems.
Satz 4.3 CVP ist P-vollständig.
Beweis: Nach Lemma 4.4 ist CVP eine Sprache in P. Wir müssen noch zeigen, daß CVP
P-hart ist. Sei L eine beliebige Sprache in P. Wir zeigen die Reduktion L ≤LOG CVP.
Was ist über L bekannt? Es gibt eine deterministische Turingmaschine M , die L in höchstens t(n) Schritten akzeptiert. Die Schrittzahl t(n) ist durch ein Polynom q(n) nach oben
beschränkt. Um die geforderte Reduktion zu konstruieren, simulieren wir M für Eingaben
der Länge n durch einen Schaltkreis Sn .
Wir simulieren M mit einem Schaltkreis Sn , dessen Grobstruktur einem zwei-dimensionalen
Gitter entspricht. Die „i-te Zeile“ des Gitters gibt Bandinhalt, Kopfposition und Zustand
von M zum Zeitpunkt i wieder. Die i-te Zeile ist aus identischen kleinen Schaltreisen Si,j
aufgebaut, wobei Si,j die Zelle j zum Zeitpunkt i simuliert. Ein solcher kleiner Schaltkreis
Si,j muß
• den von Schaltkreis Si−1,j berechneten Bandinhalt speichern können, falls der Kopf
von M zum Zeitpunkt i die Zelle j nicht besucht und sonst
• den Bandinhalt verändern, abhängig vom gegenwärtigen Zustand und vom gegenwärtigen Bandinhalt. Weiterhin muss Si,j in diesem Fall den neuen Zustand und die
Richtung des Kopfes festlegen.
85
4.2. P-VOLLSTÄNDIGKEIT
Diese Aufgaben lassen sich durch einen Schaltkreis konstanter Größe bewerkstelligen, wenn
wir die Ausgänge von Si−1,j−1 , Si−1,j und Si−1,j+1 zu Eingängen von Si,j machen. Die
Ausgänge jedes Schaltkreises müssen
• den Bandinhalt kodieren,
• angeben, ob die Zelle gerade besucht wurde und wenn ja, den neuen Zustand und die
Kopfrichtung spezifizieren.
Beachte, dass sämtliche Schaltkreise Si,j „baugleich“ gewählt werden können, mit Ausnahme der Schaltkreise S0,j , die entweder zu setzen sind (j ∈
/ {1, . . . , n}) oder an die Eingabe
anzuschliessen sind (j ∈ {1, . . . , n}).
Wir müssen das Gitter noch „auswerten“, d.h. wir müssen feststellen, ob der letzte Zustand akzeptierend ist. Dies gelingt, wenn wir einen binären Auswertungsbaum „auf“ das
Gitter setzen. Man beachte, daß der beschriebene Schaltkreis durch eine logarithmischplatzbeschränkte Turingmaschine konstruierbar ist.
Bemerkung 4.1 Der Beweis von Satz 4.3 zeigt, dass wir eine polynomiell zeitbeschränkte Turingmaschine durch eine uniforme Schaltkreisfamilie polynomieller Größe simulieren
können. Für den Nachweis von P 6= NP genügt somit der Nachweis, dass irgendein NPvollständiges Problem keine polynomiell großen Schaltkreise besitzt.
Satz 4.4 M − CVP und NOR − CVP sind P-vollständig.
Beweis: Nach Lemma 4.4 sind M-CVP und NOR-CVP Sprachen aus P. Wir müssen noch
zeigen, daß die Sprachen P-hart sind.
6
v1 ∨
(v1 , 0) ∨
]
v2
]
(v2 , 0)
¬
6
v3 v4
∧
∨
M
]
x1
x2
(v , 1)
6
x3
∧ i
i
-
1
∧
O
(v2 , 1) ∧
1 1
(v3 , 0) (v3 , 1)
∧
∨ (v4 , 0) (v4 , 1) ∧
∨
x1
M
x2
]
x3
¬x3
M
¬x2
Abbildung 4.1: Beispiel zur Reduktion CVP ≤LOG M-CVP
Wir zeigen die Reduktion CVP ≤LOG M-CVP.
]
¬x1
86
KAPITEL 4. PARALLELITÄT
Sei (S, x) eine Eingabe für CVP. Wir „schieben“ sämtliche Negationsgatter hinab zu den
Quellen von S. Da
¬(u ∧ w) ⇔ ¬u ∨ ¬w
¬(u ∨ w) ⇔ ¬u ∧ ¬w
¬(¬u) ⇔ u
bedeutet der Schiebeprozess das Vertauschen von ∧- und ∨-Gattern sowie die Einführung
neuer Quellen für die negierte Eingaben.
Wir ersetzen ein Gatter v durch zwei Gatter (v, 0) und (v, 1) mit den Ausgaben v beziehungsweise ¬v. Die obige Abbildung zeigt ein Beispiel. Formal sieht die Transformation
wie folgt aus:
1. Für jedes Gatter v von S (mit Ausnahme der Senke von S) führen wir zwei Gatter
(v, 0) und (v, 1) ein. Mit (v, 0) simulieren wir das ursprüngliche Gatter, mit (v, 1)
simulieren wir das negierte Gatter. Die Senke s von S wird durch die Senke (s, 0)
des neuen Schaltkreises ersetzt. Wir nehmen an, daß die Senke ein ∧- oder ∨-Gatter
war.
2. Für jedes ∧-, ∨- oder ¬-Gatter des alten Schaltkreises fügen wir im neuen Schaltkreis
Verbindungen, wie in den beiden Abbildungen angedeutet, ein.
v
(v, 0)
∧
]
u
∧
∨
]
-
w
(u, 0)
(v, 0)
∨
∨
]
bzw.
(w, 0)
v
]
(v, 1)
(u, 1)
-
(w, 1)
(v, 1)
]
∧
]
bzw.
u
w
(u, 0)
(w, 0)
(u, 1)
(w, 1)
Abbildung 4.2: Ersetzen von ∧- und ∨-Gattern.
3. Wir ersetzen eine Quelle v (mit Eingabe xi ) durch die beiden Quellen (v, 0) (mit
Eingabe xi ) und (v, 1) (mit Eingabe ¬xi ).
87
4.2. P-VOLLSTÄNDIGKEIT
v
(v, 1)
¬
∧
(v, 0)
6
]
-
∧
]
bzw.
u
(u, 0)
(u, 0)
(u, 1)
(u, 1)
Abbildung 4.3: Ersetzen von ¬-Gattern.
Sei S ∗ der neue Schaltkreis (mit gleicher Senke wie S) und sei x∗ die neue Eingabefolge
von S ∗ . Offenbar gilt:
S akzeptiert x ⇔ S ∗ akzeptiert x∗ .
Beachte, dass die Transformation
hSix 7→ hS ∗ ix∗
durch eine Turingmaschine mit logarithmischer Platzbeschränkung berechnet werden kann.
Wir zeigen die Reduktion CVP ≤LOG NOR-CVP. Es ist nor(u, v) = ¬(u ∨ v). Jede
der Operationen ∧, ∨ und ¬ kann man mit NOR-Gattern darstellen, da nor(u, u) =
¬u, nor(¬u, ¬v) = u ∧ v und nor(nor(u, v),nor(u, v)) = u ∨ v. Eine deterministische,
logarithmisch-platzbeschränkte Turingmaschine kann somit zu jedem {∧, ∨, ¬}-Schaltkreis
S einen äquivalenten NOR-Schaltkreis S ∗ konstruieren. Es gilt
S akzeptiert x ⇔ S ∗ akzeptiert x.
Beachte, dass die Reduktion
hSix 7→ hS ∗ ix
in logarithmischem Platz ausgeführt werden kann.
4.2.2
Die Lineare Programmierung
Wir betrachten als nächstes das Problem der linearen Ungleichungen und der linearen
Programmierung.
Definition 4.3 Gegeben ist eine ganzzahlige Matrix A ∈ zm×n sowie Vektoren b ∈ Zm
und c ∈ Zn .
(a) Im Problem der linearen Ungleichungen ist zu entscheiden, ob es einen Vektor x ∈ Qn
mit Ax ≤ b gibt.
88
KAPITEL 4. PARALLELITÄT
(b) Im Problem der linearen Programmierung ist zu entscheiden, ob es einen Vektor
x ∈ Qn mit Ax ≤ b und c · x ≥ t gibt.
Das Problem der linearen Programmierung wird konventionell als Optimierungsproblem
formuliert:
Maximiere c · x, so daß Ax ≤ b und x ≥ 0 gilt.
Wir hingegen haben dieses Optimierungsproblem als Entscheidungsproblem formuliert.
Satz 4.5
(a) Das Problem der linearen Ungleichungen ist P-vollständig.
(b) Das Problem der linearen Programmierung ist P-vollständig.
Beweis: Beide Sprachen liegen in P, denn es existieren Polynomialzeit-Algorithmen. Bekannte Beispiele für solche Verfahren sind Karmarkars Algorithmus und die EllipsoidMethode.
(a) Wir zeigen die Reduktion M-CVP≤LOG Lineare Ungleichungen. Sei (S, x) eine Eingabe
für M-CVP. Wir weisen jedem Gatter von S Ungleichungen zu.
• Beschreibe zuerst die Eingabe x.
– Falls xi = 0, verwende die Ungleichungen xi ≤ 0 und −xi ≤ 0.
– Falls xi = 1, verwende die Ungleichungen xi ≤ 1 und −xi ≤ −1.
• Für ein Gatter v ≡ u ∧ w verwende die Ungleichungen: v ≤ u, v ≤ w, u + w − 1 ≤
v, 0 ≤ v.
• Für ein Gatter v ≡ u∨w verwende die Ungleichungen: u ≤ v, w ≤ v, v ≤ u+w, v ≤
1.
Durch Induktion über die topologische Nummer eines Gatters zeigt man, dass das lineare
Ungleichungssystem genau eine Lösung hat und der gewünschten Lösung entspricht. Wir
fügen noch die Ungleichung
−s ≤ −1
für die eindeutig bestimmte Senke s des Schaltkreises hinzu. S akzeptiert genau dann die
Eingabe x, wenn das konstruierte, lineare Ungleichungssystem lösbar ist.
(b) Die Behauptung folgt, da die Reduktion
lineare Ungleichungen ≤LOG lineare Programmierung
trivial ist.
Korollar 4.1 Das Problem der linearen Ungleichungen und das Problem der linearen Programmierung bleiben sogar dann P-vollständig, wenn man die Koeffizienten der Matrix A
und des Vektors b auf {−1, 0, 1} beschränkt.
4.2. P-VOLLSTÄNDIGKEIT
4.2.3
89
Parallelisierung von Greedy-Algorithmen
Greedy-Methoden sind im allgemeinen leicht zu implementieren und führen zu effizienten,
sequentiellen Algorithmen. Leider sind Greedy-Algorithmen häufig inhärent sequentiell.
Wir werden am Beispiel einer Heuristik für das Independent-Set-Problem sehen, dass eine
Parallelisierung nicht gelingen wird. (Gleichwohl gibt es andere Heuristiken, die lokale
Minima in polylogarithmischer Zeit bestimmen.)
Sei G = (V, E) ein ungerichteter Graph mit V = {1, . . . , n}. Im Independent-Set Problem
ist eine unabhängige Knotenmenge größter Kardinalität ist zu bestimmen. (Eine Knotenmenge ist unabhängig, wenn keine zwei Knoten der Menge durch eine Kante verbunden
sind.)
Algorithmus 4.1 Heuristik für das Independent-Set-Problem.
Die Eingabe besteht aus einem ungerichteten Graphen G = (V, E) mit V = {1, . . . , n}.
1. I(G) := ∅ .
2. FOR v = 1 TO n DO
IF (v ist nicht mit einem Knoten in I(G) verbunden) THEN I(G) = I(G)∪{v}.
3. Die Menge I(G) wird ausgegeben.
Die Heuristik des Greedy-Algorithmus’ 4.1 findet in jedem Fall ein lokales Minimum (also
eine unabhängige Menge, für die keine echte Obermenge unabhängig ist).
Im Lexicographically-First-Maximal-Independent-Set-Problem (LFMIS) ist ein ungerichteter Graph G = (V, E) mit V = {1, . . . , n} und ein Knoten v ∈ V gegeben. Es ist zu
entscheiden, ob der Knoten v von Algorithmus 4.1 gewählt wird.
Satz 4.6 Die Sprache LFMIS ist P-vollständig.
Beweis: LFMIS liegt in P, denn die Laufzeit von Algorithmus 4.1 ist linear in n. Wir zeigen
die Reduktion: NOR-CVP ≤LOG LFMIS.
Sei (S, x) die Eingabe für NOR-CVP und sei G = (V, E) die Graphstruktur des Schaltkreises S. Wir konstruieren einen ungerichteten Graphen G∗ = (V ∗ , E ∗ ) aus dem gerichteten
Graphen G: Füge einen neuen Knoten v0 hinzu und setzen genau dann eine Kante {v0 , i}
zum Eingabeknoten i ein, wenn xi = 0 ist. Es ist also
V ∗ = V ∪ {v0 } und E ∗ = {{v0 , i} | xi = 0} ∪ E.
Wir nummerieren die Knoten, so dass v0 die Nummer Eins erhält und die übrigen Nummern
der topologischen Nummerierung des Schaltkreises entsprechen. Durch Induktion über die
Nummerierung zeigen wir
I(G∗ ) = {v0 } ∪ {v ∈ V | Gatter v hat den Wert 1}.
90
KAPITEL 4. PARALLELITÄT
w
nor
]
u
v
Abbildung 4.4: Nor-Gatter im Induktionsschritt zu Beweis 4.6
• Verankerung: Da der Algorithmus stets den ersten Knoten in I(G∗ ) aufnimmt, ist
v0 ∈ I(G). Wenn eine Quelle i den Wert Null hat, wird i wegen der Kante {v0 , i}
nicht in I(G∗ ) aufgenommen. Wenn eine Quelle i den Wert Eins hat, wird i in I(G∗ )
aufgenommen.
• Induktionsschritt: Betrachten wir den Knoten w, der im Schaltkreis einem Nor-Gatter
w =nor(u, v) entspricht. Die Nummer der Knoten u und v ist kleiner als die Nummer
von w und es ist w = ¬(u ∨ v) = 0 ↔ (u = 1) ∨ (v = 1). Nach Induktionsannahme
ist u (bzw. v) genau dann in I(G∗ ), wenn u = 1 (bzw. v = 1) ist. Wegen der Kanten
{u, w} und {v, w} nimmt der Algorithmus genau dann w in die Menge I(G∗ ) auf,
wenn das Gatter w den Wert Eins hat.
Die Menge I(G∗ ) besteht also genau aus dem Knoten v0 und allen Knoten mit Ausgabe
Eins. Für die Senke s des NOR-Schaltkreises S ist
S(x) = 1 ⇐⇒ s ∈ I(G∗ )
und dies war zu zeigen.
4.3
Zusammenfassung
Wir haben Schaltkreise als paralleles Rechnermodell gewählt und die Klasse NC aller parallelisierbaren Sprachen eingeführt. Wir haben gesehen, dass ein enger Zusammenhang zwischen den Komplexitätsmaßen Tiefe und Speicherplatz besteht. Die Parallel-ComputationThesis verallgemeinert diesen Zusammenhang auf alle möglichen Modelle paralleler Rechner und postuliert eine polynomielle Beziehung zwischen der Rechenzeit eines jeden vernünftigen parallelen Rechnermodells und der Speicherplatzkomplexität der berechneten
Sprache.
Wir haben die Parallelisierbarkeit von Problemen untersucht und die im Hinblick auf
eine Parallelisierung schwierigsten Sprachen, die P-vollständigen Sprachen mit Hilfe der
LOGSPACE-Reduktion eingeführt. Wir haben das P-vollständige Circuit-Value Problem
4.3. ZUSAMMENFASSUNG
91
kennengelernt, das als generisches Problem dieselbe Rolle für die P-Vollständigkeit spielt
wie das Erfüllbarkeitsproblem KNFSAT für die NP-Vollständigkeit, QBF für PSPACE oder
wie D-REACHABILITY für die NL-Vollständigkeit. Die Lineare Programmierung wie auch
die Bestimmung der lexikographisch ersten maximalen unabhängigen Menge sind weitere
P-vollständige Probleme.
92
KAPITEL 4. PARALLELITÄT
Teil II
Untere Schranken
93
Kapitel 5
Die Komplexität Boolescher
Funktionen
Das Textbuch „Boolean Function Complexity“ (Springer-Verlag 2012) von S. Jukna ist die
Standard-Referenz für dieses Kapitel.
Welche Tiefe und welche Größe ist notwendig, um eine Boolesche Funktion
f : {0, 1}n → {0, 1}
mit {∧, ∨, ¬}-Schaltkreisen vom Fanin zwei zu berechnen?
Aufgabe 48
Die Funktion f hänge von jeder Eingabe ab, d.h. für jedes i ∈ {1, . . . , n} gibt es eine
Eingabe x ∈ {0, 1}n , so dass
f (x) 6= f (x ⊕ ei ),
wobei der Vektor ei in Position i mit 1 übereinstimmt und in allen anderen Positionen nur
aus Nullen besteht.
Zeige: DEPTH(f ) = Ω(log2 n) und SIZE(f ) = Ω(n).
Nicht-triviale Boolesche Funktionen benötigen somit mindestens logarithmische Tiefe. Welche Tiefe ist aber auch ausreichend, welche Größe wird benötigt?
Satz 5.1 Für alle n ∈ N gilt
(a) DEPTH(f ) ≤ n + dlog2 ne für jede Funktion f : {0, 1}n → {0, 1} und
(b) für mehr als die Hälfte aller Funktionen g : {0, 1}n → {0, 1}, ist
SIZE(g) = Ω(
2n
) und DEPTH(g) ≥ n − O(log2 n).
n
Beweis (a): Wir können f als Disjunktion von Konjunktionen auffassen, wobei die Konjunktionen den akzeptierten Eingaben entsprechen. Wir benötigen Tiefe dlog2 ne für die
Konjunktionen und Tiefe n für die maximal 2n Disjunktionen.
95
96
KAPITEL 5. DIE KOMPLEXITÄT BOOLESCHER FUNKTIONEN
6
Tiefe n
∨
?
6Tiefe
?
dlog2 ne
···
∧ ∧
∧
Von einer DNF zu einem Schaltkreis.
n
(b) Zuerst beachten wir, dass es 22 Boolesche Funktionen mit n Eingaben gibt. Wieviel
Schaltkreise mit genau m Knoten gibt es?
Wir können einen Schaltkreis beschreiben, indem wir seinen Graphen spezifizieren und
die Funktionsweise der Gatter definieren. Da wir drei Gatter zur Verfügung haben, gibt
es höchstens 3m mögliche Funktionsweisen für alle Knoten des Graphen. Wenn wir jedem
Knoten seinen einen oder seine beiden Vorgänger zuweisen, dann ist auch die Graphstruktur
beschrieben, und wir erhalten höchstens m2·m verschiedene Graphen. Schließlich müssen wir
noch die Eingabegatter beschreiben und ordnen den n Quellen des Graphen die jeweilige
Eingabeposition zu. Insgesamt gibt es also höchstens
3m · m2·m · n! ≤ 3m · m2·m · mm ≤ (3m)3m
Schaltkreise mit genau m Gattern. Wieviele Schaltkreise mit höchstens N Gattern gibt es?
Höchstens
N
X
(3m)3m ≤ N · (3N )3N = N O(N )
m=1
Schaltkreise. Da unterschiedliche Funktionen unterschiedliche Schaltkreise benötigen, ist
n
die Anzahl verschiedener Schaltkreise mindestens so groß sein wie die Anzahl 22 der Booleschen Funktionen, und wir erhalten die Forderung
n
22 ≤ N O(N ) .
n
Aber dann ist N = Ω( 2n ). Schaltkreise der Tiefe t haben aber höchstens
Knoten und deshalb muss zusätzlich t = n − O(log n) gelten.
Pt
i=0
2i = 2t+1 − 1
Wir haben mit einem Abzählargument gezeigt, dass die meisten Booleschen Funktionen sowohl exponentielle Größe wie auch lineare Tiefe besitzen. Was kann man denn für Sprachen
L zeigen, die zu NP gehören? Es ist leider fast schon beschämend, denn bessere GrößenSchranken als 5n − o(n) sind nicht bekannt, obwohl wir ja wissen, dass die meisten Funktionen exponentielle Größe benötigen!
Warum ist der Nachweis nicht-trivialer Größenschranken so schwierig? Wenn wir SIZE(L) =
nω(1) für eine Sprache L ∈ NP zeigen könnten, wenn wir also eine super-polynomielle Größenschranke nachweisen könnten, dann hätten wir P und NP getrennt!
Definition 5.1 P/poly =
polynomieller Größe.
S
k∈N
SIZE(nk ) ist die Klasse aller Sprachen mit Schaltkreisen
5.1. DIE GRÖßE VON SCHALTKREISEN BESCHRÄNKTER TIEFE
97
Wir schauen uns den Zusammenhang zwischen den Komplexitätsklassen P und P/poly genauer an.
Satz 5.2
(a) Für alle Funktionen t : N → N ist
DTIME(t) ⊆ SIZE(t2 ).
(b) P ⊆ P/poly .
(c) Wenn L 6∈ P/poly für eine Sprache L ∈ NP, dann gilt P 6= NP.
Aufgabe 49
Zeige Satz 5.2.
Wenn die Uniformität von Berechnungen in polyonomieller Zeit nicht entscheidend für eine
eingeschränkte Rechenkraft ist, dann ist die Betrachtung von Schaltkreisen polynomieller
Größe angeraten, wenn wir P und NP trennen möchten. Aus genau diesem Grund werden
wir uns jetzt weiter mit Schaltkreisen beschäftigen und versuchen, Größenschranken in
eingeschränkten Schaltkreismodellen abzuleiten. Insbesondere werden wir
• Schaltkreise mit beschränkter Tiefe, aber unbeschränktem Fanin
• und monotone Schaltkreise
betrachten. Wir schließen das Kapitel mit einer Untersuchung der Resolution, einem Beweissystem der Aussagenlogik. Hier fragen wir uns, ob es „einfache“ Formeln gibt, deren
Widerlegung exponentiell lange Resolutionsbeweise verlangt. Während Schaltkreise für die
?
Untersuchung der P = NP Frage geeignet sind, kann man mit Beweissystemen die NP = coNP
Frage untersuchen.
5.1
Die Größe von Schaltkreisen beschränkter Tiefe
Wir haben die Klasse ACk in Kapitel 4 als die Klasse aller Sprachen definiert, die uniforme
Schaltkreise polynomieller Größe und der Tiefe O(logk2 n) besitzen. In diesem Abschnitt
beschäftigen wir uns mit AC0 , also allen Sprachen mit Schaltkreisen polynomieller Größe
und beschränkter Tiefe O(1); die Uniformität der Schaltkreise werden wir nicht ausnutzen.
Was kann in AC0 berechnet werden?
Definition 5.2 Sei ei ∈ {0, 1}n das Wort mit einer Eins nur in Position i. Für eine
Boolesche Funktion f : {0, 1}n → {0, 1} definieren wir
(a) die Empfindlichkeit ex für Eingabe x als die Anzahl der Bitpositionen i für die
f (x) 6= f (x ⊕ ei ) gilt, für die das Flippen der Bitposition also zu einem geänderten Funktionswert führt.
98
KAPITEL 5. DIE KOMPLEXITÄT BOOLESCHER FUNKTIONEN
(b) Die Empfindlichkeit von f ist die durchschnittliche Empfindlichkeit e =
der Eingaben.
1
2n
P
x∈{0,1}n
ex
Wir werden zeigen, dass f nur dann zu AC0 gehört, wenn die Empfindlichkeit von f
höchstens poly-logarithmisch in n ist. Was sind die Konsequenzen? Die Paritätsfunktion xorn (x) = ⊕ni=1 xi hat die maximale Empfindlichkeit n und gehört deshalb nicht zu AC0 .
Ebenfalls nicht zu AC0 gehören aus dem gleichen Grund zum Beispiel
- die Mehrheitsfunktion majorityn mit majorityn (x) = 1 genau dann, wenn
n/2,
Pn
i=1
xi >
- die Multiplikation von zwei n-bit Zahlen
- connectivity2,n , nämlich die Frage, ob ein ungerichteter regulärer Graph mit n
Knoten und vom Grad zwei zusammenhängend ist.
Zu AC0 gehören hingegen
- die Addition von zwei n-bit Zahlen,
- die Multiplikation Boolescher Matrizen,
- für jede Konstante m ∈ N und jedes k ≤ logm
2 n die Fragen, ob ein String von n
Nullen und Einsen mindestens, höchstens oder genau k Einsen besitzt.
Zur Vorbereitung unserer Analyse führen wir zuerst eine „Schönheitsoperation“ auf dem
Schaltkreis S aus, wobei die Größe höchstens quadriert wird, die Tiefe aber unverändert
bleibt. Wir können nach der Schönheitsoperation annehmen, dass
- Negationsgatter nur für Eingabegatter verwandt werden und
- der Schaltkreis in Schichten aufgeteilt ist, wobei
∗ Kanten nur zwischen benachbarten Schichten verlaufen,
∗ eine Schicht entweder eine UND-Schicht ist (alle Gatter einer Schicht sind UNDGatter) bzw. eine ODER-Schicht (alle Gatter sind ODER-Gatter) und dass
∗ der Schaltkreis alterniert: Eine UND-Schicht ist nur mit ODER-Schichten benachbart und umgekehrt.
Aufgabe 50
Zeige, dass die Schönheitsoperation die Größe höchstens quadriert und die Tiefe unverändert läßt.
Warum hat S keine „Power“?
5.1. DIE GRÖßE VON SCHALTKREISEN BESCHRÄNKTER TIEFE
99
Definition 5.3 Eine Restriktion ist eine Funktion
ρ : {1, . . . , n} → {0, 1, ∗}.
Wenn wir die Restriktion ρ auf den Schaltkreis S anwenden, dann erhalten wir den Schaltkreis S|ρ , der nicht die Eingabe x ∈ {0, 1}n , sondern die Eingabe ρ(x) erhält:
- Wenn ρ(i) = 0 oder ρ(i) = 1, dann erhält S nur den auf 0, bzw 1 eingefrorenen Wert
von xi .
- Wenn ρ(i) = ∗, dann erhält S unveränderten den Wert xi . Wir sagen, dass Position
i „gesternt“ wird.
Man stelle sich vor, dass wir S mit einer zufällig ausgewürfelten Restriktion ρ „beschießen“:
Einige Positionen der Eingabe erhalten den Wert Null, andere den Wert Eins und die
verbleibenden Positionen bleiben unverändert. Man stelle sich weiterhin vor, dass wir ρ
zufällig auswürfeln, indem wir l zufällig bestimmten Positionen einen Stern zuweisen. Die
verbleibenden n − l Positionen werden mit Wahrscheinlichkeit 1/2 auf Null, bzw. Eins
gesetzt. Die Analyse wird zeigen müssen, welchen Wert l, also welchen Wert die Anzahl
gesternter Variablen annehmen sollte.
Wie wirkt sich eine Restriktion aus? Spielen wir einige Szenarien durch:
1. Ein bestimmtes UND-Gatter der Tiefe 1 wird bei entsprechend großem Fanin wahrscheinlich eine Null „abbekommen“, und wir können uns das Gatter als ersatzlos
gestrichen vorstellen.
2. Hat ein ODER-Gatter v der Tiefe zwei aber viele UND-Kinder mit nicht zu großem
Fanin, dann wird v eine beträchtliche Anzahl von lebendigen UND-Kindern v1 , . . . , vk
besitzen: Jedes Literal von vi wird entweder von einem Stern oder von einer Eins
getroffen, aber das UND-Gatter vi erhält mindestens einen Stern.
– Wenn der Fanin aller UND-Kinder klein ist, dann ist die Wahrscheinlichkeit
groß, dass für mindestens ein UND-Kind alle Literale nur von Einsen getroffen
werden. In diesem Fall ist das ODER-Gatter v erfüllt, und diesmal können wir
uns v als ersatzlos gestrichen vorstellen.
– Was passiert aber, wenn die UND-Kinder von v einen mittelgroßen Fanin haben?
Wir können nicht mehr davon ausgehen, dass die Restriktion ein UND-Kind von
v erfüllt, denn der Fanin ist zu groß. Die Situation ist brandgefährlich: Wir haben
viel Komplexität durch die Setzungen aufgegeben, aber das ODER-Gatter v ist
noch immer quick-lebendig!
Wenn wir eine Restriktion auf einen Schaltkreis S anwenden, dann können wir nicht darauf
hoffen, alle Gatter der Tiefe zwei zu trivialisieren, aber wir können darauf hoffen diese
Gatter weitgehend entschärft zu haben, nämlich jedes Gatter hochwahrscheinlich durch
einen Entscheidungsbaum geringer Tiefe darstellen zu können.
100
KAPITEL 5. DIE KOMPLEXITÄT BOOLESCHER FUNKTIONEN
Definition 5.4 Die Funktion f : {0, 1}n → {0, 1} sei gegeben. Ein Entscheidungsbaum T
für f ist ein geordneter binärer Baum mit den folgenden Eigenschaften:
(a) Jeder innere Knoten ist mit einer Eingabeposition i ∈ [n] markiert. Die Kante zum
linken Kind ist mit xi = 0, die Kante zum rechten Kind mit xi = 1 beschriftet.
(b) Jedes Blatt ist mit einem Bit markiert.
(c) Eine Eingabe x ∈ {0, 1}n beschreibt einen in der Wurzel beginnenden und in einem
Blatt bx endenden Weg in T : Der Funktionswert f (x) muss für alle Eingaben x mit
der Markierung des Blatts bx übereinstimmen.
Die Tiefe des Entscheidungsbaums ist die Länge des längsten Weges von der Wurzel zu
einem Blatt.
Ein Entscheidungsbaum gibt also die Möglichkeit, eine Boolesche Funktion kompakt zu
W
beschreiben. Für eine DNF f = i∈I mi bezeichnen wir max |mi | als den Bottom Fanin
von f : Der Bottom Fanin ist also die maximale Anzahl von Literalen in einem Monom mi
V
von f . Analog definieren wir den Bottom Fanin einer KNF f = i∈I ki als die maximale
Anzahl von Literalen in einer Klausel von f .
Wir werden jetzt einen überraschenden Zusammenhang zwischen der Tiefe von Entscheidungsbäumen und dem Bottom Fanin von DNFs oder KNFs aufdecken.
Lemma 5.1 Sei T ein Entscheidungsbaum für eine Boolesche Funktion f der Tiefe t.
Dann besitzt f eine DNF wie auch eine KNF mit jeweiligem Bottom fanin höchstens t.
Beweis: Angenommen, der Entscheidungsbaum T für die Boolesche Funktion f hat die
Tiefe t. Warum besitzt f eine KNF mit Bottom Fanin höchstens t, also eine KNF mit
Klauseln der Länge höchstens t? Betrachte einen Weg W in T , der in einem 0-Blatt endet.
Wir können eine Klausel KW der Länge s formulieren, die wenn erfüllt sicherstellt, dass
W nicht durchlaufen wird. Die Konjunktionen aller Klauseln KW für sämtliche 0-Wege W
ist die von uns gewünschte KNF mit Klauseln der Länge höchstens t.
T ist aber auch zu einer DNF mit Bottom Fanin höchstens t äquivalent, also zu einer
DNF mit Monomen, die aus höchstens höchstens t Literalen bestehen. Für jeden 1-Weg
W , also für jeden Weg W , der in einem 1-Blatt endet, bilden wir dazu das Monom MW ,
das nur erfüllt wird, wenn W durchlaufen wird. Die gewünschte DNF ist die Disjunktion
aller Monome MW für 1-Wege W .
Stellen wir uns die umgekehrte Frage: Können wir zum Beispiel für eine DNF mit Bottom Fanin höchstens t auch stets einen Entscheidungsbaum der Tiefe höchstens t finden?
Mitnichten, denn sogar der Bottom Fanin einer äquivalenten KNF explodiert unter Umständen. Betrachten wir dazu die simple DNF
n/2
f≡
_
i=1
x2i−1 ∧ x2i
5.1. DIE GRÖßE VON SCHALTKREISEN BESCHRÄNKTER TIEFE
101
vom Bottom Fanin zwei. Die zu f äquivalente KNF f 0 muss sicherstellen, dass alle 2n/2
Eingaben, die jedes Intervall {2i−1, 2i} mit genau einer Eins treffen, ausgeschaltet, und alle
Eingaben, die irgendein Intervall mit zwei Einsen treffen, akzeptiert werden. Jede Klausel
der KNF f 0 muss damit mindestens ein positives Literal xj für j ∈ {2i − 1, 2i} besitzen
und kann deshalb nur eine Eingabe ausschalten, die jedes Intervall mit genau einer Eins
trifft. Die KNF f 0 hat mindestens 2n/2 Klauseln, ihr Bottom Fanin ist deshalb mindestens
linear und jeder Entscheidungsbaum für f muss also auch lineare Tiefe besitzen!
Wenn wir also zu einer DNF f mit Bottom Fanin t einen Entscheidungsbaum geringer
Tiefe finden möchten, dann müssen wir f zuerst die „Zähne ziehen“: Natürlich hoffen wir,
dass genau das passiert, wenn wir eine zufällige Restriktion auf f anwenden. Haben wir
aber die Zähne erfolgreich gezogen, dann winkt die Belohnung, denn durch weitere Anwendungen von Restriktionen könnten wir allen Gattern des Schaltkreises– und damit auch
dem einen Ausgabegatter –einen Entscheidungsbaum nicht zu großer Tiefe zuweisen. Wir
können nicht erwarten, dass wir große Schaltkreise mit Hilfe von Restriktionen entschärfen
können, denn die gleichzeitige Entschärfung der vielen Gatter ist selbst bei einer zufälligen
Wahl von Restriktionen zu viel verlangt. Klappt dies aber für mittelgroße Schaltkreise,
dann brauchen wir nur noch zu zeigen, dass die zu berechnende Zielfunktion nur Entscheidungsbäume großer Tiefe besitzt, und wir haben nachgewiesen, dass die Zielfunktion nur
große Schaltkreise besitzt!
5.1.1
Das Switching Lemma
Erinnern wir uns an die gefährliche Situation nach Anwendung einer Restriktion: Ein
ODER-Gatter v besitzt relativ viele UND-Kinder mit „mittel-großem“ Fanin. UND-Kinder,
deren Literale nur Einsen und Sterne erhalten, machen uns jetzt das Leben schwer. Unsere
einzige Hoffnung ist, dass die Anzahl dieser Kinder klein ist, denn in diesem Fall hängt
der Eltern-Knoten v von den hoffentlich nur wenigen Sternen in diesen unentschiedenen
Kindern ab. Ist dies der Fall, dann könnten wir die von v berechnete DNF in eine nicht
zu große KNF überführen, die Schicht von v wäre zu einer UND-Schicht „gemorpht“ und
könnte mit der UND-Schicht der Eltern von v verschmolzen werden. S hätte eine Schicht
weniger, und wir würden nach dem gleichen Prinzip den Schaltkreis S „platt machen“.
Bloß, ist die Hoffnung nur weniger UND-Kinder mit Einsen und Sternen realistisch? Klar,
wir sollten die Wahrscheinlichkeit für die Wahl eines Sterns im Vergleich zur Wahl einer
Null oder Eins sehr viel kleiner machen. Aber wir dürfen nicht zu wenige Sterne wählen,
denn nachfolgende Schichten sollten mit demselben Trick „gekippt“ werden. Wir müssen
durchrechnen was passiert.
Fassen wir zusammen: Wir nehmen an, dass die erste, also die auf die Eingabegatter folgende Schicht nur aus UND-Gattern besteht. Unsere Strategie ist die Anwendung einer
zufällig ausgewürfelten Restriktion, verknüpft mit dem Versuch, die von Gattern der zweiten Schicht berechneten DNFs in KNFs zu überführen. Ist dies gelungen ohne die Größe
des Schaltkreises zu stark zu erhöhen, dann haben wir eine Schicht eingespart, da wir
die zweite Schicht der vorigen ODER-Gatter, aber jetzigen UND-Gatter mit der dritten
102
KAPITEL 5. DIE KOMPLEXITÄT BOOLESCHER FUNKTIONEN
Schicht der UND-Gattern verschmelzen können. Wir wiederholen unser Vorgehen bis wir
den Schaltkreis herunter auf zwei Schichten kollabiert haben.
Wir wissen, dass die Überführung einer DNF S in eine äquivalente KNF S 0 sehr teuer sein
kann, die Überführung der DNF S|ρ , also der DNF S nach Anwendung der Restriktion ρ,
in eine KNF moderater Größe wird deshalb im Allgemeinen nur dann gelingen, wenn S|ρ
nur noch von wenigen Variablen abhängt. Zur Kontrolle des Größenwachstum fordern wir,
dass S und S 0 denselben moderat großen Bottom Fanin t besitzen. Und wenn der Bottom
Fanin von Schaltkreis S anfänglich größer als t ist? Dann führen wir halt einmalig eine
zusätzliche Schicht in S ein, erhöhen die Tiefe um höchstens Eins und senken den Bottom
Fanin sogar auf Eins.
Aber wie messen wir von wievielen Variablen die DNF S|ρ abhängt? Natürlich, indem
wir einen Entscheidungsbaum Tρ für S|ρ bauen und dann seine Tiefe analysieren. Wir
geben eine Bauanleitung für Tρ und nennen Tρ den kanonischen Entscheidungsbaum für
S|ρ . Wenn S|ρ entweder konstant Null (alle Monome wurden eliminiert) oder konstant
Eins (ein Monom wurde erfüllt) ist, dann besteht Tρ nur aus der Wurzel. In diesem Fall
beschriften wir die Wurzel mit dem entsprechenden Wert. Hat die Restriktion ρ die DNF
nicht trivialisiert, dann ist ein jedes Monom Mi entweder tot (Mi wurde durch ρ falsifiziert)
oder lebendig (die Literale von Mi erhalten keine Null, aber mindestens einen Stern).
Wir legen eine beliebige Reihenfolge auf den Monomen und Variablen fest. Die Konstruktion von Tρ beginnt mit dem ersten lebendigen Monom Mi , indem Tρ sukzessive nach
allen gesternten Variablen von Mi gemäß der vorgegebenen Reihenfolge auf den Variablen
verzweigen: Taucht l = (¬)xj in Mi gesternt auf, dann verzweigt Tρ nach dem Wert von l.
• Wenn l = 1, fahren wir rekursiv mit der nächsten gesternten Variable von Mi fort.
Gibt es keine solche Variable, endet unsere Konstruktion, und wir markieren das
Blatt mit dem Wert 1: S|ρ wurde erfüllt.
• Wenn l = 0, fahren wir rekursiv mit dem nächsten lebendigen Monom Mj fort, denn
wir haben gerade das Monom Mi falsifiziert. Gibt es kein solches Monom Mj , endet
unsere Konstruktion, und wir markieren das Blatt mit dem Wert Null: Wir haben
alle Monome von S|ρ falsifiziert.
Die Tiefe des kanonischen Entscheidungsbaums Tρ bezeichnen wir mit
depth(S|ρ ).
Wir wissen, dass ein Entscheidungsbaum der Tiefe s zu einer DNF wie auch zu einer KNF
mit Bottom Fanin s äquivalent ist. Gilt also depth(S|ρ ) ≤ t für eine DNF S mit Bottom
Fanin höchstens t, dann können wir S in eine KNF mit Bottom Fanin ebenfalls höchstens
t umwandeln: Genau das ist unser Ziel!
Wir formulieren das Switching Lemma, um die Frage zu beantworten für welchen Bottom
Fanin t eine Umwandlung einer DNF in eine KNF (und umgekehrt) hochwahrscheinlich
„klappt“. Das Switching Lemma ist der zentrale Teil unserer Analyse.
5.1. DIE GRÖßE VON SCHALTKREISEN BESCHRÄNKTER TIEFE
103
Lemma 5.2 Switching Lemma
Die Parameter l, t ∈ N sind vorgegeben. S ist ein Schaltkreis der Tiefe zwei mit BottomFanin höchstens t.
Eine Restriktion ρ wird zufällig ausgewählt, indem l Positionen für die Platzierung der
Sterne ausgewürfelt werden. In den restlichen Positionen wird unabhängig voneinander
eine Null oder Eins jeweils mit Wahrscheinlichkeit 1/2 zugewiesen. Dann gilt
pr[ depth(S|ρ ) ≥ s ] ≤ (
12lt s
).
n
Das Ergebnis sieht gut aus, wenn ltn << 1 gilt, denn dann fällt die Wahrscheinlichkeit
einer großen Tiefe exponentiell mit s. Eine Umwandlung einer DNF in eine KNF, bei
Bottom Fanin t, gelingt somit hochwahrscheinlich, wenn die Wahrscheinlichkeit l/n für
eine Sternsetzung hinreichend klein ist. Warum spielt der Quotient ltn eine anscheinend so
wichtige Rolle?
Die Wahrscheinlichkeit, dass eine zufällig ausgewürfelte Menge
der
Größe l eine vorn
gegebene Menge der Größe t verfehlt, stimmt mit p = n−t
/
überein. Es ist
l
l
· · · n−t−l+1
≈ ( n−t
)l = (1 − t/n)l ≈ e−tl/n . Nach Lemma 1.2 ist ex/(1−x) ≤
p = n−t
n
n−l+1
n
1 − x ≤ e−x und, falls lt << n gilt, stimmt 1 − ltn approximativ mit der Wahrscheinlichkeit p überein: ltn ist also ungefähr die Wahrscheinlichkeit, dass ein vorgegebenes
Monom von mindestens einem Stern getroffen wird.
Die Aussage des Switching Lemmas macht somit Sinn: Wenn die Wahrscheinlichkeit l/n
für einen Stern so niedrig ist, dass die meisten Monome verfehlt werden, dann ist mit hoher
Wahrscheinlichkeit entweder ein Monom erfüllt oder es gibt nur wenige lebendige Monome.
Beweis: Wir nehmen an, dass S eine DNF ist, die Argumentation im Fall von KNFs verläuft völlig analog. Wir nehmen des Weiteren an, dass die Restriktion ρ einen kanonischen
Entscheidungsbaum Tρ der Tiefe mindestens s besitzt. Den lexikografisch ersten, in der
Q
Wurzel von Tρ beginnenden Weg der Länge s nennen wir .
Wir ändern die Restriktion ρ ab, und nennen die neue Restriktion ρ0 .
1. Alle in ρ auf Null oder Eins gesetzte Variablen werden unverändert in ρ0 übernommen.
2. s in ρ gesternte Variablen werden in ρ0 auf Null oder Eins gesetzt.
Und was ist der Clou? Bei entsprechend kleiner Wahrscheinlichkeit p für die Setzung eines
Sterns ist die Anzahl der abgeänderten Restriktionen ρ0 klein, denn in ρ0 werden einige
niedrig-wahrscheinliche Sterne durch hochwahrscheinliche Nullen oder Einsen ersetzt.
Einschub: Wir sind dabei die zentrale Beweisidee zu erreichen, nämlich eine kurze Beschreibung von ρ durch die Setzung von s Sternen. Gibt das eine wirkliche Ersparnis, denn
statt der s Sterne müssen s zusätzliche Variablen auf Null oder Eins gesetzt werden?
104
KAPITEL 5. DIE KOMPLEXITÄT BOOLESCHER FUNKTIONEN
Wieviele verschiedene Restriktionen ρ gibt es? Genau
n
l−s
n
l
2n−l Restriktionen gegenüber
2n−(l−s) Restriktionen, wenn wir s Sterne auf Null oder Eins setzen. Der Quotient
n
2n−(l+s)
l−s
n n−l
2
l
≤(
2l s
l s s
) 2 =(
)
n−l
n−l
zeigt, dass die Ersparnis signifikant ist, wenn l = o(n). Aber wir können nicht einfach
Sterne in ρ0 willkürlich setzen: Wir müssen die schlechten Restriktionen ρ zählen, d.h. wir
müssen ρ aus ρ0 rekonstruieren können. In anderen Worten, die Menge der in ρ0 gesetzten
Sterne muss erkennbar sein!
Wir ändern ρ in einer Reihe von Schritten. Wir beginnen mit dem nach der vorgegebenen
Monom-Reihenfolge ersten lebendigen Monom M1 für ρ und setzen die Werte der von ρ
gesternten Variablen in M1 so, dass M1 erfüllt wird. Wenn wir ρ so verändern, dann ist M1
das erste erfüllte Monom und bleibt das erste erfüllte Monom auch wenn später weitere
Sterne von ρ gesetzt werden.
M1 ist als erstes erfülltes Monom von ρ0 eindeutig bestimmt!
Wir übernehmen diese Änderungsstrategie für alle weiteren, zu dem Zeitpunkt ihrer BeQ
handlung lebendigen Monome M auf dem Weg . Wie können wir ρ aus ρ0 zurückgewinnen?
Q
1. Wir sind möglicherweise vom Weg abgewichen und müssen angeben, wie wir zum
Q
Weg zurückfinden. Wenn M1 genau s1 Sterne besitzt, dann gibt es genau 2s1 MögQ
lichkeiten für die von
gesetzten Variablen: Eine dieser 2s1 Möglichkeiten müssen
wir angeben.
Wenn wir im Verlauf unserer Änderungsstrategie Sterne in den Monomen Mj setzen,
und wenn Mj zum Zeitpunkt seiner Behandlung sj Sterne besitzt, dann geben wir
den Vektor
Zurück ∈ {0, 1}s1 +s2 ··· = {0, 1}s
an, um für jedes Mj zum Weg
chen Vektoren.
Q
zurückzufinden. Zurück ist also einer von 2s mögli-
2. Des Weiteren geben wir für alle Mj an, welche Variablen von Mj in ρ zum Zeitpunkt
der Behandlung von Mj gesternt waren. Wir werden mit kurzen Monomen arbeiten,
und können deshalb die gesetzten Sterne billig rekonstruieren.
Wie lang ist diese Zusatzinformation oder, formal gesprochen, wieviele Möglichkeiten
gibt es für die Wahl der Sterne in den lebendigen Monomen?
- Wir definieren die Menge
stars(t, s) = { (β1 , . . . , βk ) | ∀i : βi ∈ {∗, −}t , jedes βi besitzt mindestens
einen Stern und es gibt insgesamt s Sterne }.
5.1. DIE GRÖßE VON SCHALTKREISEN BESCHRÄNKTER TIEFE
105
Interpretiere βj als die Angabe der Platzierung der Sterne in Mj . Insbesondere
gibt es einen Vektor „Sterne“ ∈ stars(t, s), der alle in ρ0 gesetzten Sterne von ρ
beschreibt.
- |stars(t, s)| ist die Anzahl der Möglichkeiten für die Wahl der Sterne in den
lebendigen Monomen.
3. Die Zuordnung
ρ 7→ (ρ0 , Zurück, Sterne)
(5.1)
ist injektiv, denn wir können ρ aus ρ0 mit Hilfe der Zusatzinformationen „Zurück“
und „Sterne“ rekonstruieren.
Die konzeptionelle Arbeit ist geleistet und die Rechnerei beginnt.
Behauptung: |stars(t, s)| < (t/ ln(2))s
Beweis: Die reelle Zahl γ erfülle die Gleichung (1 + 1/γ)t = 2. Wir zeigen die Ungleichung
|stars(t, s)| < γ s
durch Induktion über s. Es ist |stars(t, 0)| = 0 und die Ungleichung ist für s = 0 richtig.
Der Induktionsschritt: Wenn β1 genau i Sterne besitzt, dann hat (β2 , . . . , βk ) genau s − i
Sterne, während es höchstens ti Platzierungen der i Sterne in β1 gibt. Wir kommen so
auf die Induktionsannahme zurück:
min{t,s}
X
|stars(t, s)| =
|stars(t, s − i)|
i=1
≤
t
X
t
X
t s−i
t 1 i
γ = γs
( )
γ
i
i=1 i
!
i=1
!
!
= γ
s
1
(1 + )t − 1 = γ s .
γ
Es ist (1 + 1/γ)t < et/γ mit Lemma 1.2 und deshalb folgt 2 < et/γ . Nach Logarithmierung
folgt γ < t/ ln(2).
Wieviele schlechte Restriktionen gibt es, also Restriktionen ρ für die der Entscheidungsbaum Tρ eine Tiefe von mindestens s besitzt? Die Anzahl dieser Restriktionen ist nach
(5.1) beschränkt durch
!
n
t s
2n−(l−s) · 2s · (
),
l−s
ln(2)
während die Anzahl der Restriktionen mit l Sternen nl 2n−l beträgt. Die Wahrscheinlichkeit, eine schlechte Restriktion zu wählen, ist somit für l ≤ n/2 beschränkt durch
n
l−s
t
2n−(l−s) · 2s · ( ln(2)
)s
n
l
2n−l
=
n
l−s
4t s
2n−l · ( ln(2)
)
n
l
2n−l
=
n
l−s
4t s
( ln(2)
)
n
l
106
KAPITEL 5. DIE KOMPLEXITÄT BOOLESCHER FUNKTIONEN
≤ (
4t s
8lt s
12lt s
l s
) ·(
) ≤(
) ≤(
).
n−l
ln(2)
n ln(2)
n
Das war zu zeigen.
Sei S ein Schaltkreis der Tiefe d und Größe g. Wir erhöhen die Tiefe um Eins und können
annehmen, dass der Bottom Fanin höchstens t = 2 log2 g beträgt. Weiterhin können wir
o.B.d.A. annehmen, dass die erste Schicht von S aus UND-Gattern Gattern besteht. Wir
wenden das Switching Lemma mit der Sternwahrscheinlichkeit
p=
l
1
=
n
24t
an, um die Tiefe von S um Eins zu reduzieren. Die Wahrscheinlichkeit, dass irgendeines der höchstens g vielen DNFs der zweiten Schicht einen Entscheidungsbaum der Tiefe
mindestens t = 2 log2 g besitzt, ist höchstens
g(
12
g
1
12lt 2 log2 g
)
= g( )2 log2 g = 2 = .
n
24
g
g
Mit Wahrscheinlichkeit 1− g1 haben wir somit für alle Knoten der zweiten Schicht Entscheidungsbäume der Tiefe höchstens t erhalten und können alle DNFs der zweiten Schicht in
n
gesternte, also ungesetzte
KNFs der Länge höchstens t umwandeln. Es verbleiben l = 24t
Variablen.
Wir wenden dieses Argument d − 2 Mal an und haben die Tiefe auf zwei bei einem Bottom
Fanin von 2 log2 g reduziert. Es verbleiben n/(24t)d−2 gesternte, also ungesetzte Variablen.
Satz 5.3 Sei S ein Schaltkreis der Tiefe d und Größe g.
S ist nach Anwendung zufälliger Restriktionen mit Wahrscheinlichkeit mindestens 1 − dg
äquivalent zu einem Schaltkreis der Tiefe zwei mit Bottom Fanin höchstens 2 log2 g. Genau
n/(48 log2 g)d−2 Variablen sind frei.
5.1.1.1
Die Paritätsfunktion
Wir fahren die Ernte ein und betrachten die Paritätsfunktion xorn = ⊕ni=1 xi . Wenn wir eine
Restriktion mit m Sternen auf xorn anwenden, erhalten wir mit xorm oder 1 ⊕ xorm eine
weitere Paritätsfunktion. Eine DNF oder KNF erkennt aber nur dann eine Paritätsfunktion
fehlerfrei, wenn der Bottom Fanin mit der Anzahl freier Variablen übereinstimmt.
Warum? Ein Monom, dessen Literalzahl kleiner ist als die Anzahl freier Variablen, akzeptiert Eingaben gerader wie auch ungerader Parität, die DNF arbeitet
also inkorrekt. Beachte, dass eine KNF für xorn eine DNF für 1⊕xorn bedingt:
Auch KNFs für xorn müssen den Bottom Fanin n besitzen.
Es muss also
2 log2 g ≥ n/(48 log2 g)d−2
107
5.1. DIE GRÖßE VON SCHALTKREISEN BESCHRÄNKTER TIEFE
bzw,
n ≤ (48 log2 g)d−1
gelten.
Korollar 5.1 Jeder Schaltkreis der Tiefe d ≥ 2 für die Paritätsfunktion xorn benötigt
mindestens
1/(d−1) )
2Ω(n
Gatter.
Aufgabe 51
Welche Größe ist ausreichend, um xorn in Tiefe d zu bestimmen?
Aufgabe 52
(a) Welche Größe ist notwendig, um majorityn in Tiefe d zu bestimmen? Welche Größe
ist ausreichend?
(b) Welche Größe ist notwendig, um connectivity2,n in Tiefe d zu bestimmen? Welche
Größe ist ausreichend?
Bemerkung 5.1 Der Nachweis von unteren Größenschranken der Form 2ω(n
kreise der Tiefe d ist ein seit Langem offenes Problem.
5.1.1.2
1
d−1 )
für Schalt-
Die Empfindlichkeit von Schaltkreisen geringer Tiefe
In unserer letzten Anwendung zeigen wir, dass Schaltkreise beschränkter Tiefe nur Funktionen mit geringer Empfindlichkeit berechnen können. Zuerst betrachten wir Schaltkreise
der Tiefe zwei.
Lemma 5.3 Der Schaltkreis S sei eine DNF oder eine KNF mit jeweiligem Bottom Fanin
höchstens t. Dann besitzt S die durchschnittliche Empfindlichkeit e ≤ 2t.
Beachte, dass wir keine Aussage über die Größe der DNF oder KNF machen, die Fanin
Schranke t allein ist schon ausreichend. O.B.d.A. gelte
S=
t
_^
(¬)xij .
~i j=1
Die Klammern drücken aus, dass eine Variable „möglicherweise“ negiert auftritt. Wenn S
V
die Eingabe x akzeptiert, dann erfüllt x irgendein Monom tj=1 (¬)xij . Aber alle „Nachbarn“
x ⊕ ek für k 6∈ {i1 , . . . , it } werden auch akzeptiert und x besitzt die Empfindlichkeit ex ≤ t.
Wir stellen uns die Eingaben als Knoten des n-dimensionalen Würfels vor. Sei E die Menge
108
KAPITEL 5. DIE KOMPLEXITÄT BOOLESCHER FUNKTIONEN
der Kanten, die eine 1-Eingabe mit einer 0-Eingabe verbinden und Eins die Menge der 1Eingaben.
Nach Definition der Empfindlichkeit e gilt e = 2|E|/2n . Jede Kante in E verbindet eine
1-Eingabe mit einer 0-Eingabe und deshalb folgt |E| ≤ t · Eins, denn jede 1-Eingabe hat
ja mindestens n − t 1-Nachbarn. Also folgt
e = 2|E|/2n ≤ 2t · Eins/2n ≤ 2t
und die Behauptung ist gezeigt.
Für den Fall beliebiger Tiefe geben wir uns wieder einen Schaltkreis S der Tiefe d und Größe
g vor und wenden Satz 5.3 an. Wir erhalten nach Anwendung einer zufälligen Reduktion
hochwahrscheinlich, nämlich mit Wahrscheinlichkeit mindestens 1 − dg , einen Schaltkreis S 0
der Tiefe zwei mit Bottom Fanin höchstens 2 log2 g. Genau n/(48 log2 g)d−2 Variablen sind
frei.
Nach Lemma 5.3 besitzt S 0 die durchschnittliche Empfindlichkeit höchstens 4 log2 g. Wir
arbeiten aber mit zufälligen Restriktionen. Wenn S also die durchschnittliche Empfindlichkeit e besitzt, dann wird man erwarten, dass e nach Anwendung der Restriktion(en)
auf
e · n/(48 log2 g)d−2
e
≈
=
n
(48 log2 g)d−2
fällt. Warum sollte man dies erwarten?
Aufgabe 53
Eine Menge A ⊆ {1, . . . , n} der Mächtigkeit a sei gegeben. Wenn wir eine Teilmenge
B ⊆ {1, . . . , n} der Mächtigkeit b gemäß der Gleichverteilung zufällig auswürfeln, dann ist
E[ |A ∩ B| ] = Θ(
a·b
)
n
die erwartete Größe des Durchschnitts von A und B.
Also erhalten wir die Bedingung
4 log2 g = Ω(
e
).
(48 log2 g)d−2
Korollar 5.2 Ein Schaltkreis der Tiefe d und Größe g berechnet eine Funktion mit durchschnittlicher Empfindlichkeit höchstens
O(log2 g)d−1 .
Schaltkreise konstanter Tiefe und polynomieller Größe besitzen also höchstens die durchO(1)
schnittliche Empfindlichkeit log2 n.
5.1. DIE GRÖßE VON SCHALTKREISEN BESCHRÄNKTER TIEFE
5.1.2
109
Approximation durch Schaltkreise beschränkter Tiefe
Wir haben in Korollar 5.1 bereits eine qualitative Einschränkung von Schaltkreisen beschränkter Tiefe festgestellt. Wir versuchen eine weitere strukturelle Eigenschaft abzuleiten, um beurteilen zu können, wie gut Funktionen mit großer Empfindlichkeit approximiert
werden.
Unser Ziel ist eine Zerlegung des n-dimensionalen Würfels in nicht zu viele
Teilwürfel, so dass der Schaltkreis S auf jedem Teilwürfel konstant ist.
Die Paritätsfunktion xorn ist nur auf ein-elementigen Teilwürfeln konstant: Wir erhalten
eine Aussage darüber wie schlecht xorn durch einen zu kleinen Schaltkreis S approximiert
wird.
Beachte, dass sich Teilwürfel und Restriktionen ein-eindeutig entsprechen: Wir können den
Schaltkreis S über einem Teilwürfel auswerten oder eine entsprechende Restriktion auf S
anwenden. Wir produzieren deshalb eine Würfelzerlegung mit Hilfe von Restriktionen,
indem wir zuerst Restriktionen ρ zufällig auswürfeln. Danach verfeinern wir jedes ρ mit
Hilfe eines „gemeinsamen“ Entscheidungsbaums Tρ . In Tρ verzweigen wir nacheinander für
alle DNFs (Si | 1 ≤ i ≤ g) von S, also für alle Gatter der Tiefe zwei. Allerdings werden
Eingaben herausgefiltert, die eine nur geringe Tiefe t im kanonischen Entscheidungsbaum
für Si |ρ besitzen. Damit erreichen wir, dass
sämtliche DNFs Si |ρ auf allen Wegen von Tρ zu KNFs mit Bottom Fanin t
äquivalent sind. Uns interessiert mit welcher Wahrscheinlichkeit (über die Wahl
von ρ) die Tiefe von Tρ wie groß ist.
Insbesondere sind wir an extrem kleinen Fehlerwahrscheinlichkeiten interessiert, dass irgendeine DNF nicht zu einer „t-KNF“ äquivalent ist. Um dies zu
erreichen, sind wir bereit eine große Anzahl weiterer Anfragen in Tρ zu stellen.
Lemma 5.4 beschreibt das genaue Resultat unserer Konstruktion.
Der Schaltkreis S habe die Größe g und sein Bottom Fanin sei höchstens t = 2 log2 g.
Um die Beschreibung von Tρ zu vereinfachen, erlauben wir, dass Tρ neben Restriktionen
auch nach KNFs mit Bottom Fanin höchstens t verzweigt. Ein Weg in Tρ wird damit
durch eine Restriktion und möglicherweise mehrere KNFs mit Bottom Fanin t beschrieben.
(Warum KNFs? Eine Konjunktion mehrerer KNFs mit Bottom Fanin t ist äquivalent zu
einer einzigen KNF mit Bottom Fanin t.)
Ein Weg W in Tρ wird also durch eine Restriktion ρW und höchstens eine KNF
KW mit Bottom Fanin höchstens t beschrieben.
Wenn wir es geschafft haben, dass auf jedem Weg alle DNFs Si |ρ zu KNFs vom Bottom
Fanin t äquivalent sind, dann können wir die zweite Schicht von S mit der dritten verschmelzen. Wir wiederholen unser Vorgehen, bis S o.B.d.A. mit einer KNF äquivalent ist.
Mit einer letzten Restriktion machen wir für jeden Weg W im gemeinsamen Entscheidungsbaum beide KNFs, also die mit S äquivalente KNF und die KNF KW in der Beschreibung
110
KAPITEL 5. DIE KOMPLEXITÄT BOOLESCHER FUNKTIONEN
von W „platt“: Der Weg W ist jetzt mit einer Restriktion, bzw. mit einem Teilwürfel
äquivalent. Wir haben unser Ziel erreicht, wenn der gemeinsame Entscheidungsbaum hochwahrscheinlich nicht zu tief ist, weil damit der Schaltkreis S auf nicht zu vielen Wege, bzw.
Teilwürfeln konstant ist.
Wie wird der gemeinsame Entscheidungsbaum Tρ konstruiert? In Tρ arbeiten wir die DNFs
Si |ρ in Folge ab. Angenommen, wir haben die ersten i−1 DNFs abgearbeitet und den Baum
Tρi−1 konstruiert. Für ein Blatt v von Tρi−1 bestimmen wir den kanonischen Entscheidungsbaum Tρv (Si ) von Si |ρ , wobei natürlich die auf dem Weg nach v gesetzten Variablen die
Konstruktion von Tρv (Si ) beeinflussen. Wir verzweigen in v nach der Länge des Weges in
Tρv (Si ), den eine Belegung x beschreibt:
1. x wird an das linke Kind v0 von v genau dann weitergeleitet, wenn x einen Weg der
Länge höchstens t in Tρv (Si ) beschreibt; wir sagen, dass x den „kurzen Weg für Si |ρ “
durchläuft.
Wir machen v0 zu einem Blatt von Tρi , die Konstruktion von Tρi ist somit für Belegungen, die kurze Wege durchlaufen, trivial. Wir sind zufrieden, weil die Menge aller
Belegungen, die v0 erreichen, durch einen Entscheidungsbaum der Tiefe höchstens t
beschrieben wird: Si |ρ ist auf Eingaben mit kurzen Wegen mit einer KNF mit Bottom
Fanin t äquivalent.
Wir verzweigen von v nach v0 mit Hilfe der KNF
kiv (x) =
^
cl ,
l ist ein Nichtblatt der Tiefe t
wobei die Klausel cl von einer Belegung x genau dann erfüllt ist, wenn x den Knoten
l von Tρv (Si ) nicht erreicht. Beachte, dass kiv eine KNF mit Bottom Fanin t ist.
2. Ansonsten wird x an das rechte Kind v1 weitergeleitet, und wir sagen, dass x einen
„langen Weg für Si |ρ “ durchläuft. Diesmal müssen wir weiter bauen: Wir kleben
Tρv (Si ) an das Kind v1 , entfernen aber natürlich alle Teilbäume, die nur von Belegungen mit kurzen Wegen durchlaufen werden: Wir setzen „short cuts“ ein, um innere
Knoten vom Grad Eins zu überspringen.
Da wir vollständig verzweigen, ist Si |ρ nach Erreichen eines Blatts im rechten Teilbaum sogar zu einer KNF mit Bottom Fanin 0 äquivalent. Wir verzweigen von v
nach v1 mit Hilfe der KNF
liv (x) =
^
cl ,
l ist ein Blatt der Tiefe t
wobei die Klausel cl genau dann von x erfüllt wird, wenn x das Blatt Knoten l von
Tρv (Si ) nicht erreicht. Beachte, dass auch liv eine KNF mit Bottom Fanin t ist.
Das linke Kind v0 ist kostenlos, das rechte Kind v1 hingegen ist richtig „teuer“, weil die
Tiefe zu explodieren droht. Gleichzeitig sagt uns das Switching Lemma aber, dass eine zu
große Tiefe unwahrscheinlich ist.
5.1. DIE GRÖßE VON SCHALTKREISEN BESCHRÄNKTER TIEFE
111
Achtung: Wir zählen fortan in der Definition der Tiefe von Tρ keine Verzweigungen, die
durch KNFs verursacht werden.
Wir wenden die Beweistechnik des alten Switching Lemmas an, um ein neues Switching
Lemma zu zeigen, dass eine ganze Schicht von DNFs gleichzeitig verarbeitet.
Lemma 5.4 (Si | 1 ≤ i ≤ g) sei eine Folge von DNFs mit Bottom Fanin höchstens
t = 2 log2 g. Wir betrachten Restriktionen mit genau l Sternen, wobei 1/4 < lt/n < 1/3
gelte; Nullen und Einsen sind gleichwahrscheinlich.
(a) Auf jedem Weg von der Wurzel von Tρ zu einem Blatt ist jede DNF Si mit einer KNF
vom Bottom Fanin t äquivalent.
(b) Es gibt eine Konstante c < 1, so dass Tρ einen Weg der Länge mindestens s mit
Wahrscheinlichkeit höchstens
lt
O( )s = cs
n
besitzt. (KNFs werden in der Weglänge nicht mitgezählt.)
Die entsprechende Aussage für eine Folge (Si | 1 ≤ i ≤ g) von KNFs mit Bottom Fanin
höchstens t = 2 log2 g gilt ebenfalls.
Beweis: Sei π der lexikografisch erste, in der Wurzel von Tρ beginnende und in einem Blatt
endende Weg der Länge s. Beachte, dass π für jedes i entweder einen kurzen Weg für Si |ρ
durchläuft oder einen langen Weg. Um π zu beschreiben, genügt es
1. die DNFs Si offenzulegen, für die π einen langen Weg durchläuft und
2. π eingeschränkt auf jede solche „lange“ DNF zu beschreiben, denn π ist für alle nachfolgenden „kurzen“ DNFs festgelegt: Es ist jeweils die eine kurze Kante zu durchlaufen.
Diesmal müssen wir also nicht nur die veränderte Restriktion ρ0 angeben, beschreiben welche Variablen eines erfüllten Monoms in ρ gesternt waren und den „Weg zurück“ festlegen,
sondern wir müssen auch diejenigen Indizes i offen legen, für die π einen langen
Weg in Si |ρ nimmt.
Aber wir haben Glück, denn die Wahrscheinlichkeit, dass der kanonische Entscheidungsbaum für Si |ρ eine Tiefe größer als 2 log2 g besitzt, ist höchstens O(lt/n)2 log2 g . Der “Profit”
O(lt/n)2 log2 g übertrifft die „Kosten“ g, um i offenzulegen, denn
lt
g·O
n
!2 log2 g
lt
=O
n
!2 log2 g
,
falls lt < n. Die Behauptung ist aber im Fall lt ≥ n offensichtlich.
112
KAPITEL 5. DIE KOMPLEXITÄT BOOLESCHER FUNKTIONEN
Wir definieren einen neuen Entscheidungsbaum T . Im Baum T verzweigen wir zuerst nach
einer zufälligen Restriktion ρ und verfeinern ρ mit Hilfe von Tρ . Wieviele Blätter besitzt T ?
Wie üblich setzen wir t = 2 log2 g und wählen die Anzahl l der Sterne proportional zu n/t:
Wenn der Proportionalitätsfaktor klein ist, dann stimmt ltn mit einer kleinen Konstante
c überein. Wir müssen fordern, dass nicht zu viele gesternte Variablen in T gesetzt sind,
um weitere Schichten von S mit neuen Restriktionen zu kippen. Genau diese Forderung
erreichen wir mit Lemma 5.4, wenn wir s = αn/t für eine geeignete Konstante α setzen,
denn ein kleiner, aber konstanter Prozentsatz der Anzahl gesternter Variablen wird nur
mit Wahrscheinlichkeit 2−O(n/t) gesetzt. T besitzt also höchstens
2n−O(n/t)
Blätter.
Wir können alle DNFs in KNFs mit Bottom Fanin t umwandeln und können die zweite und
dritte Schicht von S verschmelzen. Wir wiederholen unser Verfahren, indem wir eine neue
Restriktion auf die verbleibenden gesternten und in T nicht gesetzten Variablen anwenden.
Auch diesmal arbeiten wir natürlich mit Bottom Fanin t = 2 log2 g und wählen die Anzahl
neuer Sterne proportional zu tn2 , also dem 1/t-fachen der Anzahl nicht gesetzter Variablen.
Mit analogem Argument zeigt man, dass der entstehende Entscheidungsbaum
2n−O(n/t
2)
Blätter besitzt. Nach mehrmaliger Anwendung unseres Verfahrens und finaler Umwandlung
der beiden KNFs, nämlich der zu S äquivalenten KNF und der KNF die den jeweiligen
Weg beschreibt, erhalten wir
Satz 5.4 Sei S ein Schaltkreis der Tiefe d und der Größe g. S besitze n Eingaben. Dann
gibt es eine Zerlegung des n-dimensionalen Würfels in höchstens
d−2
2n−n/O(log2 g)
Teilwürfel, so dass S auf jedem Teilwürfel konstant ist.
Wir haben den Beweis bis auf wenige formale Details bereits erbracht. Schaltkreise kleiner
Tiefe sind damit strukturell sehr eingeschränkt, und das nutzen wir aus.
Definition 5.5 Die Korrelation einer Booleschen Funktion f : {0, 1}n → {0, 1} mit einer
Booleschen Funktion g : {0, 1}n → {0, 1} ist genau dann c, wenn
1
+ c.
2
Wenn der Schaltkreis S auf einem Teilwürfel der Dimension größer als Eins konstant ist,
dann ist die Korrelation von S mit xorn auf diesem Teilwürfel Null. Insgesamt ist die
Korrelation von S mit xorn deshalb höchstens
pr[ f (x) = g(x) ] =
d−2
2n−n/O(log2 g)
d−2
/2n = 2−n/O(log2 g)
d−2
.
d−2
(Bestenfalls besitzen alle 2n−n/O(log2 g)
Teilwürfel die Dimension 1 und 2−n/O(log2 g)
die (durchschnittliche) Korrelation.) Wir fassen unsere Ergebnisse zusammen.
ist
113
5.1. DIE GRÖßE VON SCHALTKREISEN BESCHRÄNKTER TIEFE
Satz 5.5 Sei S ein Schaltkreis der Tiefe d und Größe g mit Bottom Fanin 2 log2 g.
(a) Der n-dimensionale Würfel kann in höchstens
2n−(n/O(log2 g)
d−2
)
Teilwürfel zerlegt werden, so dass S auf jedem Teilwürfel konstant ist.
d−2
(b) Die Korrelation von S mit der Paritätsfunktion xorn ist durch 2−n/O(log2 g)
schränkt, d.h. es gilt
pr[ S(x) = xorn (x) ] ≤
be-
1
d−2
+ 2−n/O(log2 g) .
2
Die Korrelation eines relativ kleinen Schaltkreises S der Tiefe d mit xorn ist somit sehr
schwach.
5.1.3
Modp -Gatter: Approximation durch Polynome
Wir wissen, dass die Paritätsfunktion xorn nicht in beschränkter Tiefe durch Schaltkreise
„vernünftiger“ Größe berechnet werden kann. Der Grund hierfür ist im Switching Lemma
formuliert: Die „starren“ UND- und ODER-Gatter erlauben es Restriktionen, eine DNF
hochwahrscheinlich in eine KNF von gleichem Bottom Fanin umzuwandeln. Was aber passiert, wenn wir zusätzlich ein modp Gatter verwenden, wobei
(
modp (x1 , . . . , xn ) =
Pn
1 falls
0 sonst.
i=1
xi 6≡ 0 mod p,
(Wir nehmen im Folgenden stets an, dass p eine Primzahl ist.) Wenn modp (x1 , . . . , xn ) = 0,
dann ist jeder Hamming-Nachbar von x eine 1-Eingabe und die Empfindlichkeit eines modp Gatters ist also mindestens 2n/p: modp -Gatter sind also alles Andere als starr.
Können wir immer noch zeigen, dass Schaltkreise beschränkter Tiefe exponentielle Größe benötigen, wenn die Paritätsfunktion durch { ¬, ∧, ∨, modp }-Schaltkreise zu berechnen
ist? Die schlechten Nachrichten zuerst: Die Restriktionsmethode versagt, da modp -Gatter
unempfindlich auf fixierte Eingabebits reagieren. Aber eine gänzliche andere Methode,
nämlich die Approximation des Schaltkreises durch Polynome von nicht zu großem Grad,
ist erfolgreich.
Lemma 5.5 Das Approximationslemma von Razborov-Smolenky
Sei S ein Schaltkreis mit ¬, ∧, ∨ und modp -Gattern. Wenn S die Größe g und die Tiefe d
besitzt, dann gibt es einen Vektorraum P von Polynomen mit Grad [(p − 1)t]d über Zp , so
dass
g
∀x ∈ {0, 1}n : prpoly∈P [ poly(x) 6= S(x) ] ≤ t
p
gilt. Mit anderen Worten: Für jede Eingabe x, wenn wir ein Polynom „poly“ zufällig aus
dem Raum P ziehen, dann stimmt der Schaltkreis hochwahrscheinlich mit poly(x) überein.
114
KAPITEL 5. DIE KOMPLEXITÄT BOOLESCHER FUNKTIONEN
Beweis: Wir approximieren die Gatter von S sukzessive durch Polynome und beginnen
mit Gattern G(y), die nur von den Eingabegattern y1 , . . . , yn , 1 − y1 , . . . , 1 − yn abhängen.
Fall 1: G(y) = modp (y1 , . . . , ym ). Wir approximieren G(y) durch
G0 (y) = (
m
X
yi )p−1 mod p.
i=1
Unsere Approximation ist fehlerfrei, denn z p−1 ≡ 1 mod p gilt für alle nicht durch p teilbaren natürlichen Zahlen z nach dem kleinen Satz von Fermat. Beachte, dass G0 den Grad
p − 1 besitzt
Fall 2: G(y) =
Wm
i=1
yi . Wähle Restklassen aji ∈ Zp zufällig aus und approximiere G durch
G0 (y) = 1 −
t
Y
m
X
j
ai yi )p−1
1−(
j=1
!
mod p.
i=1
j
p−1
= 1 gilt, dann muss natürlich auch G(y) = m
Wenn ( m
i=1 yi = 1 gelten und desi=1 ai yi )
0
halb gilt die Implikation G (y) = 1 ⇒ G(y) = 1. Andererseits ist pr[ (G0 (y) = 0) ∧(G(y) =
1) ] ≤ p−t , denn wir führen t unabhängige Versuche mit Mißerfolgswahrscheinlichkeit 1/p
durch, und
pr[ G(y) 6= G0 (y) ] ≤ p−t
W
P
folgt. Wir halten fest, dass G0 ein Polynom vom Grad (p − 1)t ist.
j
Fall 3: G(y) = m
i=1 yi . Wir würfeln wieder zufällige Restklassen ai ∈ Zp aus und approximieren G diesmal durch
V
0
G (y) =
t
Y
j=1
m
X
j
!
p−1
ai (1 − yi ))
1−(
mod p.
i=1
j
m
p−1
= 0 gelten und desWenn G(y) = m
i=1 yi = 1 ist, dann muss natürlich ( i=1 ai (1 − yi ))
0
halb gilt die Implikation G(y) = 1 ⇒ G (y) = 1. Andererseits ist pr[ (G(y) = 0) ∧(G0 (y) =
1) ] ≤ p−t , denn auch diesmal führen wir t unabhängige Versuche mit Mißerfolgswahrscheinlichkeit 1/p durch. Als Konsequenz folgt
V
P
pr[ G(y) 6= G0 (y) ] ≤ p−t .
Wir halten fest, dass G0 wieder ein Polynom vom Grad (p − 1)t ist.
Wir haben bisher diejenigen Gatter G von S approximiert, die nur direkt von den Eingabebits abhängen, also nur Endpunkte von Wegen der Länge 1 sind. Wir nehmen jetzt
an, dass wir allen Gattern G, die Endpunkte von Wegen der maximalen Länge l sind, ein
Polynom vom Grad höchstens [(p − 1)t]l zugewiesen haben. Ist jetzt G ein Gatter, das
Endpunkt eines längsten Weges der Länge l + 1 ist, dann wiederholen wir unser bisheriges Vorgehen. Wir beachten, dass die Eingaben des Gatters G durch Polynome vom Grad
höchstens [(p − 1)t]l approximiert werden und erhalten ein Polynom vom Grad höchstens
5.1. DIE GRÖßE VON SCHALTKREISEN BESCHRÄNKTER TIEFE
115
[(p − 1)t]l+1 , das G(x) mit Mißerfolgswahrscheinlichkeit höchstens g 0 p−t richtig voraussagt,
wobei g 0 die Anzahl der Gatter ist, von denen Gatter G abhängt.
Die Behauptung folgt, wenn wir die Ergebnisse unserer Approximation auf das Ausgabegatter anwenden.
Wir haben für jede Eingabe x den Schaltkreis S durch ein Polynom vom Grad [(p − 1)t]d
vorausgesagt und die Mißerfolgswahrscheinlichkeit war höchstens gp−t . Dann muss es aber
ein Polynom r vom Grad [(p − 1)t]d geben, das mit S auf einer Menge V ⊆ {0, 1}n von
mindestens
g
(1 − t )2n
p
Eingaben übereinstimmt. Warum? Baue eine Matrix M , deren Zeilen mit Polynomen q ∈ P
und deren Spalten mit Eingaben x ∈ {0, 1}n beschriftet sind: Setze M [q, x] = 1, wenn q
eine falsche Voraussage für x berechnet, wenn also q(x) 6= S(x) gilt. Ist die Voraussage von
q richtig, dann setze M [q, x] = 0.
Jede Spalte von M hat höchstens den Anteil gp−t an Einsen und deshalb muss es eine Zeile
mit einem Anteil von höchstens gp−t Einsen geben. Diese Zeile definiert das Polynom r.
d
Es genügt somit der Nachweis, dass Polynome
vom Grad [(p − 1)t] über Zp die
Paritätsfunktion nur auf weniger als 1 − pgt 2n Eingaben korrekt voraussagen
können, und wir erhalten Aussagen über die Mindestgröße von g.
Warum ist eine Approximation der Paritätsfunktion durch Polynome von relativ kleinem
Grad schwierig? Wenn wir in Zp den Eingabebereich {0, 1}n = {0 mod p, 1 mod p}n durch
den Eingabebereich {−1, 1}n = {p − 1 mod p, 1 mod p}n , ersetzen, dann wird die Parität
zur Multiplikation! Um dies einzusehen, betrachten wir die auf Zp definierte Transformation
T : {−1, 1}n → {0, 1}n mit
T (x) = (
1 − xn
1 − x1
,...,
).
2
2
Beachte, dass T eine -1 in eine 1 und eine 1 in eine 0 überführt und es ist deshalb
⊕m
i=1 T (x)i = 1 ⇔
m
Y
xi = −1.
i=1
Lemma 5.6 Sei S ein Schaltkreis mit ¬, ∧, ∨ und modp -Gattern für die Paritätsfunktion.
S habe die Tiefe d und die Größe g.
Dann gibt es eine Menge U ⊆ {−1, 1}n mit mindestens (1 − pgt )2n Elementen, so dass jede
Funktion f : U → Zp durch ein Polynom vom Grad (n + ∆)/2 mit ∆ = [(p − 1)t]d berechnet
werden kann.
Beweis: Sei S ein Schaltkreis mit ¬, ∧, ∨ und modp -Gattern für die Paritätsfunktion xorn .
Wir wissen dann mit Lemma 5.5 und den darauffolgenden Bemerkungen, dass es ein Polynom r vom Grad ∆ = [(p − 1)t]d gibt, das mit xorn auf einer Menge V ⊆ {0, 1}n der
116
KAPITEL 5. DIE KOMPLEXITÄT BOOLESCHER FUNKTIONEN
Mächtigkeit mindestens (1 − pgt )2n übereinstimmt. Setze U = T −1 (V ) und das Polynom
q(y) = r(T −1 (y)) stimmt auf U mit der Produktfunktion y1 · · · yn mod p überein.
Eine Zwischenüberlegung: Für y ∈ {−1, 1}n gilt yi2 = 1 in jedem Körper. Also gilt

Y
i∈I
yi =
Y
i∈[n]\I
yi2
Y
yi = 
i∈I

Y
yi 
n
Y

!
yi = 
i=1
i∈[n]\I

Y
yi  q(y)
i∈[n]\I
für alle y ∈ U .
Jede Funktion f : U → Zp kann als ein Polynom pf vom Grad höchstens n geschrieben
werden. Wir können nach der Zwischenüberlegung jedes Monom von pf vom Grad d durch
ein Polynom vom Grad n − d + ∆ ersetzen. Der Grad von pf lässt sich also auf
min{d, n − d + ∆} ≤
n+∆
2
reduzieren.
Satz 5.6 Gegeben sei ein modp -Schaltkreis C der Größe g und der Tiefe d für die Pari1/2d
tätsfunktion. Dann gilt g = 2Ω(n ) .
1/(d−1)
)
Unsere untere Schranke ist damit im Vergleich zur Schranke 2Ω(n
für {¬, ∧, ∨}Schaltkreise zwar schlechter, aber immer noch exponentiell groß und gilt für mächtigere
Schaltkreise.
Der Beweis von Satz 5.6 ist Inhalt der folgenden Aufgabe.
Aufgabe 54
1. Zeige, dass für die Anzahl M der Monome vom Grad höchstens (n + ∆)/2 gilt:
n
2n
+∆·
= 2n−1 + Θ(∆ · √ ).
n/2
n
!
n−1
M ≤2
2. Gegeben sei ein modp -Schaltkreis der Größe s und der Tiefe d für xorn . U ist die in
Lemma 5.6 beschriebene Menge.
(a) Zeige |U | ≤ M .
Hinweis: Was ist die Anzahl l der Funktionen f : U → Zp ? Was ist die Anzahl
k der Polynome über Zp mit Monomen vom Grad höchstens (n+∆)/2? Es muss
l ≤ k gelten!
1/2d )
(b) Mit den Abschätzungen für |U | zeige s = 2Ω(n
.
Wir definieren AC0 [m] als die Klasse aller Funktionen, die durch Schaltkreisfamilien beschränkter Tiefe und polynomieller Größe berechenbar sind, wobei neben den ¬, ∧ und
∨-Gattern noch modm Gatter benutzt werden können. Ist der Modulus m zusammengesetzt, also keine Primzahl, ist unser Wissensstand besonders traurig, denn es ist noch nicht
einmal bekannt ob AC0 [m] 6= NP gilt!
5.2. DIE GRÖßE MONOTONER SCHALTKREISE
5.2
117
Die Größe monotoner Schaltkreise
Wir nehmen in diesem Abschnitt an, dass alle betrachteten Schaltkreise den Fanin zwei
besitzen.
Definition 5.6
(a) Für x, y ∈ {0, 1}n gilt x ≤ y falls xi ≤ yi für alle 1 ≤ i ≤ n gilt.
(b) Eine Boolesche Funktion f : {0, 1}n → {0, 1} ist genau dann monoton, wenn
f (x) ≥ f (y)
für alle Eingaben x, y ∈ {0, 1}n mit x ≥ y gilt.
n
Es gibt viele Beispiele monotoner Funktionen. CLIQUEn,k : {0, 1}( 2 ) → {0, 1} ist ein erstes
Beispiel: Die Adjazenzmatrix eines Graphen G mit n Knoten wird genau dann akzeptiert,
wenn G eine Clique der Größe mindestens k besitzt. MATCHn,k ist ein zweites Beispiel:
Die Adjazenzmatrix eines Graphen G mit n Knoten wird diesmal genau dann akzeptiert,
wenn G ein Matching der Größe k, also k Kanten ohne gemeinsamen Endpunkt besitzt.
l
l
l
l
l
l
Ein Graph mit einem Matching der Größe zwei
und einem maximalen Matching der Größe drei.
Als letztes Beispiel betrachten wir s → t ERREICHBARKEITn . Hier ist ein gerichteter
Graph G mit n Knoten gegeben, und wir fragen, ob G einen Weg vom Knoten s zum
Knoten t besitzt. In allen drei Beispielen wird ein Graph weiterhin akzeptiert, wenn neue
Kanten hinzugefügt werden.
Wir sagen, dass ein Schaltkreis S genau dann monoton ist, wenn S nur aus ∧- und ∨Gattern besteht.
Lemma 5.7 Die Boolesche Funktion f ist genau dann monoton, wenn f durch einen
monotonen Schaltkreis berechnet wird.
Warum? Wenn wir eine disjunktive Normalform für f bauen, dann fügen wir für jede 1Eingabe v ein Monom hinzu, das genau die Eingabe v akzeptiert. Wenn aber vi = 0, dann
können wir den „Faktor“ ¬zi entfernen, denn f bleibt wahr wenn wir vi „flippen“. Also
kann die DNF für f durch einen monotonen Schaltkreis berechnet werden. Umgekehrt,
wenn der monotone Schaltkreis S die Funktion f berechnet, dann zeigt man durch eine
Induktion über die Gatterzahl von S, dass f monoton ist.
Wir sind, wie auch im Fall unbeschränkter Schaltkreise, an Tiefe und Größe der diesmal
monotonen Schaltkreise interessiert.
118
KAPITEL 5. DIE KOMPLEXITÄT BOOLESCHER FUNKTIONEN
Definition 5.7 (a) Für eine monotone Boolesche Funktion f : {0, 1}n → {0, 1} definieren wir die minimale Tiefe
DEPTH+ (f ) = min{ d | Es gibt einen monotonen Schaltkreis der Tiefe d für f }
und die minimale Größe
SIZE+ (f ) = min{ s | Es gibt einen monotonen Schaltkreis der Größe s für f }.
(c) Für Funktionen d, s : N → N, s : N → N definieren wir
DEPTH+ (d) = { L ⊆ {0, 1}∗ | DEPTH+ (L ∩ {0, 1}n ) = O(d(n)) }
und
SIZE+ (s) = {L ⊆ {0, 1}∗ | SIZE+ (L ∩ {0, 1}n ) = O(s(n))}
Monotone Funktionen können durch bestimmte ausgezeichnete Eingaben, nämlich ihre
Min- und Maxterme vollständig beschrieben werden.
Definition 5.8 Die Boolesche Funktion f : {0, 1}n → {0, 1} sei monoton und x ∈ {0, 1}n
sei eine Eingabe. Dann heißt x genau dann ein Minterm von f , wenn f (x) = 1 und
f (x0 ) = 0, wann immer x0 < x. Wenn f (x) = 0 und f (x00 ) = 1, wann immer x < x00 , dann
nennen wir x einen Maxterm.
Ein Minterm ist also eine 1-Eingabe x, so dass x nach dem Flippen einer beliebigen Eins
zu einer 0-Eingabe wird. Beachte, dass wir bereits eine DNF für die Funktion f erhalten,
wenn wir Monome „ver-odern“, die jeweils einem Minterm entsprechen. Analog erhalten
wir eine KNF, wenn wir alle Klauseln „ver-unden“, die jeweils einen Maxterm ausschließen.
Beispiel 5.1 Wir betrachten das Matching-Problem MATCHn,k . Die Minterme entsprechen den möglichen Matchings der Größe genau k.
Für jede Knotenmenge I ⊂ {1, . . . , n} der Größe k − 1 sei BI der Graph, der alle Kanten
mit mindestens einem Endpunkt in I besitzt. Der Graph BI ist ein Maxterm und jeder
Maxterm ist ein Graph BI
∗
Beispiel 5.2 Wir betrachten s → t Erreichbarkeitn . Minterme entsprechen den Wegen von
s nach t.
Wie sehen Maxterme aus? Für alle disjunkten Mengen S und T mit s ∈ S, t ∈ T und
S ∪ T = V bauen wir den Graphen G(S, T ), der bis auf Kanten zwischen einem Knoten in
S und einem Knoten in T alle möglichen Kanten besitzt. Die Menge der Maxterme stimmt
überein mit der Menge aller Graphen G(S, T ).
Wir zeigen eine exponentielle untere Schranke für die Größe monotoner Schaltkreise, die
das Clique Problem lösen.
119
5.2. DIE GRÖßE MONOTONER SCHALTKREISE
Satz 5.7 Sei k = n1/4 . Dann gilt
1/8 )
SIZE+ (Cliquen,k ) = nΩ(n
.
Wenn wir die Einschränkung auf monotone Schaltkreise fallen lassen könnten, hätten wir
P 6= NP gezeigt. Haben wir mit diesem Ergebnis zumindest Fortschritt im Hinblick auf die
Frage P 6= NP gemacht? Jein, denn leider gibt es monotone Sprachen in P, für die jeder
monotone Schaltkreis exponentielle Größe besitzen muss; ein Beispiel einer solchen Sprache
ist die Frage, ob ein Graph ein Matching einer bestimmten Mindestgröße besitzt.
Für den Beweis von Satz 5.7 benötigen wir zuerst das Konzept der Sonnenblumen.
Definition 5.9 Eine (p, l)-Sonnenblume ist eine Familie {s1 , . . . , sp } von p Mengen, die
wir Blätter nennen und eine Menge s, die Blüte. Jede Menge besteht aus höchstens l Elementen und wir fordern, dass zwei verschiedene Blätter sich in derselben Menge, der Blüte
der Sonnenblume, schneiden.
Fakt 5.1 Das Erdös-Rado Lemma.
Sei I eine Familie von mindestens (p − 1)l · l! Mengen der Mächtigkeit höchstens l. Dann
enthält I eine (p, l)-Sonnenblume.
Beweis: Wir führen eine Induktion über l. Die Behauptung ist offensichtlich für l = 1, da
sich zwei verschiedene Einser-Mengen stets in derselben Menge, nämlich der leeren Menge,
schneiden.
Sei also l > 1. Die Teilmenge J ⊆ I bestehe aus paarweise disjunkten Teilmengen. Zusätzliche sei J maximal, jede Teilmenge schneidet also mindestens eine Teilmenge aus J
in mindestens einem Element. Wir können annehmen, dass J aus weniger als p Mengen
besteht, da wir ansonsten eine Sonnenblume mit leerer Blüte gefunden haben. Wir setzen
t=
[
s
s∈J
und beachten, dass |t| ≤ (p − 1) · l. Weiterhin schneidet t jede Menge in I, denn J war
maximal mit der Eigenschaft aus disjunkten Mengen zu bestehen. Also gibt es ein Element
d ∈ t, das für den Schnitt mit mindestens
(p − 1)l · l!
|I|
≥
= (p − 1)l−1 · (l − 1)!
(p − 1) · l
(p − 1) · l
Mengen in I verantwortlich ist. Sei K die Unterfamilie von I, die aus allen Mengen besteht,
die d enthalten. Wir entfernen d aus jeder dieser Mengen und bezeichnen die entsprechende
Unterfamilie mit K0 . Dann besteht K0 aus mindestens (p − 1)l−1 · (l − 1)! Mengen mit höchstens l − 1 Elementen. Wir finden, nach Induktionsannahme, eine (p, l − 1)-Sonnenblume.
Aber damit haben wir nach dem Hinzufügen von d eine (p, l)-Sonnenblume gefunden.
120
KAPITEL 5. DIE KOMPLEXITÄT BOOLESCHER FUNKTIONEN
Beweis von Satz 5.7: Wir setzen k = n1/4 . Sei S ein vorgegebener monotoner Schaltkreis
für Cliquen,k . Wir werten S nur auf bestimmten Instanzen aus, nämlich den positiven und
negativen Beispielen.
(1) Die positiven Beispiele sind die Minterme von Cliquen,k , also Cliquen der Größe k.
(2) Die negativen Beispiele sind Maxterme und zwar die kanten-maximalen, mit k − 1
Farben färbbaren Graphen.
Wir repräsentieren ein negatives Beispiel durch die k − 1-Färbung der Knoten: Da die
negativen Beispiele kanten-maximal sind, haben wir Kanten zwischen je zwei verschieden
gefärbten Knoten einzusetzen. Wir unterscheiden k − 1-Färbungen selbst dann, wenn ihre
kanten-maximalen Graphen übereinstimmen, aber die Farben unterschiedlich zugeordnet
sind.
Wir haben k = n1/4 gewählt und setzen jetzt l = n1/8 sowie p = n1/8 · log2 n. Wir approximieren die an den Gattern von S berechneten Booleschen Funktionen durch monotone
DNF mit höchstens M = (p − 1)l · l! Monomen der Länge l; eine Monotone DNF mit
höchstens M Monomen der Länge höchstens l bezeichnen wir als (l, M )-Funktion. Eine
(l, M )-Funktion „feuert“ somit, wenn ein Graph eine von höchstens M Cliquen der Größe
höchstens l besitzt. Beachte, dass für genügend großes n,
1
1/8
M = (p − 1)l · l! < (p − 1)2·l < n 3 ·n
(5.2)
gilt. Wir messen den Approximationsfehler auf den positiven und negativen Beispielen und
zeigen überraschenderweise, dass sich nicht zu große monotone Schaltkreise durch diese
relativ einfachen (l, M )-Funktionen (auf den positiven und negativen Beispielen) recht
gut approximieren lassen. Insbesondere, wenn f1 , f2 (l, M )-Funktionen sind, werden wir im
Beweis von Behauptung 5.1 Operationen t und u definieren, die ein ODER, bzw. ein UND
approximieren. Der Clou ist, dass sowohl f1 t f2 wie auch f1 u f2 wieder (l, M )-Funktionen
sind. Aus dieser Eigenschaft wird die Behauptung des Satzes folgen.
Die Approximation der Gatterfunktionen werden schrittweise, gemäß der topologischen
Ordnung der Gatter, durchgeführt. Ein Eingabegatter u wird durch sich selbst approximiert, und wir setzen Au = u. Wir nehmen induktiv an, dass wir an einem Gatter w, mit
u und v als direkten Vorgängern, angelangt sind. Su und Sv seien die von S in u, bzw. v
berechneten Booleschen Funktion. Ebenso seien Au und Av die Approximationen von Su ,
bzw. Sv .
Wie gut sind unsere Approximationen? Im Vergleich zu den Operationen ∨ und ∧ verwerfen
sie nur wenige positive Beispiele und akzeptieren nur wenige negative Beispiele.
Behauptung 5.1 Die Gatter u und v seien die direkten Vorgänger von Gatter w.
(a) Wenn Sw = Su ∨ Sv , dann gilt
pr[(Au t Av ) (x) < (Au ∨ Av ) (x) | x ist ein positives Beispiel ] = 0,
2M −p
2 .
pr[(Au t Av ) (y) > (Au ∨ Av ) (y) | y ist ein negatives Beispiel ] ≤
p−1
121
5.2. DIE GRÖßE MONOTONER SCHALTKREISE
(b) Wenn Sw = Su ∧ Sv , dann gilt
pr[(Au u Av ) (x) < (Au ∧ Av ) (x) | x ist ein positives Beispiel ] ≤
n−l−1
2 k−l−1
M n
k
2
−p
pr[(Au u Av ) (y) > (Au ∧ Av ) (y) | y ist ein negatives Beispiel ] ≤ M · 2 .
Beweis (a): w berechnet ein ODER.
Die Familie Iu (bzw. Iv ) bestehe aus allen in A(u) (bzw. A(v)) vorkommenden Cliquen,
wobei wir eine Clique mit ihrer Knotenmenge identifizieren. Würden wir das ODER-Gatter
„verlustfrei“ implementieren, dann würden wir alle Cliquen zu Mengen in
I = Iu ∪ Iv
verwenden. Leider werden wir im Allgemeinen die erlaubte Obergrenze von höchstens M
Cliquen überschreiten, und wir müssen eine genügend kleine Teilmenge von I auswählen.
Wenn I mehr als M Ciquen besitzt, dann besitzt I eine (p, l)-Sonnenblume {s1 , . . . , sp }.
Wir ersetzen alle Blätter, also alle Mengen si , durch die Blüte der Sonnenblume. Dieser
Prozess ist solange zu wiederholen bis höchstens M Cliquen verbleiben. Die Menge der
verbleibenden Cliquen bezeichnen wir mit I 0 . Damit haben wir die Approximation t des
ODER-Gatters mit der Definition
[
c t
c∈Iu
[
d=
[
e
(5.3)
e
(5.4)
e∈I 0
d∈Iv
abgeschlossen. Wir müssen (5.3) und
[
c∈Iu
c ∨
[
d∈Iv
d=
[
e∈I
vergleichen und beschränken uns zuerst auf den Ersetzungsprozess für eine einzige Sonnenblume. Die Ersetzung der Blätter {s1 , . . . , sp } durch die Blüte s führt zu einer vergrößerten
Akzeptanz. Dieser Approximationsschritt akzeptiert damit mindestens alle in (5.4) akzeptierten positiven Beispiele.
Allerdings besteht die Gefahr der Akzeptanz negativer Beispiele, und wir müssen das Ausmaß dieser Gefahr bestimmen. Beachte, dass die Blätter si Cliquen entsprechen. Wenn
eine Färbung vor der Ersetzung verworfen wurde, dann enthält jedes der gerupften Blätter
mindestens zwei gleichfarbige Knoten. Führt das Rupfen der Blätter zur Akzeptanz, dann
besteht die Blüte s hingegen nur aus verschieden-gefärbten Knoten.
Sei Gleich(sj ) das Ereignis, dass sj zwei gleichgefärbte Knoten besitzt. Dann ist die Wahrscheinlichkeit q eines in der Approximation (5.3) akzeptierten, aber in (5.4) weiterhin
verworfenen negativen Beispiels beschränkt durch
q = prob[ Gleich(s1 ) ∧ · · · ∧ Gleich(sp ) ∧ ¬ Gleich(s) ]
122
KAPITEL 5. DIE KOMPLEXITÄT BOOLESCHER FUNKTIONEN
= prob[ Gleich(s1 ) ∧ · · · ∧ Gleich(sp ) | ¬ Gleich(s) ] · prob[ ¬ Gleich(s) ]
≤ prob[ Gleich(s1 ) ∧ · · · ∧ Gleich(sp ) | ¬ Gleich(s) ]
=
p
Y
prob[ Gleich(si ) | ¬ Gleich(s) ].
i=1
Die letzte Gleichnung folgt, da die Blätter bis auf den Kern s disjunkt sind und der Prozess des Färbens der Blätter besteht, bis auf das Färbens des Kerns, aus unabhängigen
Experimenten. Schließlich ist prob[ Gleich(si ) | ¬ Gleich(s) ] ≤ prob[ Gleich(si ) ], da wir
die Wahrscheinlichkeit einer Gleichfärbung nur reduzieren, wenn wir die Ungleichfärbung
auf der Blüte fordern. Wir erhalten also insgesamt
q≤
p
Y
prob[ Gleich(si ) ].
i=1
Die Wahrscheinlichkeit, dass zwei bestimmte Knoten von si durch eine (k − 1)-Färbung
1
. Die Wahrscheinlichkeit, dass si zwei gleichgegleichgefärbt werden, ist offensichtlich k−1
färbte Knoten besitzt, ist somit höchstens
!
1
l
1
≤ ,
prob[ Gleich(si ) ] ≤
·
2
2 k−1
(5.5)
da k = n1/4 und l = n1/8 . Insgesamt gibt es (k − 1)n verschiedene (k − 1)-Färbungen
und höchstens 2−p · (k − 1)n Färbungen werden durch die Verarbeitung einer einzigen
2M
Sonnenblume verfälscht. Schließlich werden höchstens p−1
Sonnenblumen verarbeitet und
wir haben Teil (a) der Behauptung erhalten.
(b): w berechnet ein UND.
Iu (bzw. Iv ) bezeichnen wiederum alle in A(u) (bzw. A(v)) vorkommenden Cliquen. Würden wir das UND-Gatter „verlustfrei“ implementieren, dann müssten wir genau die Cliquen
zu Mengen in
I = {s ∪ t | s ∈ Iu , t ∈ Iv }
verwenden. Aber wir arbeiten mit (l, M )-Funktionen und zwei Probleme treten auf. Zuerst
besitzt die Vereinigung s ∪ t möglicherweise mehr als l Elemente und zuletzt dürfen wir
maximal M Cliquen zulassen. Wir setzen also
I 0 = {s ∪ t | s ∈ Iu , t ∈ Iv und |s ∪ t| ≤ l}
und wiederholen die Bearbeitung von Sonnenblumen in I solange bis höchstens M Elemente verbleiben. Die Menge der verbleibenden Cliquen bezeichnen wir mit I 00 . Wir haben
die Definition der Approximation
[
c∈Iu
c u
[
d∈Iv
d=
[
e∈I 00
e
(5.6)
123
5.2. DIE GRÖßE MONOTONER SCHALTKREISE
abgeschlossen müssen diese Approximation mit
[
c ∧
c∈Iu
[
d∈Iv
d=
[
(5.7)
e
e∈I
vergleichen. Wenn ein positives Beispiel im Approximationsschritt abgelehnt wird, aber in
(5.7) akzeptiert wird, dann ist das positive Beispiel eine Obermenge einer entfernten Clique
s ∪ t (mit |s ∪ t| = l∗ > l) für Cliquen s ∈ Iu und t ∈ Iv . Beachte, dass höchstens die
positiven
betroffen sind, die s ∪ t als Teilmenge enthalten. Aber damit sind nur
Beispiele
n−l∗
n−l−1
<
positive
Beispiele von einer einzigen Entfernung betroffen. I besteht aus
k−l∗
k−l−1
2
höchstens M Mengen, und damit können insgesamt höchstens
!
n−l−1
M ·
k−l−1
2
positive Beispiele im Approximationsschritt abgelehnt, aber in (5.7) akzeptiert werden.
Zuletzt müssen wir die negativen Beispiele betrachten, die in der Approximation akzeptiert,
aber in ((5.7)) verworfen werden. Eine akzeptierte k − 1-Färbung wird in I 0 richtig behandelt, denn das Entfernen zu großer Mengen erschwert die Akzeptanz, und wir müssen nur
die Bearbeitung von Sonnenblumen genauer betrachten. Wir wissen bereits von der Untersuchung der ODER-Gatter, dass höchstens 2−p · (k − 1)n Färbungen nach der Verarbeitung
einer Sonnenblume neu akzeptiert werden. Insgesamt werden sicherlich nicht mehr als M 2
Sonnenblumen verarbeitet und wir haben auch Teil (b) der Behauptung nachgewiesen. Wie gut approximiert die letzte Approximation A den Schaltkreis S?
1/8
Behauptung 5.2 Der monotone Schaltkreis S habe höchstens nc·n
reichend kleine Konstante c > 0. Dann gilt
Gatter für eine hin-
pr[ A(x) < S(x) | x ist ein positives Beispiel ] ≤ 0, 1
pr[ A(y) > S(y) | y ist ein negatives Beispiel ] ≤ 0, 1.
Beweis: Zur Erinnerung, wir haben l = n1/8 , k = n1/4 und p = n1/8 · log2 n gewählt.
1 1/8
Weiterhin gilt mit (5.2) für genügend großes n, M < n 3 ·n .
Anfänglich, also für Eingabegatter approximieren wir exakt.
Wir untersuchen zuerst die Approximation auf den positiven Beispielen. Nach Behauptung 5.1 unterschätzt
ein einziger Approximationsschritt, im Vergleich zum Schaltkreis,
n−l−1
2
höchstens M · k−l−1 positive Beispiele. Aber
M2 ·
n
k
n−l−1
k−l−1
≥
1
n−l l
1/8
·(
) = nΩ(n )
2
M
k
1/8
und die Behauptung folgt, wenn S höchstens ncn Gatter hat und wir dementsprechend
höchstens ebenso viele Approximationsschritten durchführen müssen.
124
KAPITEL 5. DIE KOMPLEXITÄT BOOLESCHER FUNKTIONEN
Jetzt zur Approximation auf den negativen Beispielen. Nach Behauptung 5.1 überschätzt
ein einziger Approximationsschritt, im Vergleich zum Schaltkreis, höchstens M 2 2−p ·(k−1)n
1/8
negative Beispiele. Nach ncn Approximationsschritten ist die Anzahl der im Vergleich
zum Schaltkreis überschätzten negativen Beispiele auf allerhöchstens
1/8
n
cn1/8
2 −p
M 2
ncn
(k − 1)n
· (k − 1) = Ω(n1/8 ) · (k − 1)n ≤
10
n
n
angestiegen und das war zu zeigen.
Wenn sich ein nicht zu großer Schaltkreis im Hinblick auf das Unterschätzen positiver Beispiele wie auch im Hinblick auf das Überschätzen negativer Beispiele nur unwesentlich von
seiner Approximation unterscheidet, dann genügt zum Beweis von Satz 5.7 der Nachweis,
dass jede Approximation in der Berechnung des Clique-Problems fast vollständig versagt.
Und das tut sie!
Behauptung 5.3 Eine Approximation lehnt alle positiven Beispiele ab oder akzeptiert
mindestens die Hälfte aller negativen Beispiele.
Beweis: Wenn eine Approximation nicht alle positiven Beispiele ablehnt, dann gibt es
zumindest eine Clique s der Größe l und alle Graphen werden akzeptiert, die s als Clique
besitzen. Wir wissen aus (5.5), dass eine (k−1)-Färbung mit Wahrscheinlichkeit mindestens
1
keine zwei Knoten in s gleichfärbt. Also wird mindestens die Hälfte aller negativen
2
Beispiele akzeptiert.
Bemerkung 5.2 Wenn mindestens ein positives Beispiel akzeptiert wird, dann akzeptieren (l, M )-Funktionnen mindestens die Hälfte aller negativen Beispiele. Nicht zu große
Schaltkreise werden durch (l, M )-Funktionen gut approximiert in dem Sinne, dass nicht zu
viele negative Beispiele, im Vergleich zum Schaltkreis approximiert werden. Ein nicht zu
großer Schaltkreis schafft es somit nicht, „mit Maxtermen fertig zu werden“.
Dies ist auch ein wesentlicher Grund dafür, dass wir ein ODER approximieren können: Wenn der Schaltkreis schon sehr viele Fehler auf den Maxtermen
macht, dann werden unsere Approximationen nur wenige neue Fehler auf den
Maxtermen hinzufügen.
Eine weitere Fehlerquelle in der Approximation ist das Verwerfen von Mintermen in der
Behandlung eines UND-Gatters. Der Approximationsfehler ist darauf zurückzuführen, dass
eine zu große Clique s ∪ t entfernt wird. Aber es gibt halt nur wenige Minterme, die Obermengen von s ∪ t sind.
5.3. DIE KOMPLEXITÄT DER RESOLUTION
5.3
125
Die Komplexität der Resolution
Definition 5.10 Ein Beweissystem für eine Sprache L ist eine effizient berechenbare Funktion
B : Σ∗ → Σ∗ ,
so dass B(Σ∗ ) = L gilt. Für w ∈ L und ein b ∈ Σ∗ mit B(b) = w nennen wir b einen
Beweis von w.
Wir interessieren uns für die Sprache L aller Tautologien. Gibt es Beweise höchstens polynomieller Länge? Ist die Antwort positiv, dann kann man einen Beweis nichtdeterministisch
raten und sodann effizient (deterministisch) verifizieren. Die Bestimmung von Tautologien
ist aber ein (unter polynomiellen Reduktionen) schwierigstes Problem in coNP und man
überlegt sich leicht, dass aus der Existenz kurzer Beweise die Beziehung coNP ⊆ NP und
damit auch coNP = NP folgt.
Satz 5.8 Es ist NP = coNP genau dann, wenn es ein Beweissystem gibt, so dass jede
Tautologie τ in polynomieller Länge in τ beweisbar ist.
Aufgabe 55
Zeige die Behauptung des Satzes.
Wir betrachten die Resolution, ein fundamentales Beweissystem zur Ableitung einer Klausel aus einem Axiomensystem von Klauseln.
Definition 5.11 Resolutionsbeweise.
(a) Ein Axiomensystem A = {C1 , . . . , Cr } ist eine Menge von Klauseln.
(b) Eine Ableitung (oder ein Resolutionsbeweis) einer Klausel B aus dem Axiomensystem
A ist eine Folge (C1 , . . . , Cm ) von Klauseln mit den folgenden Eigenschaften:
1. B = Cm .
2. Für jedes k
(∗) ist Ck entweder ein Axiom, also eine Klausel in A, oder
(∗) Ck ergibt sich durch Anwendung der Resolution aus früher abgeleiteten
Klauseln Ci und Cj (mit i, j < k), also
Ci = K1 ∨ x, Cj = K2 ∨ ¬x und Ck = K1 ∨ K2 .
(∗) oder Ck ergibt sich durch Abschwächung aus einer früher abgeleiteten Klausel Ci , also
Ci = K1 und Ck = K1 ∨ K2 .
Wir sagen, dass der Beweis die Länge m besitzt.
126
KAPITEL 5. DIE KOMPLEXITÄT BOOLESCHER FUNKTIONEN
(c) Es gelte φ ≡ ri=1 Ci für Klauseln C1 , . . . Cr . Wir sagen, dass φ eine Widerlegung der
Länge m besitzt, wenn die leere Klausel aus A = {C1 , . . . , Cr } durch einen Beweis
der Länge m ableitbar ist.
V
Beachte, dass die Resolution die Soundness-Eigenschaft besitzt: Wenn die Klausel B aus
C1 , . . . , Cr ableitbar ist, dann ist C1 ∧· · ·∧Cr → B eine Tautologie. Insbesondere kann eine
KNF-Formel φ nur dann widerlegt werden, wenn ¬φ eine Tautologie ist. Die Resolution
erfüllt auch die zweite wichtige Eigenschaft eines Beweissytems, sie ist nämlich vollständig:
Wenn die DNF-Formel ¬φ eine Tautologie ist, dann kann φ widerlegt werden.
Aufgabe 56
Zeige, dass eine KNF-Formel φ genau dann widerlegt werden kann, wenn ¬φ eine Tautologie
ist.
Wie lang sind Resolutionsbeweise? Wir betrachten ein für die Resolution besonders schwieriges Problem, das Schubfach-Prinzip: Verteilt man n Objekte in m Fächer und ist n > m,
dann gibt es mindestens ein Fach, das mehr als ein Objekt erhält. Hier ist eine entsprechende Formalisierung mit Hilfe der Aussagenlogik.
(a) Wir arbeiten mit den aussagenlogischen Variablen pi,j für 1 ≤ i ≤ n und 1 ≤ j ≤ m.
pi,j = 1 hat die beabsichtigte Bedeutung, dass Objekt i in Fach j gelegt wird.
(b) Wir haben zwei Typen von Klauseln.
(1) Die Klausel Ci = pi,1 ∨ pi,2 ∨ · · · ∨ pi,m ist genau dann erfüllt, wenn Objekt i in
(mindestens) ein Fach gelegt wird.
(2) Die Klausel Ci,j,k = ¬pi,k ∨ ¬pj,k „fordert“ für i 6= j, dass Fach k nicht sowohl
Objekt i wie auch Objekt j erhält.
Sei φn,m die Konjunktion aller gerade eingeführten Klauseln. Dann ist φn,m genau dann
erfüllbar, wenn die n (n > m) Objekte auf die m Fächer verteilt werden, ohne dass ein
Fach mehr als ein Objekt erhält. Wir fragen uns wie lang Resolutionsbeweise sein müssen,
die φn,m widerlegen.
Wir setzen m = n − 1. Wir akzeptieren sogar falsche Resolutionsbeweise, die möglicherweise viel kürzer sind als richtige Beweise. Wir fordern von einem Resolutionsbeweis mit
Axiomensystem {C1 , . . . , Cn } ∪ {Ci,j,m | 1 ≤ i 6= j ≤ n, 1 ≤ k ≤ m} nämlich nur, dass
die am Ende bewiesene Klausel B falsch ist, wenn wir B für Matchings der Größe n − 1
auswerten:
Die Belegung pi,j ist ein Matching der Größe n − 1 genau dann, wenn die
Belegung ausdrückt, dass n − 1 Objekte auf n − 1 Fächer bijektiv verteilt
werden. Die Belegung heißt i-kritisch, wenn Objekt i nicht verteilt wird.
Weil wir uns freiwillig auf diesen anscheinend sehr einfachen Beweistest einschränken, können wir annehmen, dass der Beweis keine Negation benutzt. Taucht nämlich das Literal
127
5.3. DIE KOMPLEXITÄT DER RESOLUTION
¬pi,j in einer Klausel des Beweises auf, dann können wir ¬pi,j durch l6=i pl,j ersetzen:
Objekt i landet nicht in Fach j, wenn dort bereits ein anderes Objekt landet.
Einen Resolutionsbeweis, der keine Negation benutzt, nennen wir monoton. Die folgende
Überlegung ist zentral.
W
Lemma 5.8 Jede monotone Wiederlegung von φn,n−1 besitzt eine Klausel mit mindestens
2n2 /9 Variablen.
Wir verschieben den Beweis und zeigen zuerst, dass diese anscheinend harmlose Überlegung
extrem lange Resolutionsbeweise für das Schubfach-Prinzip erzwingt.
Satz 5.9 Die Komplexität der Resolution für das Schubfachprinzip
Jede Widerlegung von φn,n−1 mit Hilfe der Resolution erfordert Beweise der Länge mindestens 2n/24 .
Nenne eine Klausel mit mindestens n2 /11 Variablen lang. Lemma 5.8 besagt, dass es eine
lange Klausel gibt. Sei L die Anzahl langer Klauseln. Es muss eine Variable pi,j geben, so
dass pi,j in mindestens
n2 /11
≥ L/11
L·
n(n − 1)
langen Klauseln vorkommt. Wir setzen pi,j = 1 und alle Klauseln, die pi,j enthalten, sind
wahr und können aus dem Beweis entfernt werden. Wir möchten nach dieser Setzung ein
neues Schubfach-Problem auf jetzt n − 1 Objekten erhalten und setzen deshalb pi,j 0 = 0
für j 0 6= j sowie pi0 ,j = 0 für i0 6= i. Die verbleibenden Klauseln des monotonen Beweises
müssen jetzt das Schubfach-Problem φn−1,n−2 beweisen.
Wiederholen wir diesen Setzungsprozess t mal erhalten wir einen montonen Beweis für das
Schubfach-Problem φn−t,n−t−1 . Wir wenden Lemma 5.8 an und erhalten eine Klausel des
Beweises mit mindestens 2(n − t)2 /9 Variablen. Wenn t ≤ n/3, dann ist
2(2n)2
8n2
n2
2(n − t)2
>
=
>
.
9
92
81
11
Die ersten n/3 Anwendungen dieses Setzungsprozesses eliminieren deshalb jedesmal mindestens ein Elftel aller langen Klauseln und es muss
10
L
11
n/3
≥1
gelten. Die Behauptung von Satz 5.9 folgt, wenn wir
11
10
n/3
> 2n/24
beachten.
Beweis von Lemma 5.8: Wir führen das Fortschrittsmaß
Zeugen(C) = {i | C wird von einer i-kritischen Belegung falsifiziert }
128
KAPITEL 5. DIE KOMPLEXITÄT BOOLESCHER FUNKTIONEN
für die Klauseln C des Beweises ein. Beachte, dass für die Klausel B am Ende des Beweises
|Zeugen(B)| = n
gelten muss. Wenn die Klausel Ck aus den Klauseln Ci und Cj gefolgert wird, gilt
|Zeugen(Ck )| ≤ |Zeugen(Ci )| + |Zeugen(Cj )|,
denn jede Belegung, die Ck falsifiziert, muss Ci oder Cj falsifizieren. Wir greifen uns eine
Klausel C für die n/3 < t = |Zeugen(C)| < 2n/3 gilt und zeigen, dass C mindestens t(n−t)
Variablen besitzt. Die Behauptung folgt, da t(n − t) > 2n2 /9.
Angenommen, die i-kritische Belegung α falsifiziert C. Sei j eine beliebige Position, die
aber nicht zu Zeugen(C) gehört. Wir produzieren aus α eine j-kritische Belegung β wie
folgt: Wenn Objekt j für α in Fach l gelegt wird, dann lege für β stattdessen Objekt i in
Fach l; Objekt j wird keinem Fach zugeteilt. Da β j-kritisch ist, j aber nicht zu Zeugen(C)
gehört, muss β die Klausel C erfüllen, während α die Klausel falsifiziert. Das bedeutet
aber, dass pi,l in C vorkommt. Für jede Position i ∈ Zeugen(C) besitzt Ck also mindestens
n − t Variablen pi,l und die Behauptung folgt.
Aufgabe 57
Welche Eigenschaften der Resolution werden im Beweis ausgenutzt?
5.4
Zusammenfassung
Ein einfaches Abzählargument zeigt, dass
SIZE(f ) = Ω(
2n
) und DEPTH(f) ≥ n − O(log2 n).
n
für die meisten Booleschen Funktionen f : {0, 1}n gilt. Diese Schranken sind asymptotisch
exakt. Zum Beispiel gilt DEPTH(g) ≤ n + dlog2 ne für jede Funktion g : {0, 1}n → {0, 1} wie
n
auch SIZE(g) = O( 2n ). Unglücklicherwiese kann man bis heute weder nicht-triviale Größenschranken SIZE(f ) = ω(n) noch nicht-triviale Tiefenschranken DEPTH(f ) = ω(log2 n)
für irgendeine Funktion f in der Klasse NP zeigen. Tatsächlich ist 5n − o(n) die größte,
bisher bekannte untere Größenschranke für ein Problem in NP.
Wir haben deshalb eingeschränkte Schaltkreisklassen, nämlich Schaltkreise von unbeschränktem Fanin, aber beschränkter Tiefe, sowie monotone Schaltkreise betrachtet.
Wenn wir zufällige Restriktionen verwenden, also die große Mehrheit aller Positionen zufällig auf Null oder Eins und nur relativ wenige Positionen, nämlich l viele, unbestimmt
lassen, dann kann, nach Anwendung der Restriktion, eine DNF mit Fanin t in eine KNF
mit Fanin höchstens s umgewandelt werden. Diese Aussage gilt mit Wahrscheinlichkeit
mindestens
!s
O(lt)
1−
n
129
5.4. ZUSAMMENFASSUNG
und ist Inhalt des Switching Lemmas. Das Switching Lemma war das zentrale Hilfsmittel
um zu zeigen, dass „empfindliche“ Boolesche Funktionen große Schaltkreise bei beschränkter Tiefe verlangen. Insbesondere haben wir zeigen können, dass in Tiefe d und Größe
g nur Funktionen mit Empfindlichkeit (englisch: sensitivity) O(log2 g)d berechnet werden
können. Als eine weitere Konsequenz des Switching Lemmas haben wir gezeigt, dass die
1/(d−1) )
Paritätsfunktion xorn nur von Schaltkreisen der Tiefe d und Größe 2Ω(n
berechnet
werden kann.
Wir haben das Switching Lemma verschärft, indem wir versucht haben nicht nur ein einziges DNF-Gatter in ein KNF-Gatter umzuwandeln, sondern alle DNF-Gatter eines Schaltkreises, also alle Gatter der Tiefe zwei simultan umzuwandeln. Wir haben mit diesem
Ansatz eine Zerlegung des n-dimensionalen Würfels in nicht zu viele Teilwürfel bestimmt,
so dass der vorgegebene Schaltkreis auf jedem Teilwürfel konstant ist. Diese ZerlegungsEigenschaft haben wir benutzt, um die nur sehr schwache Korrelation eines Schaltkreises
der Tiefe d und Größe S mit der Paritätsfunktion nachzuweisen. Es gilt nämlich
pr[ S(x) = xorn ] ≤
d−1
1
+ 2−n/O(log2 g) .
2
Wir haben monotone Schaltkreise für das Clique-Problem untersucht und haben insbesondere studiert, wie gut eine nicht zu große DNF den Schaltkreis approximiert. Wir haben das
Sonnenblumen-Lemma von Erdös und Rado benutzt, um eine zu große DNF, die durch
die „Ver-Oderung“ oder durch die „Ver-Undung“ von DNFs entstanden ist, wieder auf
die Maximalgröße herunterzuschneiden. Die Ersetzung der Monome zu den Blättern einer
Sonnenblume durch das Monom zur Blüte der Sonnenblume akzeptiert mindestens so viele
Minterme wie zuvor, akzeptiert aber nicht zu viele Maxterme, die von den Ausgangs-DNF
nicht akzeptiert werden.
Aber nicht zu große DNFs akzeptieren, bis auf triviale Ausnahmen, mindestens
die Hälfte aller Maxterme, und sie akzeptieren fast ebenso viele Maxterme wie
„mittel-riesige“ Schaltkreise. Diese mittel-riesigen Schaltkreise haben somit ein
großes Problem im Verwerfen aller Maxterme.
Diese Eigenschaft haben wir gnadenlos ausgenutzt um nachzuweisen, dass jeder monotone
1/8
Schaltkreis für das Clique-Problem mindestens nΩ(n ) Gatter benötigt.
Wir haben gezeigt, dass das Schubfach-Prinzip nur exponentiell lange Beweise besitzt. Hier
war vor Allem eine Überlegung wesentlich: Jeder Beweis besitzt eine Klausel mit sehr vielen
Variablen, es gibt also „lange“ Klauseln im Beweis. Wir haben diese Überlegung benutzt,
um zu folgern, dass eine Variable in einem konstanten Prozentsatz aller langen Klauseln
auftritt. Wenn wir diese Variable geeignet setzen, haben wir den Beweis signifikant um die
jetzt erfüllten Klauseln gekürzt, der restliche Beweis muss aber das Schubfachprinzip für
nur eine Dimension weniger beweisen.
Im Abschnitt 7.4.5 zeigen wir ein erstaunlichen Zusammenhang zwischen der minimalen
Tiefe DEPTH+ (f ) und der minimalen Kommunikationskomplexität für das folgende, von
130
KAPITEL 5. DIE KOMPLEXITÄT BOOLESCHER FUNKTIONEN
zwei Spielern Alice und Bob zu lösende Problem: Alice erhält eine Eingabe x mit f (x) = 1
und Bob eine Eingabe y mit f (y) = 0. Ohne die Eingabe des jeweils anderen Spielers zu
kennen, müssen die Spieler kooperieren, um sich mit möglichst wenigen ausgetauschten
Bits auf eine Position i mit xi 6= yi zu einigen. Wir benutzen diesen Zusammenhang
zur Kommunikationskomplexität, um zu zeigen, dass jeder monotone Schaltkreis für das
Matching Problem Matchn,n mindestens Tiefe Ω(n) benötigt.
Kapitel 6
P 6= NP?
Seit den frühen 70er Jahren hat man erfolglos versucht zu zeigen, dass P eine echte Teilklasse
von NP ist. Warum hat es keinen Erfolg gegeben? Vielleicht, weil P 6= NP zwar wahr, aber
nicht beweisbar ist? Vielleicht, weil P = NP in einigen „Berechnungswelten“ sogar wahr ist?
6.1
Rechnen mit Orakeln
Wir zeigen, dass P = NP in einigen „Berechnungswelten“ gilt. Und was, bitte schön, ist eine
Berechnungswelt?
Definition 6.1 Sei A ⊆ Σ∗ eine Sprache.
(a) Eine Turingmaschine M mit Orakel A arbeitet wie eine gewöhnliche Ein-Band Turingmaschine; allerdings besitzt M ein zusätzliches Orakelband.
Wenn das Orakelband mit der Eingabe w# beschrieben ist, dann wird in einem einzigen
Berechnungsschritt mitgeteilt, ob w zur Sprache A gehört; die Beschriftung des Orakelbands
benötigt andererseits eine Laufzeit proportional zur Länge der Anfrage.
(b) Sei K eine durch die Beschränkung einer Ressource (wie Laufzeit oder Speicherplatz)
definierte Komplexitätsklasse. Dann ist K A die entsprechend definierte Komplexitätsklasse,
wobei aber diesmal Fragen an das Orakel A zugelassen sind.
Wir erhalten also für jedes Orakel A eine neue Berechnungswelt. Wir machen einige erste
Beobachtungen. (coNP ist die Menge aller Sprachen L, deren Komplementsprachen zur
Klasse NP gehören.)
Lemma 6.1
(a) Wenn A ∈ P, dann ist PA = P.
(b) Wenn A eine NP-vollständige Sprache ist, dann folgt NP ∪ coNP ⊆ PA .
(c) Wenn A eine PSPACE-vollständige Sprache ist, dann ist PA = NPA = PSPACE.
131
KAPITEL 6. P 6= NP?
132
Beweis (a). Die Inklusion PA ⊆ P ist offensichtlich, da eine Turingmaschine mit Orakel A
die eigenen Anfragen mit nur polynomiellem Mehraufwand auch selbst beantworten kann.
Die umgekehrte Inklusion P ⊆ PA ist selbstverständlich.
(b) Sei L eine beliebige Sprache in NP. Da A eine NP-vollständige Sprache ist, gibt es eine
deterministische polynomiell zeit-beschränkte Turingmaschine M so dass
w ∈ L ⇔ M (w) ∈ A.
Also ist L ∈ PA und damit folgt NP ⊆ PA . Letztlich beachte, dass die Klasse PA für jede
Sprache A unter Komplementbildung abgeschlossen ist, und wir erhalten coNP ⊆ PA .
(c) Die Inklusion NPA ⊆ PSPACE ist offensichtlich, da A ∈ PSPACE und da NP ⊆ PSPACE. Die
Beziehung PSPACE ⊆ PA folgt aus der PSPACE-Vollständigkeit von A, denn für jede Sprache
L ∈ PSPACE gibt es eine deterministische polynomiell zeit-beschränkte Turingmaschine M
so dass
w ∈ L ⇔ M (w) ∈ A
gilt. Die Behauptung folgt.
Aus Teil (c) folgt, dass es Berechnungswelten gibt für die P und NP zusammenfallen. Kann
man aber wenigstens eine Berechnungswelt finden, für die NP nachweislich mächtiger als P
ist?
Satz 6.1
(a) Es gibt ein Orakel A mit PA = NPA .
(b) Es gibt ein Orakel A mit PA 6= NPA .
Beweis (a) ist bereits in Lemma 6.1 (c) nachgewiesen worden.
(b) Wir konstruieren ein Orakel A, so dass die Sprache
LA = {w | ∃x ∈ A (|x| = |w|) }
zu NPA , nicht aber zu PA gehört. Offensichtlich ist LA ∈ NPA für jedes Orakel A erfüllt:
Rate für Eingabe w einen String x gleicher Länge und akzeptiere genau dann, wenn x ∈ A.
Sei M1 , M2 , . . . , Mi , . . . , eine Auflistung aller Orakel-Turingmaschinen, die in polynomieller
Zeit rechnen. Die Auflistung sei so gewählt, dass Mk in Zeit O(nk ) rechne. Um LA 6∈
PA zu garantieren, werden wir jede Turingmaschine Mk mit einem Diagonalisierargument
„abschießen“: Wir stellen in Phase k sicher, dass sich Mk und LA auf mindestens einer
Eingabe w unterscheiden.
Phase k: Wir nehmen an, dass wir die Maschinen M1 , . . . , Mk−1 bereits abgeschossen
haben und dass dabei nur Anfragen aus der Menge {w1 , . . . wm } vom Orakel beantwortet
wurden. Die natürliche Zahl n sei so groß gewählt, dass n > max{|w1 |, . . . |wm |} gelte; ebenso sei auch 2n > nk . Wir versuchen, Mk auf der Eingabe 1n abzuschießen und simulieren
dazu Mk .
Wenn Mk eine Anfrage y aus der Menge {w1 , . . . , wm } stellt, dann wird die Anfrage konsistent beantwortet. Ist die Anfrage y hingegen neu, dann wird die Antwort Nein gegeben.
6.2. SCHWIERIGE, ABER NICHT VOLLSTÄNDIGE SPRACHEN IN NP
133
Fall 1: Mk akzeptiert 1n .
Wir erzwingen 1n ∈
/ LA , indem wir alle Worte der Länge n für A ausschließen. Da Anfragen
der Länge n noch nicht gestellt wurden, ist unser Vorgehen konsistent mit den bisherigen
Antworten.
Fall 2: Mk verwirft 1n .
Da Mk in Zeit nk < 2n rechnet, gibt es ein Wort u der Länge n, das von Mk (für Eingabe
1n ) nicht nachgefragt wurde. Wir definieren A so, dass u das einzige akzeptierte Wort der
Länge n ist. Es ist also 1n ∈ LA , im Gegensatz zum Verhalten von Mk .
Bemerkung 6.1 Kann P 6= NP mit einem Diagonalisierargument bewiesen werden? Unser
Beweis der Zeit-Hierarchie (Satz 1.4) „relativiert“, gilt also in jeder Berechnungswelt: An
keiner Stelle im Beweis von Satz 1.4 fragen wir nach, wie denn die simulierte Turingmaschine rechnet. Aber die Aussage P = NP relativiert nicht, hängt, wie wir gerade gesehen
haben, von der jeweiligen Berechnungswelt ab.
Ein Beweis von P 6= NP muss, wenn Diagonalisierungsargumente benutzt werden, zusätzlich
andere Methoden nutzen. Mit diesen Methoden muss die Arbeitsweise der Turingmaschine
genau „unter die Lupe“ genommen werden.
6.2
Schwierige, aber nicht vollständige Sprachen in NP
Wir haben mit der NP-Vollständigkeit einen Glücksgriff getan, denn viele schwierige Probleme haben sich als äquivalent erwiesen. Die Eigenschaft „NP-vollständig“ zu sein ist deshalb
ein sehr starkes Indiz für die erwiesene Schwierigkeit eines Problems. Für nur wenige, aber
anscheinend sehr schwierige Probleme kann man bisher kein NP-Vollständigkeitsergebnis
nachweisen. Zu diesen Problemen gehört die Graph-Isomorphie und das Faktorisierungsproblem. In beiden Fällen hat man sogar starke Indizien gefunden, die gegen eine NPVollständigkeit sprechen. Wir zeigen jetzt, dass es Probleme mit einem „mittleren“ Schwierigkeitsgrad in NP geben muss, solange P 6= NP gilt.
Satz 6.2 Es gelte P 6= NP. Dann gibt es eine Sprache L ∈ NP \ P, die nicht NP-vollständig
ist.
Beweis: Für eine noch zu konstruierende Funktion H : N → N zeigen wir, dass eine
Variante
H(n)
SATH = {φ 0 1n
| |φ| = n und die aussagenlogische Formel φ ist erfüllbar }
des Erfüllbarkeitsproblems weder NP-vollständig ist noch in P liegt. SATH ist „im Grunde“ identisch mit dem konventionellen Erfüllbarkeitsproblem, aber wir haben durch das
Hinzufügen relativ vieler Einsen die Eingabelänge substantiell vergrößert und damit die
Berechnung erleichtert: Wenn Laufzeit t zur Verfügung steht, aber die Eingabelänge jetzt
N beträgt statt der wirklichen Eingabelänge n = |φ| und wenn n << N gilt, dann steht
KAPITEL 6. P 6= NP?
134
jetzt unter Umständen sehr viel mehr Zeit, nämlich Zeit t(N ) statt der ursprünglichen
Laufzeit t(n) zur Verfügung.
Wir definieren H(n) und setzen dazu voraus, dass H(m) für alle m ≤ log2 n bereits definiert
ist.
- Angenommen, es gibt eine Turingmaschine M mit i = hM i < log2 log2 n, so dass M
für jede Eingabe
H(m)
x = φ 0 1m
mit |φ| = m
der Länge höchstens log2 n richtigerweise in Zeit höchstens i|x|i entscheidet, ob x zu
SATH gehört oder nicht.
In diesem Fall wird H(n) = i gesetzt, wobei i die kleinstmögliche Gödelnummer einer
Turingmaschine mit der obigen Eigenschaft ist.
- Gibt es eine solche Turingmaschine M mit kleiner Gödelnummer nicht, dann setze
H(n) = log2 log2 n.
Behauptung 1: SATH ∈ P ⇔ H(n) = O(1).
Beweis ⇒ Dann wird SATH von einer Turingmaschine M in höchstens cnc Schritten gelöst.
Wenn n so groß ist, dass hM i < log2 log2 n gilt, dann ist H(n) ≤ hM i nach Definition von
H und H(n) = O(1) folgt.
⇐ Es gelte H(n) = O(1). Dann ist die Folge H(n) beschränkt, und es ist H(n) = hM i = i
für eine Turingmaschine M und unendlich viele n. Also wird SATH für alle Instanzen von
M in Zeit i · ni gelöst.
Behauptung 2: Wenn SATH 6∈ P, dann ist H(n) = ω(1).
Warum? Ansonsten gibt es eine TM M , so dass H(n) = hM i = i für unendlich viele n.
Also wird SATH für alle Instanzen von M in polynomieller Zeit ini gelöst.
Behauptung 3: SATH liegt nicht in P
Wir nehmen an, dass SATH tatsächlich in P liegt. Dann folgt H(n) = O(1) mit Behauptung
1. Aber dann ist SATH nichts anderes als das Erfüllbarkeitsproblem, dessen Eingabe mit
nur polynomiell vielen Einsen aufgefüllt ist. Da die Funktion H in polynomieller Zeit
berechnet werden kann, ist dann auch das Erfüllbarkeitsproblem effizient lösbar.
Die Behauptung des Satzes folgt, wenn wir zeigen können, dass SATH nicht NP-vollständig
ist. Wir gehen wieder indirekt vor und nehmen an, dass SATH doch NP-vollständig ist. Es
gibt eine polynomielle Reduktion von SAT auf SATH . Das bedeutet, dass es eine in Zeit
ni berechenbare Transformation T gibt mit
ψ ∈ SAT ⇔ T (ψ) ∈ SATH
für alle Formeln ψ. Nach Annahme liegt SATH nicht in P und H(n) = ω(1) folgt mit
Behauptung 2. Wenn die Formel ψ groß genug ist und wenn T (ψ) = φ 0 1H(|φ|) , dann wird
das Problem der Erfüllbarkeit von ψ auf das Problem der Erfüllbarkeit der wesentlich
6.3. NATÜRLICHE BEWEISE
135
kleineren Formel φ reduziert: Wir erhalten einen effizienten rekursiven Algorithmus für
SAT.
Wir haben einen Widerspruch zur Annahme P 6= NP erhalten: SATH kann nicht NPvollständig sein.
6.3
Natürliche Beweise
?
Ist die P = NP Frage vielleicht deshalb so schwer, weil wir sie mit „gängigen“ Methoden
gar nicht beantworten können? Was sind gängige Methoden? Jede Sprache in P kann von
einer Schaltkreisfamilie polynomieller Größe erkannt werden, gehört also zur Klasse P/poly
aller Sprachen mit Schaltkreisen polynomieller Größe. Es genügt somit der Nachweis, dass
(irgend)eine Sprache in NP keine Schaltkreise polynomieller Größe besitzt, also nicht zu
P/poly gehört. (Man nutzt also nicht aus, dass die Sprachen in P sogar durch uniforme
Schaltkreisfamilien berechnet werden können.)
Natürliche Beweise stellen einen „natürlichen Ansatz“ in dieser Richtung dar. Wir stellen
uns nämlich vor, dass ein Operator Cn eine Boolesche Funktion fn : {0, 1}n → {0, 1}
entweder mit Null oder Eins klassifiziert, wobei die Klassifizierung mit Eins für unendlich
viele n bedeutet, dass die Funktionsfamilie (fn | n ∈ N) keine „kleinen“ Schaltkreise besitzt.
Die Klassifizierung mit Null ist erzwungen, wenn jedes fn kleine Schaltkreise besitzt, wir
erlauben aber auch für schwierige Funktionen gn eine Klassifizierung mit Null, einfach
deshalb weil die dem Operator Cn zugrunde liegende Eigenschaft nicht auf gn zutrifft.
Wir stellen einige weitere wünschenswerte Eigenschaften des Operators zusammen.
Definition 6.2 Bn bezeichnet die Menge der Booleschen Funktionen mit n Eingabebits.
(a) Eine Folge C = (Cn | n ∈ N) heißt eine kombinatorische Eigenschaft, falls Cn ⊆ Bn .
(b) Die kombinatorische Eigenschaft C = (Cn | n ∈ N) ist natürlich (gegen SIZE(nc )),
falls
(1) C konstruktiv ist: Wenn eine Funktion f ∈ Bn durch ihre Funktionstabelle spezifiziert ist, dann kann in polynomieller Zeit (d.h. in Zeit polynomiell in 2n )
entschieden werden, ob f ∈ Cn , d.h. ob f die Eigenschaft C besitzt.
(2) C hinreichend groß ist: Es ist |Cn | ≥ 2−n · |Bn | für alle n ∈ N.
(3) C nützlich gegen SIZE(nc ) ist: Jede Funktion f = (fn | n ∈ N), die die Eigenschaft C für unendlich viele Eingabelängen n hat, gehört nicht zu SIZE(nc ).
Beispiel 6.1 Unsere untere Schranke für Schaltkreise beschränkter Tiefe hat die Tiefe der
Schaltkreise mit Hilfe zufälliger Restriktionen sukzessive bis zur Tiefe zwei reduziert. Wenn
eine Funktion eine zu große Empfindlichkeit besitzt, musste der berechnende Schaltkreis
entsprechend groß sein. Der natürliche Beweis (gegen AC0 ) besteht in diesem Fall in der
Bestimmung der Empfindlichkeit einer Funktion f . Wir beobachten, dass
KAPITEL 6. P 6= NP?
136
1. die Bestimmung der Empfindlichkeit in Zeit 2O(n) gelingt und dass
2. Zufallsfunktionen die Empfindlichkeit mindestens n/4 besitzen.
Die Eigenschaft
Cn (f ) = „Ist die Empfindlichkeit von f mindestens n/4?“
erfüllt die Anforderungen (1) und (2) an einen natürlichen Beweis gegen AC0 . Schließlich
besagt Korollar 5.2, dass Cn nützlich gegen AC0 ist, und C = (Cn | n ∈ N) ist tatsächlich
ein natürlicher Beweis gegen AC0 .
Angenommen, wir möchten eine superpolynomielle untere Schranke für die Größe von
Schaltkreisefamilien zur Berechnung von f : {0, 1}∗ → {0, 1} herleiten. Dann wird man
erwarten, dass ein solcher Beweis eine kombinatorische Eigenschaft C von f entdeckt und
nachweist, dass keine Funktionenfolge mit dieser kombinatorischen Eigenschaft in P/poly
liegt.
In unserer Definition kombinatorischer Eigenschaften fordern wir in (2), dass die kombinatorische Eigenschaft C von sehr vielen Booleschen Funktionen erfüllt wird. Warum ist
diese Forderung vernünftig?
Die Berechnung von Zufallssfunktionen ist schwierig, wie wir im Abzählargument aus Satz 5.1 festgestellt haben. Eine kombinatorische Eigenschaft C, die
nur von einer kleinen Minderheit von Funktionen angenommen wird, deckt exotische Schwierigkeitseigenschaften auf —ausgeschlossen ist die Existenz einer
solchen Eigenschaft aber sicherlich nicht.
Beispiel 6.2 Wir möchten ein Komplexitätsmaß µ konstruieren, so dass µ(f ) eine untere
Schranke für die Formelgröße boolescher Funktionen f ∈ Bn ist. (Die Formelgröße für
eine Boolesche Funktion f ist die kleinste Blätterzahl eines Baums, der f berechnet.) Ein
„natürlicher“ Ansatz fordert
µ(xi ) = µ(¬xi ) = 1 sowie µ(f ∨ g), µ(f ∧ g) ≤ µ(f ) + µ(g).
(6.1)
Angenommen, es gibt eine Funktion f mit µ(f ) ≥ S. Dann gilt µ(g) ≥ S/4 für mindestens
ein Viertel aller Funktionen g ∈ Bn . Warum? Es ist
f = (f ⊕ g) ⊕ g = ((f ⊕ g) ∧ ¬g) ∨ (¬(f ⊕ g) ∧ g)
und dementsprechend folgt
µ(f ) ≤ µ(f ⊕ g) + µ(g) + µ(¬(f ⊕ g)) + µ(¬g).
Wenn 3/4 aller Funktionen in Bn eine µ-Komplexität kleiner als S/4 besitzt, dann gibt es
eine Funktion g mit
µ(f ⊕ g), µ(g), µ(¬(f ⊕ g)), µ(¬g) < S/4
und µ(f ) < S folgt.
Selbst wenn wir nur Aussagen über die Formelgröße bestimmter Funktionen machen wollen, zwingt uns der Ansatz des Komplexitätsmaßes µ, Aussagen über Zufallsfunktionen zu
machen.
137
6.3. NATÜRLICHE BEWEISE
In Teil (1) fordern wir, dass C konstruktiv ist. Diese Forderung ist einerseits recht liberal, denn exponentielle Zeit 2O(n) steht zur Verfügung und das sollte mehr als ausreichend
sein, wenn kompakt darstellbare Funktionen auf die Erfüllung der Eigenschaft C untersucht werden. Ist eine Funktion hingegen nicht kompakt beschreibbar, sondern muss man
tatsächlich auf die 2n -Bit lange Funktionstabelle zugreifen, dann steht nur polynomielle
Zeit zur Verifikation von C zur Verfügung. Natürliche Beweise erfassen nicht-konstruktive
Eigenschaften damit nicht.
Beispiel 6.3 In der Kommunikationskomplexität betrachtet man die Kommunikationsmatrix Mf einer Booleschen Matrix f : {0, 1}2n → {0, 1}; man setzt Mf [x, y] = f (xy) für
eine „Zeile“ x ∈ {0, 1}n und eine „Spalte“ y ∈ {0, 1}n .
In der Methode der größten monochromatischen Teilmatrix bestimmt man die maximale Anzahl mono(f ) der Matrixeinträge in einer Teilmatrix von Mf , die entweder nur aus
Nullen oder nur aus Einsen besteht. Für Funktionen f : {0, 1}2n → {0, 1} definieren wir die
Eigenschaft C2n mit C2n (f ) = 1 genau dann, wenn mono(f ) ≥ 23n/2 gilt. Diese Eigenschaft
ist wahrscheinlich nicht konstruktiv, denn das Problem ob eine Matrix eine monochromatische Teilmatrix mit mindestens 23n/2 Einträgen besitzt, ist NP-vollständig. In vielen Fällen
kann man aber auch mit der konstruktiven Rangmethode arbeiten, die nach dem Rang der
Matrix Mf über dem Körper der rationalen Zahlen fragt.
Wir untersuchen also mögliche Beweise für NP 6⊆ P/poly , die konstruktiv-nachweisbare,
von vielen Funktionen erfüllte Eigenschaften aufstellen, wobei diese Eigenschaften nur von
schwierigen Funktionen erfüllbar sind.
6.3.1
One-Way und Pseudo-Zufallsfunktionen
Kann man Pseudo-Zufallsfunktionen f konstruieren, Funktionen, die in polynomnieller
ε
Zeit berechnet werden können, aber selbst in super-polynomieller Zeit 2n (für irgendeine,
möglicherweise sehr kleine Konstante ε > 0) nicht von Zufallssfunktionen, also von wirklich zufälligen Funktionen unterschieden werden können? Pseudo-Zufallsfunktionen sind
durch Schaltkreise polynomieller Größe berechenbar, Zufallssfunktionen hingegen nicht.
Ein natürlicher Beweis muss deshalb Pseudo-Zufallsfunktionen und Zufallssfunktionen unε
terscheiden können. Verstößt dies gegen die Annahme, dass Zeit 2n für die Trennung nicht
ausreicht?
Wie produziert man Pseudo-Zufallsfunktionen? Man beginnt mit one-way Funktionen, baut
aus einer one-way Funktion einen Pseudo-Random Generator und konstruiert schließlich
Pseudo-Zufallsfunktionen mit Hilfe von Pseudo-Random Generatoren.
Definition 6.3 Eine Funktion f : {0, 1}∗ → {0, 1}∗ heißt eine one-way Funktion mit
Komplexität s, wenn f durch einen effizienten Algorithmus berechenbar ist und wenn für
jeden randomisierten Algorithmus P mit Laufzeit s
prob[P berechnet auf Eingabe f (x) ein z mit f (z) = f (x) | x ∈ {0, 1}n ] <
1
s(n)
138
KAPITEL 6. P 6= NP?
gilt. Hier wird für jedes n die Gleichverteilung auf den Argumenten x ∈ {0, 1}n von f und
auf den Münzwürfen von P zugrunde gelegt.
Eine Reihe von vermuteten one-way Funktionen ist aus der Zahlentheorie bekannt.
Faktorisierung: Als Eingabe sind zwei Primzahlen p und q gegeben. Die Ausgabe ist das
Produkt N = p · q. Im Umkehrproblem ist also die Zahl N zu faktorisieren.
Das Problem des diskreten Logarithmus: Als Eingabe ist eine Primzahl p, ein erzeugendes Element g modulo p und eine natürliche Zahl i gegeben. Die Potenz g i mod p ist
zu berechnen. Im Umkehrproblem sind p, g und g i mod p gegeben. Der „Logarithmus“ i
ist zu berechnen.
Das RSA-Problem: Als Eingabe sind die Zahlen N, e und x gegeben, wobei e und φ(N ),
die Anzahl der primen Restklassen modulo N , teilerfremd seien. Der Modulus N ist ein
Produkt von zwei (nicht bekannten) Primzahlen. Als Ausgabe ist y ≡ xe mod N zu
berechnen. Im Umkehrproblem ist x zu bestimmen, wobei y, N und e gegeben sind.
Das Problem der diskreten Quadratwurzelberechnung: Als Eingabe sind natürliche
Zahlen m und x < m gegeben. Die Ausgabe ist (m, x2 mod m). Das Umkehrproblem ist also
die Bestimmung der Wurzel modulo m. (Eine effiziente Lösung gelingt mit probabilistischen
Algorithmen, solange m eine Primzahl ist.)
Selbst nach Jahrzehnten intensiver Forschung hat man keine ernstzunehmenden Attacken
gegen eine dieser Funktionen konstruieren können. Die Vermutung, dass es sich um oneε
way Funktionen der Komplexität 2n für irgendein ε > 0 handelt, ist also durchaus nicht
abwegig. Andererseits ist der Nachweis, dass one-way Funktionen der Komplexität nω(1)
existieren, bisher nicht gelungen. Ein Grund hierfür wird in der folgenden Aufgabe beschrieben.
Aufgabe 58
Wenn f : {0, 1}∗ → {0, 1} eine one-way Funktion der Komplexität nω(n) ist, dann gilt
P 6= NP.
Wir betrachten als Nächstes Pseudo-Random Generatoren, die einen Zufallsstring der Länge k, die „Saat“, zu einem „zufällig wirkenden“ String der Länge 2k aufblähen. Der Generator ist gut, wenn nur sehr große Schaltkreise den Generator von einem wirklichen
Zufallsgenerator unterscheiden können.
Definition 6.4 Gk : {0, 1}k → {0, 1}2k sei eine effizient berechenbare Funktion. Wir sagen, dass Gk ein Pseudo-Random Generator mit Komplexität sk ist, wenn kein Schaltkreis
Sk der Größe höchstens sk den Generator Gk von einer Zufallsquelle unterscheiden kann,
wenn also stets
1
| pr[Sk (Gk (x)) = 1] − pr[Sk (y) = 1] | <
sk
gilt. x ∈ {0, 1}k und y ∈ {0, 1}2k werden jeweils gemäß der Gleichverteilung gewählt.
139
6.3. NATÜRLICHE BEWEISE
Man kann zeigen, dass die Existenz von one-way Funktionen die Existenz von PseudoRandom Generatoren bedingt, und auch die umgekehrte Beziehung gilt. Beispielhaft konstruieren wir Pseudo-Random Generatoren aus den oben aufgeführten one-way Funktionen.
Der Blum-Micali Generator wählt eine Primzahl p und eine erzeugende Restklasse g
modulo p. Sodann wird für eine Saat s0 die Iteration
si+1 = g si mod p
berechnet und die Bitfolge (b1 , . . . , bm ) ausgegeben. Hierbei ist
(
bi =
1 wenn si < p/2
0 sonst.
Der Blum-Micali Generator basiert auf dem diskreten Logarithmus
x 7→ g x mod p
als one-way Funktion.
Der RSA Generator: Für eine Saat s0 berechnen wir
si+1 = sei mod N.
Die Ausgabe des Generators für die Saat s0 ist dann die Bitfolge (s1 mod 2, . . . , sm mod 2).
Die Länge m der Folge sollte polynomiell in der Anzahl der Bits von s0 sein.
Der Blum-Blum-Shub Generator: Für eine Saat s0 berechnen wir
si+1 = s2i mod N,
wobei N = p · q mit Primzahlen p ≡ q ≡ 3 mod 4 gelte. Die Ausgabe des Generators ist
dann die Bitfolge (s1 mod 2, . . . , sm mod 2). Die Länge m der Folge sollte polynomiell in
der Anzahl der Bits von s0 sein. Der Blum-Blum-Shub Generator beruht auf der diskreten
Quadratwurzelberechnung
x 7→ x2 mod N
als one-way Funktion.
In den Übergängen von one-way Funktionen zu Pseudo-Random Generatoren und schließlich zu Pseudo-Zufallsfunktionen machen wir den letzten Schritt.
Definition 6.5 Eine Familie Fk = (ft | t ∈ {0, 1}k ) mit Funktionen ft : {0, 1}k → {0, 1}
heißt eine Familie von Pseudo-Zufallsfunktionen mit Komplexität s genau dann, wenn
(a) Fk effizient auswertbar ist: Es gibt einen Algorithmus, der in Zeit polynomiell in k
für Eingabe t, x ∈ {0, 1}k den Wert ft (x) bestimmt.
KAPITEL 6. P 6= NP?
140
(b) Fk nicht effizient von Zufallsfunktionen unterscheidbar ist: Für jeden randomisierten
Algorithmus A mit Laufzeit s gilt
1
| pr[A(ft ) = 1] − pr[A(f ) = 1] | < .
s
Für die Trennung von Pseudo-Zufallsfunktionen und Zufallsfunktionen wird die Gleichverteilung auf t ∈ {0, 1}k , f ∈ Bk und den Münzwürfen von A zugrunde gelegt. A darf
während seiner Berechnung Funktionswerte für bis zu s Argumente anfordern.
Und wie baut man Pseudo-Zufallsfunktionen aus einem Pseudo-Random Generator Gk ?
Es sei Gk = (F0 , F1 ) für F0 , F1 : {0, 1}k → {0, 1}k ein Pseudo-Random Generator. Für
jedes binäre Wort y = y1 · · · yk ∈ {0, 1}∗ definieren wir die Funktion
Fy : {0, 1}k → {0, 1}k ,
durch
Fy = Fyk ◦ · · · ◦ Fy1 .
Die Funktionen Hx : {0, 1}k → {0, 1} mit
Hx (y) = das erste Bit von Fy (x)
wählen wir als die von Gk : {0, 1}k → {0, 1}2k produzierten Pseudo-Zufallsfunktionen.
Wie schon erwähnt, lässt sich aus jeder one-way Funktion ein Pseudo-Random Generator
bauen und aus jedem Pseudo-Random Generator eine Familie von Pseudo-Zufallsfunktionen, wie wir gerade gesehen haben. Der folgende Zusammenhang zwischen den gerade
konstruierten Pseudo-Zufallsfunktionen und „ihrer“ one-way Funktion ist bekannt.
Lemma 6.2 Die Konstante ε > 0 sei vorgegeben. Für jede one-way Funktion mit Kompleε
δ
xität 2m besitzt die zugehörige Familie der Pseudo-Zufallsfunktionen die Komplexität 2m
für ein δ > 0.
6.3.2
Natürliche Beweise knacken One-way Funktionen
Was haben Pseudo-Zufallsfunktionen mit natürlichen Beweisen zu tun?
Satz 6.3 Sei c eine hinreichend große Konstante und ε > 0 sei beliebig. Wenn es oneε
way Funktionen mit Komplexität 2n gibt, dann gibt es keine natürlichen Beweise gegen
SIZE(nc )
Sei C = (Cm | n ∈ N) ein natürlicher Beweis und seien ft : {0, 1}m → {0, 1} PseudoZufallsfunktionen. Die Funktionen ft können effizient ausgewertet werden. Da C ein natürlicher Beweis ist, folgt somit ft 6∈ Cm bzw. Cm (ft ) = 0 für jedes t ∈ {0, 1}m .
141
6.4. ZUSAMMENFASSUNG
Andererseits wird die Eigenschaft Cm von vielen Funktionen erfüllt, denn es ist |Cm | ≥
|Bm |
. Damit folgt für Zufallsfunktionen f ∈ Bm und zufällige Wahlen von t ∈ {0, 1}m ,
2O(m)
dass
| pr[Cm (f ) = 1] − pr[Cm (ft ) = 1] | = pr[Cm (f ) = 1] ≥
1
(6.2)
2O(m)
gilt. Mit anderen Worten, Cm unterscheidet die Pseudo-Zufallsfunktion ft „schwach“ von
Zufallsfunktionen f ∈ Bm . Zusätzlich kann der „statistische Test“ Cm durch einen Algorithmus in Zeit 2O(m) implementiert werden, denn das Nachprüfen der Eigenschaft Cm
gelingt in polynomieller Zeit (polynomiell in der Länge der Funktionstabelle). Leider ist
diese Unterscheidung wertlos, da viel zu viel Zeit verloren geht, denn wir müssen eine
δ
Unterscheidung in Zeit höchstens 2m erreichen.
Setze n = mδ/2 . Um ft von f zu unterscheiden, übergeben wir dem natürlichen Beweis
die Funktionstabellen von ft (∗0m−n ) und f (∗0m−n ). Da beide Funktionen von nur n Bits
abhängen, liefert der natürliche Beweis eine Trennung mit der gleichen Argumentation wie
in (6.2) und wir erhalten
| pr[Cn (f (∗0m−n )) = 1] − pr[Cn (ft (∗0m−n )) = 1] | = pr[Cn (f (∗0m−n )) = 1] ≥
1
2O(n)
.
(Wenn wir zuerst eine zufällige Funktion aus Bm ziehen und dann die letzten m − n Bits
der Eingabe „ausnullen“, erhalten wir genau die Gleichverteilung auf den Funktionen in
∗
, der die letzten m − n Positionen auf Null setzt und dann
Bn .) Der statistische Test Cm
Cn auf die eingeschränkte Funktion anwendet, also
∗
Cm
(g) = Cn (g(∗0m−n )),
δ/2
ist in Zeit höchstens 2O(n) = 2m
implementierbar und erreicht die geforderte Trennung
∗
∗
∗
| pr[Cm
(f ) = 1] − pr[Cm
(ft ) = 1], | = pr[Cm
(f ) = 1] ≥
1
2O(mδ/2 )
.
Nach Lemma 6.2 ist eine solche Unterscheidung nicht möglich, wenn wir mit Pseudo
Zufallsfunktionen arbeiten, die von one-way Funktionen der Komplexität mindestens 2n
abgeleitet werden. Solche one-way Funktionen g gibt es aber nach Annahme, wenn die
Konstante c so groß gewählt wird, dass eine Evaluierung durch Schaltkreise der Größe nc
möglich ist.
6.4
Zusammenfassung
Es ist nicht ausgeschlossen, dass Methoden, die auf der Diagonalisiermethode von Cantor
aufbauen, für die Trennung von Komplexitätsklassen eingesetzt werden können. Für den
erfolgreichen Einsatz muss aber die Arbeitsweise des Berechnungsmodells sehr viel genauer
verfolgt werden als dies mit gegenwärtigen Methoden möglich ist.
KAPITEL 6. P 6= NP?
142
Natürliche Beweise modellieren zum Beispiel Ansätze, die nachweisen möchten, dass irgendein Problem in NP nur Schaltkreise einer bestimmten Mindestgröße besitzt. Aber wir
haben gesehen, dass natürliche Beweise eingesetzt werden können, um one-way Funktionen
mit vermeintlich großer Komplexität zu knacken:
ε
Da die Existenz von one-way Funktionen der Komplexität 2n (für eine möglicherweise sehr kleine Konstante ε > 0) plausibel erscheint, wird es in diesem
Fall keine natürlichen Beweise gegen SIZE(nc ) für große Konstanten c geben.
Und was sind die Konsequenzen?
Kapitel 7
Kommunikationskomplexität
Das Textbuch „Communication Complexity“, von Eyal Kushilevitz und Noam Nisan (Cambridge University Press 1997) ist die Standard-Referenz für Themen der Kommunikationskomplexität.
7.1
Deterministische Kommunikation
Wir möchten den Effekt von
Kommunikation als Flaschenhals in Berechnungen
modellieren. Seien X und Y endliche Mengen und sei (x, y) (mit x ∈ X und y ∈ Y ) eine
Eingabe. Wenn Berechnungen parallel ablaufen, dann sind möglicherweise die Teileingaben
x und y bereits unabhängig voneinander untersucht worden. Um die Berechnung auf der
Gesamteingabe (x, y) abzuschliessen, müssen die jeweiligen Ergebnisse für die Teileingaben x und y „kommuniziert“ werden. Wir stellen uns die Frage nach dem Aufwand der
notwendigen Kommunikation und möchten ein Berechnungsmodell für die Untersuchung
dieser Frage entwerfen.
Die Funktion f : X × Y → Z ist von zwei Spielern, Alice und Bob zu berechnen. Alice
erhält die Eingabe x ∈ X, Bob die Eingabe y ∈ Y . Beide Spieler haben unbeschränkte
Rechenkraft, aber kein Spieler kennt die Eingabe des Anderen.
Der Funktionswert f (x, y) = z soll durch den Austausch binärer Nachrichten berechnet
werden, wobei ein Spieler den Funktionswert z am Ende der Berechnung kennen muss. Die
Spieler versuchen, die Gesamtanzahl ausgetauschter Bits im Worst-Case kleinstmöglich zu
halten: Kommunikation ist teuer.
Wie sehen Berechnungen im Detail aus? Protokolle steuern den Ablauf der Kommunikation.
Definition 7.1 Ein Protokoll P wird durch einen beschrifteten binären Baum, den Protokollbaum spezifiziert.
- Jeder innere Knoten v ist mit dem verantwortlichen Spieler, also entweder mit Alice
oder Bob beschriftet.
143
144
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
- Ist ein innerer Knoten v mit Alice (bzw. Bob) beschriftet, dann wird zusätzlich eine
Funktion Av : X → {0, 1} (bzw. eine Funktion Bv : Y → {0, 1}) angegeben. Die
Kommunikation eines Spielers hängt somit von der jeweiligen Eingabe und den bisher
ausgetauschten Bits ab.
Wenn die Wurzel mit Alice (bzw. Bob) beschriftet ist, beginnt Alice (bzw. Bob) die Berechnung. Hat die Berechnung den Knoten v erreicht und ist v mit Alice (bzw. Bob) beschriftet,
dann wird die Berechnung genau dann im linken Kind von v fortgesetzt, wenn Av (x) = 0
(bzw. Bv (y) = 0).
Hat die Berechnung für Eingabe x ∈ X und y ∈ Y ein Blatt b erreicht, dann ist z die
Ausgabe von P für Eingabe (x, y) falls b mit z beschriftet ist.
Wir wählen X = {0, 1}n und Y = {1, . . . , n} und möchten die Funktion
bitn (x, i) = xi
berechnen. Wenn Bob die Kommunikation beginnt, dann gelingt eine Berechnung von
bitn mit dlog2 ne Bits, wenn Bob seine Eingabe vollständig kommuniziert. Warum? Wenn
n = 2k , dann besteht das Protokoll aus einem vollständigen binären Baum der Tiefe k.
Sämtliche inneren Knoten sind mit Bob beschriftet, während Blätter mit Alice beschriftet
sind. Die Funktion Bv : Y → {0, 1} für Knoten der Tiefe t < k wird durch
Bv (i) = das t + 1ste Bit von i
definiert. Alice ist für das Ausgabebit verantwortlich: Wird Blatt b erreicht, dann kennt
Alice den Wert i und gibt xi aus.
Unser Ziel ist der Entwurf von Protokollen, die eine Funktion f durch den Austausch von
Nachrichten möglichst geringer Länge berechnen.
Definition 7.2 Die Funktion f : X × Y → Z sei gegeben.
(a) Wenn P für jede Eingabe x ∈ X, y ∈ Y die Ausgabe f (x, y) berechnet, dann sagen wir,
dass P ein Protokoll für f ist. Weiterhin sagen wir, dass P genau s Bits austauscht,
wenn der Protokollbaum die Tiefe s besitzt.
(b) Wir definieren
D(f ) = min{s | es gibt ein Protokoll für f , das s Bits austauscht}
als die deterministische Kommunikationskomplexität von f .
(c) Wenn nur Alice Nachrichten verschicken darf, dann sprechen wir von einem einseitigen A → B Protokoll und definieren
DA→B (f ) = min{s | es gibt ein einseitiges A → B Protokoll für f ,
das s Bits austauscht}.
DB→A wird analog definiert.
7.1. DETERMINISTISCHE KOMMUNIKATION
145
Aufgabe 59
Wir betrachten das Zusammenhangsproblem für ungerichtete Graphen G mit n Knoten.
Wir nehmen an, dass G durch seine Adjazenzmatrix spezifiziert wird, wobei eine Hälfte
aller Eingaben an Alice und die andere Hälfte an Bob vergeben wird. Zeige, dass für jede
Eingabezerlegung O(n·log2 n) Bits für die Lösung des Zusammenhangsproblems ausreichen.
Aufgabe 60
Wir setzen X = Y = {0, 1}n und Z = {1, . . . , n}. Alice und Bob interpretieren ihre
Eingaben x und y als Inzidenzvektoren von Teilmengen set(x), set(y) ⊆ {1, . . . , n}. Wir
fassen die Vereinigung set(x) ∪ set(y) als eine Multimenge auf, d.h. eine in beiden Mengen
enthaltene Zahl wird zweimal gezählt. Unser Ziel ist die Berechnung von
Mediann (x, y) = der Median der Multimenge set(x) ∪ set(y)
Zeige: D(Mediann ) = O(log2 n). Kann sogar D(Mediann ) = O(log n) erreicht werden?
Für die Funktion bitn haben wir D(bitn ) ≤ dlog2 ne wie auch DB→A (bitn ) ≤ dlog2 ne nachgewiesen. Ein einseitiges A → B Protokoll scheint sehr viel aufwändiger zu sein, da Alice
die gewünschte Bitposition nicht kennt. Wenn sie ihre vollständige Eingabe kommuniziert,
erhalten wir DA→B (bitn ) ≤ n.
Ein wichtiges Konzept in der Analyse von Protokollen für f ist die Kommunikationsmatrix
von f .
Definition 7.3 Die Funktion f : X × Y → Z sei gegeben. Die Kommunikationsmatrix
Mf von f besitzt genau eine Zeile für jede Eingabe x ∈ X und genau eine Spalte für jede
Eingabe y ∈ Y . Wir setzen
Mf [x, y] = f (x, y).
Wie sieht die Kommunikationsmatrix M von bitn aus? Wir haben 2n Zeilen und n Spalten.
Wenn wir Spalten lexikographisch aufsteigend (gemäß ihrer jeweiligen Eingabe) anordnen,
stimmt die Zeile von Eingabe x mit x überein.
Wir benutzen die Kommunikationsmatrix, um die Komplexität einseitiger Protokolle exakt
zu bestimmen.
Satz 7.1 Die Funktion f : X × Y → Z sei gegeben. Wenn α die Anzahl der verschiedenen
Zeilen der Kommunikationsmatrix von f ist, dann folgt
DA→B (f ) = dlog2 αe.
Beweis: Es genügt, wenn Alice mitteilt, zu welcher der α verschiedenen Zeilen ihre Eingabe
gehört und deshalb ist DA→B (f ) ≤ dlog2 αe.
Betrachten wir andererseits ein einseitiges A → B Protokoll, das weniger als dlog2 αe Bits
austauscht. Es wird zwei Eingaben x1 , x2 ∈ X mit verschiedenen Zeilen, aber gleichen
146
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
Nachrichten geben. Also gibt es y ∈ Y mit f (x1 , y) 6= f (x2 , y). Aber Bob erhält sowohl
für x1 wie auch für x2 dieselbe Nachricht und kann die Ausgabe deshalb nicht fehlerfrei
bestimmen.
Wir können jetzt zeigen, dass einseitige A → B Protokolle für bitn tatsächlich ineffizient
sein müssen. Wir haben bereits gesehen, dass die Zeile der Kommunikationsmatrix zu
Eingabe x mit x übereinstimmt, wenn wir die Spalten geeignet anordnen. Also besitzt
die Kommunikationsmatrix genau 2n verschiedene Zeilen und DA→B (bitn ) = n folgt. Da
andererseits auch alle Spalten verschieden sind, folgt DB→A (bitn ) = dlog2 ne und das in
Beispiel ?? angegebene Protokoll ist optimal. Also kann es einen exponentiellen Unterschied
zwischen einseitigen und mehrseitigen Protokollen geben; ein größerer Unterschied ist aber
nicht möglich:
Aufgabe 61
Die Funktion f : X × Y → Z sei gegeben. Zeige:
D(f ) ≤ DA→B (f ) ≤ 2D(f ) .
Die Kommunikationsmatrix ist auch eine große Hilfe, wenn wir „mehrseitige“ Protokolle
analysieren möchten. Sei P ein deterministisches Protokoll, das die Funktion f (x, y) mit
x ∈ X und y ∈ Y berechnet. Der Einfachheit halber nehmen wir jetzt und in der Zukunft
an, dass Z = {0, 1}: Die Kommunikationsmatrix ist eine 0-1 Matrix, also eine Matrix mit
0- und 1-Einträgen.
Wir nehmen des weiteren an, dass Alice die Berechnung beginnt. Wir fixieren eine Nachricht
N1 ∈ {0, 1}∗ Alice und beachten, dass diese Nachricht für eine Teilmenge X1 ⊆ X ihrer
Eingaben gesendet wird. Bob wird die Nachricht N1 , abhängig von seiner Eingabe mit verschiedenen Nachrichten beantworten, und wir fixieren eine mögliche Antwort M1 ∈ {0, 1}∗ ,
die für eine Teilmenge Y1 ⊆ Y gesendet wird. Zu diesem Zeitpunkt ist die Nachrichtenfolge
(N1 , M1 ) ausgetauscht worden, und wir beobachten, dass diese Nachrichtenfolge genau für
die Eingaben (x, y) ∈ X1 × Y1 auftritt.
Falls Alice die Nachricht M1 erhält, wird sie, abhängig von ihrer Eingabe und der Nachricht M1 die Kommunikation fortsetzen. Wir fixieren eine mögliche Antwort N2 . Es wird
wiederum eine Teilmenge X2 ⊆ X1 der Eingaben von Alice geben, für die Alice mit N2
antwortet. Wir beobachten, dass die Nachrichtenfolge (N1 , M1 , N2 ) genau für die Eingaben
(x, y) ∈ X2 × Y1 auftritt.
Sendet Bob die letzte Nachricht Mj einer Berechnung erreichen, gibt es Mengen Xj ⊂ X
und Yj ⊆ Y , so daß die vollständige Nachrichtenfolge N = (N1 , M1 , . . . , Nj , Mj ) genau für
die Eingaben (x, y) ∈ Xj × Yj auftritt. Der Fall, dass Alice die letzte Nachricht schickt,
verläuft natürlich analog.
Definition 7.4 Es gelte X ∗ ⊆ X und Y ∗ ⊆ Y .
- Mf (X ∗ , Y ∗ ) ist eine Teilmatrix von Mf und besteht aus allen Zeilen zu Eingaben in
X ∗ und aus allen Spalten zu Eingaben in Y ∗ .
7.1. DETERMINISTISCHE KOMMUNIKATION
147
- Sei b ∈ {0, 1}. Wir sagen, dass eine Teilmatrix b-chromatisch ist, wenn alle Einträge der Teilmatrix den Wert b besitzen. Eine b-chromatische Teilmatrix heißt auch
monochromatisch.
Nachrichten entsprechen also Teilmatrizen und verschiedene Nachrichten entsprechen disjunkten Teilmatrizen. Das Protokoll P zerlegt also die Kommunikationsmatrix Mf in disjunkte Teilmatrizen.
Aber wir wissen noch mehr. Nach Annahme wird die Boolesche Funktion f : X × Y →
{0, 1} erfolgreich durch das Protokoll P berechnet. Wenn Alice (bzw. Bob) die Ausgabe
bestimmen muss, dann besitzt jede Teilmatrix der Zerlegung nur monochromatische Zeilen
(Spalten).
Satz 7.2 Sei P ein deterministisches Protokoll für eine Boolesche Funktion f : A × B →
{0, 1}. Wir nehmen an, dass P höchstens k Bits austauscht und dass Alice (bzw. Bob) die
Ausgabe bestimmt.
(a) Eine vollständige Nachrichtenfolge von P definiert eine Teilmatrix von Mf mit monochromatischen Zeilen (bzw. Spalten).
(b) Das Protokoll P definiert eine Zerlegung von Mf in höchstens 2k Teilmatrizen mit
monochromatischen Zeilen (bzw. Spalten).
Beweis: Wir haben Eigenschaft (a) schon nachgewiesen. Für Teil (b) ist nur zu beachten,
dass höchstens k Bits verschickt werden. Also werden maximal 2k verschiedene Nachrichten
verschickt und damit zerlegt das Protokoll die Kommunikationsmatrix in höchstens 2k
Teilmatrizen mit monochromatischen Zeilen (bzw. Spalten).
Wir erhalten aus Satz 7.2 eine Reihe wichtiger Konsequenzen. Zuerst ist klar, dass die
Kommunikationskomplexität der Funktion f groß ist, wenn die Matrix Mf keine Zerlegung
in wenige monochromatische Teilmatrizen besitzt. Wir formalisieren diese Beobachtung.
Definition 7.5 Wir definieren die Zerlegungszahl einer Funktion f : X × Y → {0, 1}
durch
Zerlegung(Mf ) = min{k ∈ N |
Es gibt eine disjunkte Zerlegung von Mf
}.
in k monochromatische Teilmatrizen
Für ein Bit b ∈ {0, 1} setzen wir
Zerlegungb (Mf ) = min{k ∈ N |
Es gibt eine disjunkte Zerlegung der Einträge von Mf
}.
mit Wert b in k b-chromatische Teilmatrizen
Korollar 7.1 Die Zerlegungsmethode.
Die Funktion f : X × Y → {0, 1} sei gegeben. Dann gilt
(a) D(f ) ≥ dlog2 (Zerlegung(Mf ))e − 1 und
148
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
(b) D(f ) ≥ max {dlog2 (Zerlegung0 (Mf ))e, dlog2 (Zerlegung1 (Mf ))e}.
Beweis (a): Das optimale Protokoll P für f tauscht Nachrichten der Länge höchstens
D(f ) aus. Wenn der für die Ausgabe verantwortliche Spieler die Ausgabe zusätzlich an den
Partner verschickt, erhalten wir also eine Zerlegung von Mf in höchstens 2D(f )+1 monochromatische Teilmatrizen. Also folgt D(f ) + 1 ≥ dlog2 (Zerlegung(Mf ))e.
Für Teil (b) ist nur zu beachten, dass das Ausgabebit diesmal nicht kommuniziert werden
muss.
Aufgabe 62
Wir betrachten strikt alternierende Protokolle: Die Spieler wechseln sich beim Senden der
Nachrichten ab, wobei jede Nachricht nur aus einem Bit bestehen darf. Für die Bestimmung
der Ausgabe von f : X × Y → {0, 1} ist Bob verantwortlich.
(a) Wieviele strikt alternierende Protokolle gibt es, wenn genau 2k − 1 Bits ausgetauscht
werden?
(b) Wieviele Funktionen f : X × Y → {0, 1} gibt es?
(c) Was ist die Kommunikationskomplexität fast aller Funktionen bei Verwendung strikt
alternierender Protokolle?
D∗ (f ) sei die minimale Nachrichtenlänge eines strikt alternierenden Protokolls, das f berechnet. Zeige:
(d) D∗ (f ) ≤ 2 · D(f ) für alle Funktionen f .
(e) D∗ (f ) = 2 · D(f ) − O(1) für die meisten Funktionen f .
Aus dieser Aufgabe folgt, daß das Modell strikt alternierender Protokolle im allgemeinen
weniger effizient als das in der Vorlesung betrachtete Modell ist: Erzwungener Dialog kann
damit schaden. Für die meisten Funktionen ist ein schlichtes Übertragen der Information
in einem Monolog optimal.
7.1.1
Die Methode der größten monochromatischen Teilmatrix
Eine exakte Bestimmung der Zerlegungszahl ist ein sehr schwieriges Problem, aber in vielen
Fällen genügt die folgende approximative Bestimmung.
Definition 7.6 Die Funktion f : X × Y → {0, 1} und das Bit b ∈ {0, 1} seien gegeben.
- Für eine Menge F ⊆ f −1 (b) von Eingaben mit Wert b definieren wir
Maxb,F (Mf ) =
die maximale Anzahl von Einträgen aus F , die von einer
b-chromatischen Teilmatrix von Mf überdeckt werden.
149
7.1. DETERMINISTISCHE KOMMUNIKATION
- Maxb (Mf ) = maxF ⊆f −1 (b) dlog2
|F |
e.
Maxb,F (Mf )
Korollar 7.2 Die Methode der größten monochromatischen Teilmatrix.
Die Funktion f : X × Y → {0, 1} und das Bit b ∈ {0, 1} seien gegeben. Dann gilt
Df ) ≥ max{Max0 (Mf ), Max1 (Mf )}.
Beweis: Es gelte Maxb (Mf ) = dlog2 Max|F | (M ) e. Jede Zerlegung von Mf muss alle Einb,F
f
träge in F überdecken. Da höchstens Maxb,F (Mf ) Einträge aus F von einer Nachricht
überdeckt werden können, sind mindestens Max|F | (M ) Nachrichten erforderlich und die
b,F
f
Behauptung folgt.
Im Gleichheitsproblem EQn ist festzustellen, ob die beiden binären Worte x, y ∈ {0, 1}n
identisch (EQn (x, y) = 1) oder verschieden (EQn (x, y) = 0) sind. Beachte, dass die Kommunikationsmatrix von EQn die Einheitsmatrix ist.
Leider haben wir sehr große 0-chromatische Teilmatrizen der Größe 2n−1 ×2n−1 und Korollar
2n −2n
7.2 gibt nur die untere Schranke D(EQn ) ≥ dlog2 222n−2
e = 2, wenn wir F = {(x, y) | x 6=
y} setzen.
Aber wir sind erfolgreich, wenn wir 1-chromatische Teilmatrizen betrachten: Eine 1-chromatische Teilmatrix kann nur aus einem einzigen Eintrag bestehen und wir erhalten für
F = {(x, x) | x ∈ {0, 1}n }
D(EQn ) ≥ Max1 (MEQn ) ≥ dlog2
2n
e = n.
1
mit Korollar 7.2. Aber n Bits sind auch ausreichend und D(EQn ) = n ist die exakte
Kommunikationskomplexität des Gleichheitsproblems.
Aufgabe 63
Zeige Max0 (MEQn ) ≤ 2.
Im Vergleichsproblem COMPn ist festzustellen, ob das Wort x ∈ {0, 1}n lexikographisch
kleiner oder gleich dem Wort y ∈ {0, 1}n ist (COMPn (x, y) = 1) oder nicht (COMPn (x, y) =
0). Beachte, dass die Kommunikationsmatrix eine obere Dreiecksmatrix ist.
Das Vergleichsproblem „sollte“ schwierig sein, aber wir finden sowohl riesige 0-chromatische
wie auch riesige 1-chromatische Teilmatrizen, die fast ein Viertel der Kommunikationsmatrix überdecken, wenn wir F = f −1 (0), bzw. F = f −1 (1) setzen.
Eine weitaus bessere Wahl ist F = {(x, x) | x ∈ {0, 1}n }. Wir erhalten wie im Gleichheitsproblem
2n
D(COMPn ) ≥ Max1 (MCOMPn ) ≥ dlog2 e = n.
1
Auch diesmal haben wir die exakte Kommunikationskomplexität bestimmt, denn n Bits
sind auch ausreichend und D(COMPn ) = n folgt.
150
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
Wir definieren das innere Produkt
hx, yi2,n :=
n
X
xi · yi mod 2
i=1
für x, y ∈ {0, 1}n . Wir wählen F = f −1 (0) und möchten die Größe einer größten 0-chromatischen Teilmatrix M der Kommunikationsmatrix bestimmen. z1 , . . . , zr seien die den Zeilen
von M entsprechenden Eingaben und s1 , . . . , st die den Spalten von M entsprechenden
Eingaben. M ist relativ klein, denn:
Behauptung 7.1 Es ist r · t ≤ 2n .
Beweis: Da M 0-chromatisch ist, gilt für alle i, j mit 1 ≤ i ≤ r und 1 ≤ j ≤ t:
hzi , sj i2,n = 0.
Wir betrachten den von z1 , . . . , zr aufgespannten Vektorraum VZ und den von s1 , . . . , st
aufgespannten Vektorraum VS . Wenn z ∈ VZ und s ∈ VS beliebige Vektoren sind, dann gilt
r
X
hz, si2,n = h
αi · zi ,
βj · sj i2,n =
t
r X
X
i=1 j=1
r
X
αi · hzi ,
i=1
i=1
i=1
=
t
X
t
X
βj · sj i2,n
j=1
αi βj · hzi , sj i2,n = 0.
|
{z
=0
}
Also stehen die Räume VS und VZ senkrecht aufeinander und es ist
dim(VZ ) + dim(VS ) ≤ n.
Der Vektorraum VZ hat 2dim(VZ ) viele Elemente und VS hat 2dim(VS ) viele Elemente. Wir
erhalten
|VZ | · |VS | = 2dim(VZ )+dim(VS ) ≤ 2n
und das war zu zeigen.
Wir überlegen uns, wieviele Nullen zu überdecken sind:
Behauptung 7.2 Die Zeile zur Eingabe (0, . . . , 0) hat 2n Nullen, jede weitere Zeile hat
2n−1 Nullen.
Beweis: Wir betrachten die Zeile für Eingabe x 6= 0. Die Menge {y | hx, yi2,n = 0} ist
ein Vektorraum der Dimension n − 1, und deshalb hat die Zeile von x genau 2n−1 Nullen.
Schließlich ist noch zu beachten, dass die Nullzeile nur aus Nullen besteht.
.
Insgesamt hat die Kommunikationsmatrix also genau
(2n − 1)2n−1 + 2n = 22n−1 + 2n−1
7.1. DETERMINISTISCHE KOMMUNIKATION
151
viele Nullen. Wir wenden Korollar 7.2 an und erhalten
D(h, i2,n ) ≥ Max0 (Mh,i2,n ) ≥ dlog2 (
22n−1 2n−1
1
+ n )e = dlog2 (2n−1 + )e = n.
n
2
2
2
Also ist D(h, i2,n ) ≥ n. Da aber auch n Bits ausreichen, folgt D(h, i2,n ) = n.
Aufgabe 64
Wir behandeln die Frage, ob „echte“ Kommunikation im Vergleich zur einseitigen Kommunikation für bestimmte Probleme zu einer Ersparnis führt. Wir wissen bereits, dass die
Antwort bei nichtdeterministischer Kommunikation negativ ist. Hier werden wir sehen,
dass die Antwort bei deterministischer Kommunikation positiv ist.
Wir beschreiben das Wegproblem WEGn . Gegeben sind Graphen mit 2n + 2 Knoten. Die
Knoten sind in vier Schichten angeordnet: Schicht 1 besteht aus dem Knoten 0, Schicht
2 besteht aus den Knoten 1, . . . , n, Schicht 3 aus den Knoten n + 1, . . . , 2n und Schicht 4
aus dem Knoten 2n + 1. Die Graphen werden durch die obere Hälfte ihrer Adjazenzmatrix
repräsentiert.
Der Graph G gehört genau dann zu WEGn , wenn
- alle tatsächlichen Kanten (Kanten, die den Wert 1 haben) nur von Schicht i zu Schicht
i + 1, 1 ≤ i ≤ 3, verlaufen,
- es genau eine tatsächliche Kante von Schicht 1 nach Schicht 2 gibt,
- alle tatsächlichen Kanten zwischen Schicht 2 und Schicht 3 knotendisjunkt sind und
- ein Weg von Knoten 0 zu Knoten 2n + 1 (tatsächlich) existiert.
Alice erhält alle (möglichen) Kanten zwischen Schicht 1 und Schicht 2 sowie alle (möglichen
Kanten) zwischen Schicht 3 und Schicht 4. Bob erhält alle (möglichen) Kanten zwischen
Schicht 2 und Schicht 3. Die restlichen (möglichen) Kanten sind beliebig verteilt.
Zeige: D(WEGn ) = O(log2 n) und DB→A (WEGn ) = DA→B (WEGn ) = Ω(n).
7.1.2
Fooling-Sets
Definition 7.7 Die Funktion f : X × Y → {0, 1} sei gegeben. Eine Menge
F = {(x1 , y1 ), (x2 , y2 ), . . . , (xk , yk )} ⊆ X × Y
von Eingaben mit f (x1 , y1 ) = · · · = f (xk , yk ) = b heißt genau dann ein Fooling-Set für f ,
wenn für alle 1 ≤ i 6= j ≤ k gilt
- xi 6= xj und yi 6= yj ,
- f (xi , yj ) 6= b oder f (xj , yi ) 6= b.
152
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
Ein Fooling-Set F besteht also nur aus Einträgen der Kommunikationsmatrix, die denselben Wert besitzen. Zusätzlich wird gefordert, dass keine zwei Elemente aus F in der
gleichen Zeile oder Spalte „sitzen“, und dass die von den je zwei Einträgen aus F aufgespannte 2 × 2 Teilmatrix von Mf nicht monochromatisch ist.
yi
yj
xi
f
v
f
xj
f
f
v
Die von (xi , yi ) und (xj , yj ) aufgespannte 2 × 2 Teilmatrix.
Große Fooling-Sets bedingen eine große Kommunikationskomplexität.
Korollar 7.3 Die Funktion f : X × Y → {0, 1} sei gegeben. Wenn F ein Fooling-Set ist,
dann gilt
D(f ) ≥ dlog2 |F |e.
Beweis: Wenn F ⊆ f −1 (b) ein Fooling-Set ist, dann folgt Maxb,F (Mf ) = 1 und wir erhalten
M axb (Mf ) ≥ dlog2
|F |
|F |
e = dlog2
e = dlog2 |F |e.
Maxb,F (Mf )
1
Die Fooling-Set Methode ist somit ein Spezialfall der Methode der größten Teilmatrix. Beispiel 7.1 Wir betrachten wieder das Gleichheitsproblem EQn und das Vergleichsproblem COMPn . Wir erhalten einen sehr einfachen Beweis, dass jeweils n Bits zu senden
sind, wenn wir beachten, dass in beiden Fällen die Menge
F = {(x, x) | x ∈ {0, 1}n }
ein Fooling-Set ist.
Im Disjunktheitsproblem DISJn sind die Inzidenzvektoren x, y ∈ {0, 1}n von zwei Teilmengen set(x) und set(y) des Universums {1, . . . , n} vorgegeben. Es ist
(
DISJn (x, y) =
1 set(x) ∩ set(y) 6= ∅,
0 sonst.
Aufgabe 65
Zeige: DISJn besitzt ein Fooling-Set der Größe 2n . Also gilt D(DISJn ) = n.
153
7.1. DETERMINISTISCHE KOMMUNIKATION
Aufgabe 66
Wir betrachten die Funktion
(
f (x1 , . . . , x2n ) =
1 die Eingabe x enthält genau k Einsen,
0 sonst
für 0 ≤ k < n. Wir nehmen an, dass Alice die ersten n Bits und Bob die restlichen n Bits
der Eingabe erhält. Zeige: D(f ) = dlog2 (k + 2)e.
7.1.3
Die Rangmethode
Neben der Methode der größten monochromatischen Teilmatrix ist auch die Rangmethode
sehr erfolgreich. Wenn K ein Körper ist, dann bezeichne RangK (M ) den Rang der Matrix
M über dem Körper K.
Korollar 7.4 Die Rang-Methode.
Die Funktion f : X × Y → {0, 1} sei gegeben.
(a) Dann gilt für jeden Körper K
D(f ) ≥ dlog2 RangK (Mf )e.
(b) Es gilt DA→B (f ) ≤ RangZ2 (Mf ).
Beweis (a): Sei P ein deterministisches Kommunikationsprotokoll, das höchstens k Bits
austauscht. Wir wissen nach Satz 7.2, dass P die Kommunikationsmatrix Mf in höchstens
x ≤ 2k monochromatische Teilmatrizen M1 , . . . , Mx zerlegt. Jede solche Teilmatrix hat nur
monochromatische Zeilen oder nur monochromatische Spalten und deshalb ist ihr Rang
höchstens 1.
Also können wir die Kommunikationsmatrix Mf als Summe der Teilmatrizen Mi darstellen
P
und erhalten Mf = xi=1 Mi . Die entscheidende Beobachtung ist, dass der Rang einer
Summe von Matrizen durch die Summe der Ränge beschränkt ist und wir erhalten
x
X
RangK (Mf ) = RangK (
i=1
Mi ) ≤
x
X
RangK (Mi ) ≤ x ≤ 2k .
i=1
Die Behauptung folgt, wenn wir P als ein optimales Protokoll wählen, denn dann ist
dlog2 RangK (Mf )e ≤ dlog2 2k e = k = D(f ).
(b) Es gelte RangZ2 (Mf ) = r. Dann gibt es linear unabhängige Zeilen z1 , . . . , zr in Mf , die
alle anderen Zeilen durch Linearkombinationen erzeugen. Vor der Berechnung einigen sich
Alice und Bob auf die Wahl von z1 , . . . , zr . Alice bestimmt für ihre Eingabe x zuerst die
P
Linearkombination (α1 , . . . , αr ) ∈ {0, 1}r mit αi zi = z, wobei z die Zeile für Eingabe x
ist. Dann sendet Alice die Nachricht α1 α2 · · · αr an Bob. Bob kann jetzt z rekonstruieren
und damit die Ausgabe berechnen. Somit genügen RangZ2 (Mf ) Bits für ein sogar einseitiges
Protokoll.
154
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
Beispiel 7.2 Wir betrachten das Gleichheitsproblem nochmals. Da die Einheitsmatrix mit
der Kommunikationsmatrix übereinstimmt, ist ihr Rang über jedem Körper maximal und
stimmt mit 2n überein.
Wir werfen auch einen zweiten Blick auf das Vergleichsproblem und beachten, dass die obere Dreiecksmatrix als Kommunikationsmatrix nur aus linear unabhängigen Zeilen besteht.
Also ist D(COMPn ) ≥ log2 2n = n.
Welchen Körper sollte man verwenden? Die beiden nächsten Aufgaben zeigen, dass Z2 die
schwächsten Ergebnisse liefert: Der Rang über Z2 kann sogar exponentiell kleiner als der
Rang über Q sein.
Aufgabe 67
Zeige: RangZ2 (M ) ≤ RangQ (M ) für jede 0-1 Matrix M .
Aufgabe 68
Sei M die Kommunikationsmatrix des inneren Produkts h, i2,n . Dann gilt RangZ2 (M ) = n
und RangQ (M ) = 2n − 1.
Wie weit ist der Rang über Q, nach Logarithmierung, von der deterministischen Kommunikationskomplexität entfernt? Diese Frage ist bis heute unbeantwortet. Eine bis auf
ein Polynom exakte Beziehung ist nicht ausgeschlossen. Gibt es eine Konstante k mit
D(f ) ≤ (log2 Rang(Mf ))k ?
7.2
Nichtdeterministische Kommunikation
Wir untersuchen die nichtdeterministische Kommunikation. Neben einer Einsicht in die
Berechnungsstärke nichtdeterministischer Protokolle werden wir auch Konsequenzen für
die deterministische Kommunikation erhalten.
Wenn wir eine Funktion f : X × Y → {0, 1} nichtdeterministisch berechnen möchten,
dann fordern wir, dass es für jede Eingabe (x, y) mit f (x, y) = 1 eine „akzeptierende“
Berechnung, also eine Berechnung mit Ausgabe 1 gibt. Für Eingaben (x, y) mit f (x, y) = 0
hingegen müssen alle Berechnungen mit der Ausgabe 0 enden. Wenn wir ein nichtdeterministisches Protokoll P mit diesen Eigenschaften besitzen, dann sagen wir, dass P ein
Protokoll für f ist.
Schließlich müssen wir den Aufwand des Protokolls messen. Wir sagen, dass ein Protokoll
höchstens s Bits austauscht, wenn jede Berechnung auf jeder Eingabe höchstens s Bits
kommuniziert.
Definition 7.8 Die Funktion f : X × Y → {0, 1} sei gegeben. Dann definieren wir
N (f ) = min{s | es gibt ein nichtdeterministisches Protokoll für f ,
das höchstens s Bits austauscht.}
7.2. NICHTDETERMINISTISCHE KOMMUNIKATION
155
Wir definieren N A→B (f ) und N B→A (f ) wie im Fall der deterministischen Kommunikation
für einseitige Protokolle.
Gibt es stets optimale, einseitige nichtdeterministische Protokolle? Überraschenderweise
ist die Antwort positiv!
Satz 7.3 Die Funktion f : X × Y → {0, 1} sei gegeben. Dann gilt
N (f ) = N A→B (f ).
Beweis: Sei P ein vorgegebenes, nichtdeterministisches Protokoll. Wir simulieren P durch
ein einseitiges nichtdeterministisches Protokoll, das genau dieselbe Anzahl von Bits austauscht. Dabei liegt folgende Idee zugrunde: Alice rät einen mit ihrer Eingabe konsistenten
Dialog und kommuniziert den geratenen Dialog in einer einzigen Nachricht N . Bob bricht
N in die Einzelnachrichten der jeweiligen Spieler auf. Dann überprüft Bob die Korrektheit
des Dialogs von seiner Perspektive aus. Geht die Überprüfung positiv aus, akzeptiert oder
verwirft Bob wie von Protokoll P vorgeschrieben.
Offensichtlich wird in dem einseitigen Protokoll die gleiche Anzahl von Bits wie im vorgegebenen Protokoll P ausgetauscht.
Kann Nichtdeterminismus im Vergleich zum Determinismus die Anzahl der ausgetauschten
Bits reduzieren? Die Antwort ist ja, wie das folgende Beispiel zeigt.
Beispiel 7.3 Wir betrachten das Komplement EQn des Gleichheitsproblems:
(
EQn (x1 , . . . , xn , y1 , . . . , yn ) =
1 xi 6= yi für mindestens eine Position i,
0 sonst.
Da F = {(x, x) | x ∈ {0, 1}n } ein Fooling-Set der Größe 2n für EQn ist, erhalten wir
D(EQn ) = n für die deterministische Kommunikationskomplexität. Wie groß ist die nichtdeterministische Kommunikationskomplexität von EQn ?
Wir geben ein nichtdeterministisches Protokoll an, daß genau dlog2 ne + 1 Bits austauscht:
Alice rät eine Bitposition i ∈ {1, . . . , n} und kommuniziert die Binärdarstellung von i − 1
sowie das Bit xi . Bob akzeptiert genau dann, wenn sein i-tes Bit yi von xi verschieden ist.
Satz 7.4 Die Funktion f : X × Y → {0, 1} sei gegeben. Dann gilt
N (f ) ≤ D(f ) ≤ DA→B (f ) ≤ 2N (f )
und eine exponentiell große Lücke zwischen N (f ) und D(f ) ist möglich.
Beweis: Übung.
Im Fall deterministischer Kommunikation haben wir keine exakte Methode zur Bestimmung der Kommunikationskomplexität gefunden. Bei nichtdeterministischer Kommunikation ist die Situation einfacher.
156
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
Definition 7.9 Sei M = M [x, y]x∈X,y∈Y eine 0-1-Matrix. Die Matrizen M1 , . . . , Ms seien
Teilmatrizen von M .
(a) Wir sagen, dass M1 , . . . , Ms eine Überdeckung von M bildet, falls
- alle Teilmatrizen 1-chromatisch sind und
- jeder Eintrag M [x, y] in mindestens einer der Teilmatrizen vorkommt.
Wir definieren die Größe der Überdeckung durch s.
(b) Mit Überdeckung(M ) bezeichnen wir die minimale Größe einer Überdeckung von M :
Überdeckung(M ) = min{s | Es gibt eine Überdeckung der Größe s von M }.
Die Überdeckungszahl Überdeckung(M ) erlaubt eine exakte Bestimmung der nichtdeterministischen Kommunikation.
Satz 7.5 Die Funktion f : X × Y → {0, 1} sei gegeben. Dann gilt
N (f ) = dlog2 Überdeckung(Mf )e.
Beweis: Wir beweisen zuerst die Ungleichung „≤“: Sei M1 , . . . , Ms eine beliebige Überdeckung der Kommunikationsmatrix Mf . Wir müssen ein einseitiges nichtdeterministisches
Protokoll konstruieren, das höchstens dlog2 se Bits kommuniziert.
Sei x = (x, y) eine beliebige Eingabe von f . Alice rät ein Element aus der Menge
{i | die Zeile von x gehört zu den Zeilen der Teilmatrix Mi }
und kommuniziert die Binärdarstellung von i − 1. Bob akzeptiert, wenn die Spalte von y
zu den Spalten der Teilmatrix Mi gehört und verwirft ansonsten.
y1
x
y2
1
1
1
B verwirft, falls y = y1
B akzeptiert, falls y = y2
1
1
gesendete Matrix
Mf
Dieses Protokoll ist korrekt, denn
Bob akzeptiert
⇐⇒
Es gibt ein i ∈ {1, . . . , s}, so daß Mi die Zeile von
x und die Spalte von y enthält.
⇐⇒
Es gibt ein i, so daß Mi die Position (x, y) überdeckt.
⇐⇒
Mf [x, y] = 1.
7.2. NICHTDETERMINISTISCHE KOMMUNIKATION
157
Die letzte Äquivalenz folgt, da jede Teilmatrix Mi 1-chromatisch ist.
Wir zeigen die umgekehrte Ungleichung „≥“: Sei P ein nichtdeterministisches Protokoll für
f , das höchstens s Bits kommuniziert. Offensichtlich erzeugt P höchstens 2s Nachrichten
und damit natürlich höchstens 2s akzeptierende Nachrichten.
Jede akzeptierende Nachricht entspricht einer 1-chromatische Teilmatrix und jede Eingabe
(x, y) mit f (x, y) = 1 wird von mindestens einer Nachricht akzeptiert. Eintrag (x, y) wird
damit von mindestens einer der höchstens 2s 1-chromatischen Teilmatrizen überdeckt. 7.2.1
Die Methode der größten 1-chromatischen Teilmatrix
Lemma 7.1 Die Funktion f : X × Y → {0, 1} sei gegeben. Dann gilt
N (f ) ≥ Max1 (Mf ).
Beweis: Sei F eine 1-chromatische Menge mit
Max1 (Mf ) = dlog2
|F |
e.
Max1,F (Mf )
Jedes nichtdeterministische Protokoll muss alle Einsen der Kommunikationsmatrix und damit insbesondere auch alle Einträge in F mit akzeptierenden Nachrichten und damit mit 1chromatischen Teilmatrizen überdecken. Da eine akzeptierende Nachricht nur Max1,F (Mf )
Einträge aus F überdecken kann, sind Max|F | (M ) verschiedene Nachrichten notwendig und
1,F
f
die Behauptung folgt.
Aufgabe 69
Warum ist die Aussage N (f ) ≥ Max0 (Mf ) falsch?
Beispiel 7.4 Wir betrachten das Gleichheitsproblem EQn und behaupten, dass
Max1 (MEQn ) ≥ n
gilt. Wir wählen F = {(x, x) | x ∈ {0, 1}n } und erhalten Max1,F (MEQn ) = 1. Also folgt die
Behauptung aus |F | = 2n , und wir erhalten
N (EQn ) = n.
Während Nichtdeterminismus beim Raten unterschiedlicher Bits wesentlich hilft (D(EQn ) ≤
dlog2 ne + 1), versagt Nichtdeterminismus beim Verifizieren der Gleichheit.
Wir zeigen jetzt, dass die Methode der größten 1-chromatischen Teilmatrix erstaunlich gut
ist. Zuerst vergleichen wir Max1 (Mf ) und Überdeckung(Mf ). Offensichtlich ist
Überdeckung(Mf ) ≥ Max1 (Mf ),
und wir versuchen zu zeigen, dass Max1 (Mf ) nur unwesentlich kleiner als die Überdeckungszahl ist. Wie werden Überdeckungsprobleme gelöst? Das allgemeine Überdeckungsproblem
stimmt mit SET COVER überein:
158
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
- Gegeben sind das Universum U = {1, . . . , n} und Teilmengen T1 , . . . , Tr des UniverS
sums mit ri=1 Ti = U .
- Gesucht ist eine Überdeckung des Universums mit möglichst wenigen Teilmengen.
SET COVER ist NP-vollständig. Dennoch existieren effiziente Approximationsalgorithmen.
Algorithmus 7.1 Der gierige Überdeckungsalgorithmus
(1) Setze I := ∅.
(2) Solange
S
i∈I
Ti 6= U :
(2a) Wähle eine Menge Ti größter Mächtigkeit.
(2b) Setze I := I ∪ {i} und
(2c) Tj := Tj \ Ti für jedes j mit 1 ≤ j ≤ r.
Wir schätzen ab, wie gut Algorithmus 7.1 approximiert. Sei opt die minimale Anzahl von
Mengen, die zu einer Überdeckung des Universums nötig ist und sei u = |I| die Anzahl der
Mengen, die der Überdeckungsalgorithmus produziert. Um wieviel kann u größer als opt
sein?
Sei tj die Anzahl der Schritte des Algorithmus, in denen die gewählte Teilmenge genau j
Elemente besitzt (und somit j neue Elemente aus U überdeckt werden). Dann gilt
u=
n
X
tj .
j=1
Wir gruppieren die Schritte des Algorithmus in Blöcke: Der i-te Block Bi besteht aus den
Schritten, in denen genau 2i+1 − 1 „neue“ Elemente, d.h. noch nicht überdeckte Elemente,
überdeckt werden bis zu den Schritten, in denen genau 2i neue Elemente überdeckt werden.
Bi besteht somit aus
t2i+1 −1 + . . . + t2i
vielen Schritten und wir erhalten
blog2 nc
u=
X
(t2i+1 −1 + · · · + t2i ).
i=0
Sei Bi der Block, in dem die meisten Mengen gewählt werden. In Bi werden somit mindestens
u
opt
t2i+1 −1 + . . . + t2i ≥
≥
blog2 nc + 1
blog2 nc + 1
Mengen gewählt. Der Approximationsalgorithmus führt zuerst tn + . . . + t2i+1 Schritte
durch und erst danach die t2i+1 −1 + . . . + t2i Schritte von Block Bi . Sei Fool die Menge aller
Elemente des Universums, die nicht in den Schritten tn + . . . + t2i+1 , aber in den Schritten
t2i+1 −1 + . . . + t2i überdeckt werden.
Die Teilmengen, die unser Algorithmus zur Überdeckung von Fool benutzt, überdecken
mindestens 2i neue Elemente von Fool. Deshalb gilt:
7.2. NICHTDETERMINISTISCHE KOMMUNIKATION
-
|Fool|
2i
≥ t2i+1 −1 + · · · + t2i und damit
|Fool|
2i
≥
159
u
.
blog2 nc+1
- Keine Teilmenge überdeckt mindestens 2i+1 Elemente aus Fool, denn sonst hätte der
Algorithmus diese Teilmenge bereits in einem früheren Block gewählt. Also muß jede
Überdeckung von Fool mindestens |Fool|
Teilmengen besitzen. Es folgt:
2i+1
opt ≥
und wir haben
|Fool|
u
1 |Fool|
1
.
= ·
≥ ·
i+1
i
2
2
2
2 blog2 nc + 1
u
≤ opt ≤ u
2(blog2 nc + 1)
gezeigt.
Lemma 7.2 Wenn ein Universum der Größe n zu überdecken ist, dann approximiert Algorithmus 7.1 innerhalb des Faktors 2(blog2 nc + 1).
Wie gut ist die Methode der größten 1-chromatischen Teilmatrix?
Satz 7.6 Die Funktion f : X × Y → {0, 1} sei gegeben. Dann gilt
Max1 (Mf ) ≤ N (f ) ≤ Max1 (Mf ) + dlog2 2(n + 1)e
für n = log2 (|X| · |Y |).
Beweis Wir wählen das Universum U = {(x, y) ∈ X × Y | Mf [x, y] = 1} und die 1chromatischen Teilmatrizen von Mf als Teilmengen Tj . Wir wissen:
- opt = Überdeckung(Mf ) und
- |U | ≤ |X| · |Y |, denn Mf besitzt insgesamt |X| · |Y | Einträge.
- Die obigen Betrachtungen liefern eine Menge Fool von 1-Einträgen, so daß
u
opt
Überdeckung(Mf )
|Fool|
≥
≥
=
i
2
blog2 |U |c + 1
blog2 |U |c + 1
blog2 |U |c + 1
für 0 ≤ i ≤ blog2 |U |c + 1 gilt.
Da keine 1-chromatische Teilmatrix mindestens 2i+1 Elemente von Fool überdecken kann,
gilt andererseits
Max1 (Mf ) ≥ dlog2
1 |Fool|
Überdeckung(Mf )
|Fool|
e
≥
dlog
·
e
≥
dlog
e,
2
2
2i+1
2
2i
2(log2 (|X| · |Y |) + 1)
wenn wir F = Fool wählen. Daraus folgt
Max(Mf ) + dlog2 2(n + 1)e ≥ dlog2 Überdeckung(Mf )e = N (f )
für n = log2 (|X| · |Y |).
160
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
Beispiel 7.5 Wie groß ist die nichtdeterministische Kommunikationskomplexität des inneren Produkts modulo zwei?
- Die Rang-Methode ist nur für deterministische Protokolle anwendbar,
- alle 1-Fooling-Sets liefern nur O(log22 n) als untere Schranke,
und wir versuchen deshalb die Methode der größten 1-chromatischen Teilmatrix. Wir setzen F := {(x, y) | Mf [x, y] = 1}. Wir haben bereits gezeigt, daß die größte 0-chromatische
Teilmatrix die Größe höchstens 2n besitzt (Behauptung 7.1) Aber eine 1-chromatische Teilmatrix mit den Zeilen x1 , . . . , xr liefert eine 0-chromatische Teilmatrix, wenn wir x1 ⊕
x1 , . . . , xr ⊕ x1 als neue Zeilenmenge wählen. Also besitzt auch die größte 1-chromatische
Teilmatrix die Größe höchstens 2n und wir erhalten
N (h, i2,n ) ≥ Max1 (Mh,i2,n ) ≥ dlog2
7.2.2
22n−1 − 2n−1
(2n − 1)2n−1
e
=
dlog
e = n − 1.
2
2n
2n
Fehlerfreier Nichtdeterminismus
Gibt es Funktionen f , so daß Nichtdeterminismus sowohl für f wie auch für die Komplementfunktion f hilft?
2
Lemma 7.3 Die Funktion EQ∗n : {0, 1}2n → {0, 1} wird durch
EQ∗n (x1 , . . . , xn , y1 , . . . , yn ) = 1 ⇔ ∃ i : xi = yi
definiert. Wir verlangen |x1 | = . . . = |xn | = |y1 | = . . . = |yn | = n und weisen Alice die
x-Worte und Bob die y-Worte zu. Dann gilt:
(a) N (EQ∗n ) ≤ dlog2 ne + n.
(b) N (EQ∗n ) ≤ n · (dlog2 ne + 1).
(c) D(EQ∗n ) = n2 .
Beweis: Übung.
Damit erhalten wir insbesondere auch ein fehlerfreies nichtdeterministisches Protokoll für
EQ∗n :
Zuerst wird ein Bit geraten. Wird das Bit 1 gewählt, dann führen die Spieler
das nichtdeterministische Protokoll für EQ∗n aus. Ist das Protokoll erfolgreich
und bestätigt EQ∗n (x, y) = 1, dann wird auch die Ausgabe übernommen. Wird
aber EQ∗n (x, y) = 1 nicht bestätigt, dann wird ein Fragezeichen ausgegeben.
Wird das Bit 0 gewählt, dann wird das nichtdeterministische Protokoll für
EQ∗n ausgeführt. Ist das Protokoll erfolgreich und bestätigt EQ∗n (x, y) = 0,
dann wird die Ausgabe übernommen; ansonsten wird auch hier ein Fragezeichen
ausgegeben.
161
7.2. NICHTDETERMINISTISCHE KOMMUNIKATION
Wir kommunizieren O(n·log2 n) Bits im worst-case und geben, obwohl nichtdeterministisch
arbeitend, nie eine falsche Antwort (d.h. verwerfen obwohl zu akzeptieren ist). Trotz der
Fehlerfreiheit erreichen wir eine fast quadratische Reduktion im Vergleich zu deterministischen Protokollen.
Aufgabe 70
In dieser Aufgabe zeigen wir, dass es Sprachen gibt, für die Nichtdeterminismus weder für die Sprache noch für ihr Komplement weiterhilft. Zeige: N (COMPn ) = n und
N (COMPn ) = n
Ist es möglich, Funktionen f zu finden, für die Nichtdeterminismus eine noch drastischere
Ersparnis für f und f liefert?
Definition 7.10 Sei M eine 0-1-Matrix. Wir sagen, daß M eine untere Dreiecksmatrix
der Größe s besitzt, wenn M nach geeigneter Permutation der Zeilen und Spalten mit den
Permutationsmatrizen P1 und P2 die Form

1 ...
 . .
 .
..
 .

P1 · M · P2 =  ∗ . . .



∗
0
..
.

∗
1
∗








hat. Die untere Dreiecksmatrix im linken oberen Teil von P1 · M · P2 besitze s Zeilen und
Spalten. Setze:
4(M ) = max{s | M besitzt eine untere Dreiecksmatrix der Größe s}.
Die Definition von 4(M ) ist unabhängig davon, ob wir untere oder obere Dreiecksmatrizen betrachten, da wir durch geeignete Spalten- und Zeilenpermutation beide Formen
ineinander überführen können:




∗
1
..
0
.
1





Zeilenperm.
←→



0
1
..
1
.
∗





Spaltenperm.
←→



1
0
..
.
1




Wir versuchen, aus nichtdeterministischen Protokollen für f : X × Y → {0, 1} und f ein
effizientes, deterministisches Protokoll für f zu bauen. Es gelte
N (f ) = s
und wir können die Nullen der Kommunikationsmatrix Mf von f mit höchstens 2s 0chromatischen Teilmatrizen M1 , . . . , M2s überdeckt, denn
N (f ) = dlog2 Überdeckung(Mf )e = s.
Sei Zi (bzw. Si ) die Menge der Zeilen (bzw. Spalten) der Teilmatrix Mi , 1 ≤ i ≤ 2s .
162
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
Lemma 7.4 Sei MiZ die Matrix Mf eingeschränkt auf die Zeilen in Zi und MiS die Matrix
Mf eingeschränkt auf die Spalten in Si . Dann gilt:
4(MiZ ) + 4(MiS ) ≤ 4(Mf ).
Beweis: Wir können obere Dreiecksmatrizen in MiZ und MiS zu einer oberen Dreiecksmatrix in Mf zusammensetzen, da eine obere Dreiecksmatrix in MiZ (oder in MiS ) nicht
mit der 0-chromatischen Matrix Mi überlappt, denn Mi besitzt keine 1-Einträge auf der
Diagonalen.
0
MiZ
0
I-
0
II-
0
III
-
0
IV
-
MiS
Die Behauptung folgt wie in der Abbildung angegeben. In Schritt I permutieren wir eine
untere Dreiecksmatrix in den Zeilen Zi an den linken Rand. Schritt II verschiebt diese
Dreiecksmatrix in die linke obere Ecke. Durch Schritt III vertauschen wir die Spalten so,
daß die Spalten aus Si neben die Dreiecksmatrix zu liegen kommen. Schließlich permutieren
wir in Schritt IV in den Spalten von MiS eine untere Dreicksmatrix nach oben. Wir erhalten
in Mf eine untere Dreiecksmatrix der Größe 4(MiS ) + 4(MiZ ).
O.B.d.A. gelte
4(MiZ ) ≤ 4(MiS ) für i = 1, . . . , r und
4(MiZ ) > 4(MiS ) für i = r + 1, . . . , 2s .
Wir versuchen, ein möglichst effizientes, deterministisches Protokoll für die Funktion f
zu entwerfen. Alice beginnt die Kommunikation und überprüft zuerst, ob die Zeile ihrer
Eingabe x zu einer der Matrizen M1Z , . . . , MrZ gehört.
Fall 1: Es gibt mindestens eine Matrix MiZ (1 ≤ i ≤ r), die die Zeile von x enthält.
Alice sendet den Namen einer dieser Matrizen MiZ in Binärdarstellung an Bob. Dies ist
mit der Kommunikation von s = N (f ) Bits möglich. Haben wir einen Fortschritt erzielt?
Bob weiß jetzt, daß die Eingabe von Alice zur Menge Zi gehört. Außerdem gilt:
4(MiZ ) ≤
4(Mf )
,
2
denn 4(MiZ ) + 4(MiS ) ≤ 4(Mf ) und 4(MiZ ) ≤ 4(MiS ). Damit wird die 4-Komplexität
um den Faktor 2 reduziert.
Fall 2: Keine der Matrizen M1Z , . . . , MrZ enthält die Zeile von x.
Alice sendet die Nachricht „erfolglos“. Bob überprüft, ob die Spalte seiner Eingabe y zu
S
einer der Matrizen Mr+1
, . . . , M2Ss gehört.
Fall 2.1: Es gibt mindestens eine Matrix MiS (r + 1 ≤ i ≤ 2s ), die die Spalte von y enthält.
163
7.2. NICHTDETERMINISTISCHE KOMMUNIKATION
Bob sendet den Namen einer solchen Matrix MiS mit der Kommunikation von s = N (f )
Bits an Alice. Auch in diesem Fall besteht der Fortschritt darin, daß
4(MiS ) ≤
4(Mf )
,
2
denn es ist 4(MiS ) < 4(MiZ )). Alice weiß zusätzlich, daß die Eingabe von Bob zur Menge
Si gehört.
S
Fall 2.2: Keine der Matrizen Mr+1
, . . . , M2Ss enthält die Spalte von y.
Damit gehört auch die Eingabe von Alice nicht zu einer der Matrizen M1Z , . . . , MrZ und
S
, . . . , M2Ss . Dann aber liegt die vollständige
Bob’s Eingabe nicht zu einer der Matrizen Mr+1
Eingabe (x, y) nicht in M1 , . . . , M2s und (x, y) muss den Wert 1 besitzen, denn M1 , . . . , M2s
überdecken alle 0-Einträge von Mf . Also kann Bob die Rechnung beenden.
Wenn wir noch nicht fertig sind, d.h. die Ausgabe noch nicht bestimmen können, beginnen
wir eine neue Runde. Dabei beginnt der Spieler, der nicht das „erfolglos“-Bit gesendet hat.
Wir verwenden MiZ (bzw. MiS ) statt Mf , falls Alice (bzw. Bob) der Spieler ist, der die
nächste Runde beginnt.
Wieviele Bits werden insgesamt ausgetauscht? In einem Schritt genügen s + 1 Bits: Wir
stellen die Nummer der Matrix (minus 1) binär als s-Bitstring dar und fügen eine 0 am
höchstwertigsten Bit an. Das „erfolglos“-Bit stellen wir durch den (s + 1)-Bitstring 10 · · · 0
dar, d.h. als Binärdarstellung des Wertes 2s . Eventuell müssen wir nach Beendigung noch
das Ausgabebit b ∈ {0, 1} an den für die Ausgabe zuständigen Spieler weiterleiten. Wir
senden dieses Bit als Binärdarstellung von 2s + 1 + b.
Angenommen, die Berechnung stoppt mit einer Matrix M , deren Dreieckskomplexität
4(M ) = 0 ist. Dann muß M 0-chromatisch sein und die Berechnung kann mit Ausgabe 0
stoppen. Da 4(Mf ) in jedem Schritt mindestens halbiert wird, reichen dlog2 4(Mf )e + 1
Iterationen aus. Insgesamt genügen somit
(dlog2 4(Mf )e + 1) · N (f ) + 1
Bits.
Satz 7.7 Die Funktion f : X × Y → {0, 1} sei gegeben.
(a) D(f ) ≤ (dlog2 4(Mf )e + 1) · (N (f ) + 1).
(b) D(f ) ≤ dlog2 4(Mf )e + 1 · (N (f ) + 1).
Beweis: Teil (a) haben wir gerade gezeigt. (b) folgt, wenn wir in (a) die Funktion f durch
f ersetzen und beachten, dass D(f ) = D(f ) gilt.
Für Turingmaschinen wissen wir nicht, ob
P = NP ∩ coNP
gilt, wobei coNP = {f | f ∈ NP} ist. Was passiert im Kommunikationsmodell?
164
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
Korollar 7.5 Die Funktion f : X × Y → {0, 1} sei gegeben. Dann gilt
D(f ) ≤ (N (f ) + 1) · N (f ) + 1 .
Lemma 7.3 gibt ein Beispiel für eine Funktion, für die diese Ungleichung „fast“ exakt ist.
Beweis: Es gilt
dlog2 4(Mf )e ≤ N (f ),
denn wir können die Diagonale der Dreiecksmatrix als Fooling-Set wählen.
Falls sowohl die Funktion f , als auch ihr Komplement f mit „wenigen“ Bits nichtdeterministisch berechnet werden kann, dann kann f auch deterministisch mit nur polynomiellem
Mehraufwand berechnet werden.
Aufgabe 71
Die Funktion f : X × Y → {0, 1} sei gegeben. Wir betrachten nochmals fehlerfreien Nichtdeterminismus, also nichtdeterministische Protokolle, die die Ausgaben 0,1 oder Fragezeichen geben können. Für jede Eingabe (x, y) ∈ X × Y muss mindestens eine Berechnung
eine vom Fragezeichen verschiedene Ausgabe bestimmen und keine falsche Antwort darf
gegeben werden.
Zeige: Wenn ein fehlerfreies nichtdeterministisches Protokoll die Funktion f mit s Bits
berechnet, dann ist D(f ) = O(s2 ).
Wir betrachten eindeutig nichtdeterministische Protokolle, also nichtdeterministische Protokolle, die für jede Eingabe (x, y) ∈ X × Y mit f (x, y) = 1 genau eine akzeptierende
Berechnung besitzen. Um wieviel effizienter können diese Protokolle im Vergleich zu deterministischen Protokollen sein?
Korollar 7.6 Die Funktion f : X × Y → {0, 1} werde durch ein eindeutig nichtdeterministisches Protokoll mit s Bits berechnet. Dann gilt
D(f ) ≤ (s + 1) · (s + 2) .
Eindeutiger Nichtdeterminismus erlaubt somit eine höchstens quadratische Ersparnis.
Beweis: Die wesentliche Beobachtung ist, dass der Rang der Kommunikationsmatrix eine
untere Schranke für deterministische Protokolle ist.
Behauptung 7.3 Es gilt dlog2 Rang(Mf )e ≤ s.
Beweis: Ein eindeutiges, nichtdeterministisches Protokoll erzeugt eine disjunkte Zerlegung
der Einsen von Mf in 1-chromatische Teilmatrizen M1 , . . . , Mt . Wenn das Protokoll höchstens s Bits austauscht, dann ist die Anzahl t dieser Matrizen durch 2s beschränkt und wir
erhalten
Rang(Mf ) ≤
t
X
i=1
Rang(Mi ) ≤ t ≤ 2s
165
7.2. NICHTDETERMINISTISCHE KOMMUNIKATION
und die Behauptung folgt durch Logarithmieren.
Wir wenden Satz 7.7 an und erhalten
D(f ) ≤ (N (f ) + 1) · dlog2 4(Mf )e + 1 .
Damit folgt das Korollar aus N (f ) ≤ s und
4(Mf ) ≤ Rang(Mf ) ≤ Rang(Mf ) + 1 ≤ 2s + 1.
7.2.3
Ein Methoden-Vergleich für die deterministische Kommunikation
In der Analyse der deterministischen Kommunikationskomplexität haben wir
- die Fooling-Set Methode,
- die Rang-Methode,
- die Methode der größten monochromatischen Teilmatrix und
- die Zerlegungsmethode
kennengelernt. Wir stellen uns die Frage nach einem Vergleich der jeweiligen Methoden und
überprüfen, wie scharf die tatsächliche Kommunikationskomplexität approximiert wird.
Unser erstes Ergebnis zeigt, dass die Zerlegungsmethode die besten Ergebnisse liefert.
Aufgabe 72
Die Funktion f : X × Y → {0, 1} sei gegeben. Zeige:
- RangK (Mf ) ≤ Zerlegung(Mf ) für jeden Körper K.
- |F |/Maxb,F (Mf ) ≤ Zerlegung(Mf ) für jede Teilmenge F von Eingaben mit Wert b.
- |F | ≤ Zerlegung(Mf ) für jeden Fooling-Set F .
Leider ist die Bestimmung einer besten Zerlegung ein sehr schwieriges Problem und deshalb
ist die Zerlegungsmethode auch nur in wenigen Fällen mit Erfolg direkt anwendbar. Wir
setzen deshalb unsere Untersuchung fort und betrachten zuerst die Methode der größten
monochromatischen Teilmatrix und vergleichen dann Fooling-Sets mit der Rangmethode.
166
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
7.2.3.1
Die Methode der größten monochromatischen Teilmatrix
In Satz 7.7 haben wir gezeigt, dass es effiziente deterministische Protokolle gibt, wenn sowohl die nichtdeterministische Komplexität für die Funktion wie auch für das Komplementfunktion gering ist. Wir werden diese Beobachtung ausnutzen, um nachzuweisen, dass
die Methode der größten monochromatischen Teilmatrix die tatsächliche deterministische
Kommunikationskomplexität überraschend gut voraussagt.
Korollar 7.7 Die Funktion f : X × Y → {0, 1} sei gegeben.
(a) D(f ) ≤ (dlog2 |F |e + 1) · N (f ) + 1 , wobei F ein 1-Fooling-Set maximaler Größe
für Mf ist.
Mit anderen Worten: Die Fooling-Set-Methode ist immer dann gut, wenn f oder f
eine niedrige nichtdeterministische Kommunikationskomplexität besitzen.
(b) Für jeden Körper K gilt D(f ) ≤ (dlog2 RangK (Mf )e + 1) · N (f ) + 1 .
Mit anderen Worten: Auch die Rangmethode liefert gute Ergebnisse bei niedriger
nichtdeterministische Komplexität von f oder f .
(c) D(f ) ≤ (Max1 (Mf ) + 1) · Max1 (Mf ) + dlog2 2(n + 1)e + 1 , für n = log2 (|X| · |Y |).
Mit anderen Worten: Die Methode der größten Teilmatrix ist stets gut.
(d) D(f ) ≤ (dlog2 Zerlegung(Mf )e + 1)2 .
Mit anderen Worten: Die Zerlegungsmethode ist ebenfalls stets gut, wenn auch schwieriger handzuhaben als die Methode der größten Teilmatrix.
Beweis: Sei 4 die größte untere Dreiecksmatrix in Mf . Wir wissen, dass 4 die Größe
4(Mf ) besitzt. Teil (a) folgt sofort aus Satz 7.7, wenn wir beachten, dass die Diagonale F
von 4 ein Fooling-Set der Größe 4(Mf ) ist. Desweiteren ist
4(Mf ) = RangK (4) ≤ RangK (Mf )
und auch Teil (b) ist eine direkte Konsequenz.
Für Teil (c) wenden wir an, dass dlog2 4(Mf )e ≤ dlog2 |F |e ≤ Max1 (Mf ) gilt. Wir erhalten
also aus Satz 7.6:
D(f ) ≤ (dlog2 4(Mf )e + 1) · (N (f ) + 1)
≤ (Max1 (Mf ) + 1) · (N (f ) + 1)
≤ (Max1 (Mf ) + 1) · Max1 (Mf ) + dlog2 2(n + 1)e + 1 .
Teil (d) folgt aus Korollar 7.5, denn
D(f ) ≤ (N (f ) + 1) · N (f ) + 1
≤
dlog2 Überdeckung(Mf )e + 1 · dlog2 Überdeckung(Mf )e + 1
≤ (dlog2 Zerlegung(Mf )e + 1) · dlog2 Zerlegung(Mf )e + 1 .
167
7.2. NICHTDETERMINISTISCHE KOMMUNIKATION
7.2.3.2
Fooling-Sets und die Rang-Methode
Wir geben uns wiederum eine Funktion f : X ×Y → {0, 1} vor und definieren die Funktion
f ∗ : (X × Y )2 → {0, 1} durch
f ∗ (x1 y1 , y2 x2 ) = f (x1 , y2 ) · f (x2 , y1 ).
Sei F ein 1-Fooling-Set, also ein Fooling-Set aus Eingaben vom Wert 1. Wir erinnern daran,
dass jede von (x, y), (x0 , y 0 ) ∈ F aufgespannte 2×2-Matrix nicht 1-chromatisch und deshalb
mindestens einen 0-Eintrag besitzt.
y
y0
x
1
∗
x0
∗
1
Mf
Ein 1-Fooling-Set.
Lemma 7.5 Sei F = {(xi , yi ) | 1 ≤ i ≤ r} ein 1-Fooling-Set für f . Dann besitzt Mf ∗ eine
r × r Einheitsmatrix.
Beweis: Wir wählen X = {xi yi | 1 ≤ i ≤ r} als Zeilenmenge und Y = {yj xj | 1 ≤ j ≤ r}
als Spaltenmenge von Mf ∗ . Wir behaupten, daß die Zeilen in X und die Spalten in Y die
gesuchte Einheitsmatrix in Mf ∗ definieren. Wir beobachten zuerst, dass
Mf ∗ [xi yi , yj xj ] = f ∗ (xi yi , yj xj ) = f (xi , yj ) · f (xj , yi )
gilt. Für i = j ist Mf ∗ [xi yi , yj xj ] = f (xi , yi ) · f (xi , yi ) = 1, da F nur aus Eingaben mit Wert
1 besteht. Falls i 6= j ist, gilt f (xi , yj ) = 0 oder f (xj , yi ) = 0, denn ist F ein 1-Fooling-Set.
Also folgt
Mf ∗ [xi yi , yj xj ] = 0
und die Behauptung ist gezeigt.
Als Folgerung erhalten wir RangK (Mf ∗ ) ≥ |F | über jedem Körper K.
Lemma 7.6 Es gilt RangK (Mf )2 ≥ RangK (Mf ∗ ) für jeden Körper K.
Beweis: Sei r = RangK (Mf ). Dann gibt es Zeilen z1 , . . . , zr , die alle Zeilen von Mf erzeugen und Spalten s1 , . . . , sr , die alle Spalten von Mf erzeugen. Wir erhalten also die
Darstellungen
Mf [x1 , ?] = (f (x1 , y2 ))y2 =
Mf [?, y1 ] = (f (x2 , y1 ))x2 =
r
X
i=1
r
X
j=1
αi zi
βj sj .
168
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
Andererseits hat eine Zeile von Mf ∗ die Form
Mf ∗ [x1 y1 , ?] = (f (x1 , y2 ) · f (x2 , y1 ))x2 ,y2
und wir erhalten

(f (x1 , y2 ) · f (x2 , y1 ))x2 ,y2 = 
r
X
αi zi,y2 ·
i=1

= 
r
X

βj sj,x2 
j=1
r
X
αi βj · zi,y2 · sj,x2 
i,j=1
=
r
X
x2 ,y2

x2 ,y2
αi βj · (zi,y2 · sj,x2 )x2 ,y2 .
i,j=1
Also ist (zi,y2 · sj,x2 )x2 ,y2 ein Erzeugendensystem, das aus höchstens r2 Vektoren besteht
und RangK (Mf ∗ ) ≤ r2 folgt.
Fassen wir zusammen: Wenn f einen 1-Fooling-Set F der Größe r besitzt, dann ist der
Rang von Mf ∗ , als Konsequenz von Lemma 7.5 mindestens r und wir erhalten
RangK (Mf ∗ ) ≥ |F |.
Mit Lemma 7.6 folgt
RangK (Mf ) ≥
q
RangK (Mf ∗ ) ≥
q
|F |.
Was passiert, wenn F ein 0-Fooling-Set ist? In diesem Fall folgt die Behauptung nicht
analog, da wir ausgenutzt haben, daß Mf ∗ [xi yi , yj xj ] = 1 genau dann gilt, wenn f (xi , yi ) =
f (xj , yj ) = 1. Falls F ein 0-Fooling-Set für f ist, ist F ein 1-Fooling-Set für g = f ⊕ 1 und
wir erhalten
q
RangK (Mg ) ≥ |F |.
Aber aus
RangK (Mg ) = RangK (1 − Mf ) ≤ RangK (Mf ) + 1
folgt RangK (Mf ) ≥ RangK (Mg ) − 1 ≥
q
|F | − 1. Wir haben den folgenden Satz erhalten:
Satz 7.8 Die Funktion f : X × Y → {0, 1} sei gegeben und F sei ein Fooling-Set für f .
Dann gilt
q
RangK (Mf ) ≥ |F | − 1
über jedem Körper.
Die Rangmethode liefert also asymptotisch eine um höchstens den Faktor 12 schwächere
untere Schranke als die Fooling-Set-Methode. Die Fooling-Set-Methode kann aber auch
wesentlich schlechtere Ergebnisse liefern. Betrachte das innere Produkt modulo 2
hx, yi2,n =
n
X
i=1
!
x i · yi
mod 2.
7.3. PROBABILISTISCHE KOMMUNIKATION
169
Wegen RangZ2 (Mh,i2,n ) = n ist die Größe jedes Fooling-Sets nach Satz 7.8 durch (n + 1)2
beschränkt. Andererseits gilt
RangQ (Mh,i2,n ) = 2n − 1.
Konsequenz:
Die Methode Fooling-Set ist nie entscheidend besser als die Rangmethode, kann
aber drastisch schlechter sein.
Wir erinnern daran, das der Status der Rangmethode für K = Q ungeklärt ist und eine
sogar, bis auf ein Polynom, exakte Charakterisierung der Kommunikationskomplexität ist
nicht ausgeschlossen.
7.3
Probabilistische Kommunikation
In probabilistischen Protokollen können Alice und Bob mit einem beiden zur Verfügung
stehenden Zufallsstring z arbeiten. Alice wie auch Bob konsultieren z und führen dann ein
deterministisches Protokoll Pz aus.
Wir können somit ein probabilistisches Protokoll P als eine Verteilung über deterministische Protokolle ansehen. Wir sagen, dass P eine Funktion f : X × Y → Z mit Fehler
höchstens ε berechnet, falls für alle x ∈ X und y ∈ Y
prz [ Pz (x, y) = f (x, y) ] ≥ 1 − ε
gilt. (Pz (x, y) bezeichnet die vom Protokoll P berechnete Ausgabe für x, y, wenn der Zufallsstring z gewählt wird. Die Wahrscheinlichkeit “pr” wird über alle möglichen Wahlen
von z bestimmt.)
Wir haben das Modell der öffentlichen Zufallsquelle gewählt: Alice und Bob arbeiten mit
demselben Zufallsstring z. In dem Modell der privaten Zufallsquelle arbeitet Alice mit
einem Zufallsstring zA und Bob mit einem Zufallsstring zB . Weder kennt Alice zB noch
kennt Bob zA . Wie hängen die beiden Modelle zusammen?
Ein Protokoll mit privater Zufallsquelle lässt sich als ein Protokoll mit öffentlicher Zufallsquelle auffassen, wenn wir die Konkatenation z = zA zB als öffentlichen Zufallsstring
auffassen. Überraschenderweise kann aber auch ein Protokoll mit öffentlicher Zufallsquelle
durch ein Protokoll mit privater Zufallsquelle simuliert werden, wenn wir erlauben, dass
der Fehler leicht ansteigt und die Kommunikation additiv um O(log2 log2 |X| · |Y |) wächst.
Die zentrale Beobachtung wird in der folgenden Übungsaufgabe gemacht.
Aufgabe 73
Für jedes probabilistische Protokoll P mit öffentlicher Zufallsquelle gibt es ein äquivalentes Protokoll P’ ebenfalls mit öffentlicher Zufallsquelle, so dass P und P’ in der Anzahl
ausgetauschter Bits übereinstimmen. P’ benötigt aber nur einen Zufallsstring der Länge
O(log2 log2 |X| · |Y |), sein Fehler steigt nur leicht an.
170
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
Wir können jetzt ein Protokoll mit öffentlicher Zufallsquelle durch ein Protokoll mit privater Zufallsquelle simulieren, indem Alice einen Zufallsstring logarithmischer Länge auswürfelt und an Bob verschickt: beachte, dass die Kommunikation additiv und zwar nur
logarithmisch ansteigt.
Definition 7.11 Sei f : X × Y → Z gegeben.
(a) Wir sagen, dass ein probabilistisches Protokoll P höchstens b Bits austauscht, wenn
P für alle Eingaben und für alle Zufallsstrings höchstens b Bits austauscht.
(b) Wir definieren
Pε (f ) = min{ b | es gibt ein probabilistisches Protokoll, das f mit Fehler
höchstens ε berechnet und höchstens b Bits austauscht }
als die probabilistische Kommunikationskomplexität von f für Fehler ε.
Aufgabe 74
Die Funktion f : X × Y → {0, 1} sei gegeben. Zeige: D(f ) ≤ 2O(P1/3 (f )) .
Fazit: Probabilismus führt im Vergleich zum Determinismus höchstens zu einer exponentiellen Ersparnis.
Probabilistische Protokolle können im Vergleich zu deterministischen Protkollen sehr mächtig sein. Betrachten wir das Gleichheitsproblem EQn . In unserem probabilistischen Protokoll greift Alice auf die ersten n Zufallsbits z = (z1 , . . . , zn ) zu und kommuniziert das
Bit
a = hx, zi2,n .
Bob akzeptiert genau dann, wenn a = hy, zi2,n . Das Protokoll ist fehlerfrei falls x = y. Wir
nehmen also x 6= y an und erhalten
1
prob[hx, zi2,n = hy, zi2,n ] = prob[hx − y, zi2,n = 0] = .
2
Wir haben somit P2−k (EQn ) ≤ k erhalten, wenn wir das Protokoll k-mal wiederholen.
Betrachten wir als nächstes ein Protokoll mit privater Zufallsquelle. Alice wählt zufällig
eine Primzahl p ≤ n2 and sendet p wie auch x mod p an Bob. Bob akzeptiert, falls x mod p =
y mod p und verwirft sonst. Das Protokoll kommuniziert O(log2 n) Bits und arbeitet mit
kleinem Fehler: Wird fälschlicherweise für eine Primzahl p Gleichheit behauptet, dann ist
p ein Teiler der Differenz x − y. Aber x − y hat höchstens log2 |x − y| = O(n) Primteiler,
während die Anzahl der Primzahlen kleiner gleich n2 mit θ(n2 / log2 n) übereinstimmt.
Aufgabe 75
(a) Wir möchten probabilistische Protokolle für das Vergleichsproblem COMPn mit Fehlerwahrscheinlichkeit höchstens ε entwerfen. Zeige:
Pε (COMPn ) = O(log n( log n + log(−1 ))).
171
7.3. PROBABILISTISCHE KOMMUNIKATION
Hinweis: Das Protokoll für das Gleichheitsproblem sowie binäre Suche können hilfreich
sein.
(b) Threshold-Funktionen sind Funktionen aus der Menge
Fn = {f | es gibt wi , t ∈ Z, so dass f (x1 , . . . , xn ) = 1 ⇐⇒
Pn
i=1
wi xi ≥ t }.
Zeige:
Cε (f ) = O(log n( log n + log(−1 )))
für f ∈ F2n , wobei die ersten n Bits an Alice und die letzten n Bits an Bob verteilt werden.
Hinweis: Es darf angenommen werden, dass |wi | ≤ nn gilt.
(c) Die Funktion g : X × Y → {0, 1} sei gegeben und die probabilistische Kommunikation
bei zweiseitigem Fehler höchstens 41 sei bekannt. Was kann über die Tiefe von linearen
Entscheidungsbäumen für g ausgesagt werden?
Welche Methoden können wir anwenden, um zu zeigen, dass die probabilistische Kommunikation einer Funktion f groß ist? Die Rang-Methode versagt, denn MEQn besitzt den
Rang 2n , die probabilistische Kommunikationskomplexität ist aber höchstens O(log2 n).
Aus den gleichen Gründen versagt die Methode der Fooling-Sets.
Wir verwenden die „Verseuchungsmethode“, eine Variante der Methode der größten monochromatischen Teilmatrix. Insbesondere gehen wir in zwei Schritten vor.
(1) Wir konstruieren eine Verteilung µ für X × Y , die die Schwierigkeit der Funktion f
hervorhebt.
(2) Wir zeigen zuerst ein allgemeines Ergebnis:
Lemma 7.7 f : X × Y → Z und die Verteilung µ auf X × Y seien gegeben. Wenn
Pε (f ) = k, dann gibt es ein deterministisches Protokoll D, das höchstens k Bits
kommuniziert und einen erwarteten Fehler von höchstens ε besitzt. Der erwartete
Fehler wird durch die Verteilung µ gemessen.
Der zentrale Schritt ist der Nachweis, dass deterministische Protokolle mit geringer
Kommunikation einen großen erwarteten Fehler besitzen.
– Ist dies nicht der Fall, besitzt die Kommunikationsmatrix Mf mindestens eine
große Teilmatrix mit kleinem Fehler:
– Es ist also zu zeigen, dass jede große Teilmatrix von Mf mit zu vielen Fehlern
„verseucht“ ist.
7.3.1
Deterministische Kommunikation mit Fehler
Wir geben zuerst einen Beweis von Lemma 7.7 an. Wir vergleichen ein probabilistisches
Protokoll P mit deterministischen Protokollen, die einen beschränkten erwarteten Fehler
172
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
besitzen. Wir wissen, dass Pε (f ) = k gilt, und es gibt ein probabilistisches Protokoll P mit
der Eigenschaft
prz [ Pz (x, y) = f (x, y) ] ≥ 1 − ε
für alle Eingaben x, y. Sei µ eine beliebige Verteilung auf der Menge X × Y aller Eingaben.
Der Fehler bleibt durch ε beschränkt, wenn wir die Eingabe (x, y) ∈ X × Y mit Wahrscheinlichkeit µ(x, y) auswürfeln und dann das probabilistische Protokoll P anwenden. Mit
anderen Worten, es gilt
prz,x,y [ Pz (x, y) = f (x, y) ] ≥ 1 − ε.
Es muss somit einen Zufallsstring z0 geben, so dass
prx,y [ Pz0 (x, y) = f (x, y) ] ≥ 1 − ε
gilt. Wir haben also für die (beliebige) Verteilung µ auf der Eingabemenge X × Y ein
deterministisches Protokoll, nämlich D = Pz0 , gefunden, dessen erwarteter Fehler höchstens
ε beträgt.
Ab jetzt arbeiten wir mit dem deterministischen Protokoll D aus Lemma 7.7 weiter. Im
nächsten Schritt zeigen wir, dass D eine „große“ Teilmatrix mit Fehler höchstens 2ε besitzt.
Wir sagen, dass eine Teilmatrix U × V von Mf „groß“ ist, wenn
µ(U × V ) ≥ 2−(k+1)
gilt und nennen die Teilmatrix ansonsten klein.
D erzeugt höchstens 2k Nachrichten und deshalb wird ein Eintrag nur mit Wahrscheinlichkeit 1/2 von einer kleinen Teilmatrix überdeckt. Einträge (x, y) werden von D nur mit
Wahrscheinlichkeit ε falsch klassifiziert. Selbst wenn alle falsch klassifizierten Einträge von
großen Teilmatrizen überdeckt werden, beträgt ihr relativer Anteil doch nur höchstens 2ε.
Aber dann muss es eine große Teilmatrix T = U × V geben, so dass höchstens der Anteil
2ε der Einträge von T falsch klassifiziert wird. Wir haben gezeigt:
Lemma 7.8 Die Verteilung µ auf X × Y sei beliebig. Wenn Pε (f ) = k, dann gibt es eine
Teilmatrix T = U × V mit
(1) µ(T ) ≥ 2−(k+1) und
(2) entweder besitzt T höchstens den Anteil 2ε an Nullen oder der Anteil an Einsen ist
durch 2ε beschränkt.
7.3.1.1
Das innere Produkt modulo zwei
Wir möchten die probabilistische Kommunikation des inneren Produkts modulo 2
hx, yi2,n =
n
X
i=1
xi yi mod 2
173
7.3. PROBABILISTISCHE KOMMUNIKATION
asymptotisch exakt bestimmen. Sicherlich gelingt eine sogar fehlerfreie Berechnung wenn
Alice ihre Eingabe kommuniziert. Es stellt sich heraus, dass das innere Produkt keine Tricks
zulässt, die die probabilistische Kommunikation asymptotisch verringern.
Satz 7.9 Für jede Konstante ε > 0 ist
P1/2−ε (hi2,n ) = Ω(n).
Wir wenden die Verseuchungsmethode an und wählen für µ die Gleichverteilung: Das innere
Produkt ist überall „schwierig“. Statt die Kommunikationsmatrix Mn des inneren Produkts
zu betrachten, betrachten wir die Matrix Hn , die wir aus Mn erhalten, indem wir die 0
stets durch −1 ersetzen. Hn ist eine Hadamard Matrix, d.h. Hn ist eine Matrix mit 1- und
−1-Einträgen und je zwei Zeilen von H stehen senkrecht aufeinander, wenn wir das innere
Produkt über den reellen Zahlen bestimmen. Warum?
Wir betrachten zwei beliebige, aber verschiedene Zeilen von Hn , die den Eingaben x und
x0 von Alice entsprechen mögen. Dann ist
X
0
(−1)hx,yi mod 2 (−1)hx ,yi mod 2 =
y
X
0
(−1)hx⊕x ,yi mod 2.
y
Aber x 6= x0 und es ist hx ⊕ x0 , yi ≡ 0 mod 2 für genau die Hälfte aller y ∈ {0, 1}n . Die
Zeilen von x und x0 stehen also tatsächlich
senkrecht aufeinander. √
√
Jede Zeile von Hn besitzt die Norm 2n . Wenn wir also Hn durch 2n teilen, bilden die
normierten Zeilen eine Orthonormalbasis ex für x ∈ {0, 1}n .
Wir betrachten jetzt eine beliebige Teilmatrix U × V mit dem Ziel, den Fehler von U × V
zu bestimmen. Der Vektor IV sei der Inzidenzvektor von V , die Komponente y von IV ist
also entweder 1, und y ∈ V , oder 0 und y 6∈ V . Die Zeile von Hn zur Eingabe x von Alice
nennen wir „zeileHn (x)“. Wir wenden die Dreiecksungleichung an und erhalten
1 X
√ 2n x∈U,y∈V
Hn [x, y]
X
X zeile (x)
Hn
hzeileHn (x), IV , i = h √ n , IV i
2
x∈U
x∈U
X
X
hex , IV i ≤
|hex , IV i| .
n
1
= √ n
2
=
x∈U
x∈{0,1}
Wir wenden jetzt die Ungleichung |ha, bi| ≤ ||a||·||b|| von Cauchy-Schwartz an. Wir wählen
für a den Vektor, der nur aus Einsen besteht, und setzen b = (|hex , IV i | x ∈ {0, 1}n ). Als
Konsequenz folgt
1 X
√ 2n x∈U,y∈V
Hn [x, y]
≤
X
x∈{0,1}n
|hex , IV i| ≤
√
2n
·
s
X
x∈{0,1}n
|hex , IV i|2
(7.1)
174
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
Als nächstes nutzen wir aus, dass die Zeilen ex eine Orthonormalbasis bilden. Für jeden
P
Vektor z gibt es also insbesondere eine Linearkombination z = x∈{0,1}n αx ex und damit
ist
||z||2 = hz, zi =
X
X
αx αy hex , ey i =
x,y∈{0,1}n
αx2 =
x∈{0,1}n
X
hex , zi2 .
x∈{0,1}n
Wir können jetzt unsere Abschätzung (7.1) abschließen und erhalten
1
√
2n
X
x∈U,y∈V
Hn [x, y]
≤
√
2n ·
s
X
|hex , IV i|2 =
√
2n · ||IV || ≤ 2n .
x∈{0,1}n
Wir halten dieses Zwischenergebnis fest.
Lemma 7.9 Für jede Teilmatrix U × V von Hn gilt
X
x∈U,y∈V
Hn [x, y]
≤ 23n/2 .
Was sagt uns das Lemma? Die Anzahl der 1-Einträge stimmt bis auf höchstens 23n/2 mit
der Anzahl der −1-Einträge überein und der Fehler ist viel zu groß, wenn die Teilmatrix
U × V groß ist.
Genauer: Wenn |U × V | ≥ 23/2n+1 (bzw. µ(U × V ) ≥ 2−n/2+1 ), dann besitzt U × V
mindestens |U × V |/4 Einträge mit Wert -1 und ebenso mindestens |U × V |/4 Einträge mit
Wert 1. Wenn wir also P1/8 (hi2,n ) ≤ n2 −2 annehmen, dann verstoßen wir gegen Lemma 7.8.
Also führt eine Fehlerwahrscheinlichkeit ε ≤ 1/8 auf eine lineare Anzahl ausgetauschter
Bits. Aber was passiert, wenn ε eine beliebige Konstante kleiner als 1/2 ist?
Aufgabe 76
Zeige Satz 7.9 für jede Konstante ε > 0.
7.3.1.2
Das Disjunktheitsproblem
Für eine spätere Anwendung in der Untersuchung von Schaltkreisen benötigen wir auch
eine Charakterisierung der probabilistischen Kommunikationskomplexität des Disjunktheitsproblems
(
Pn
1
i=1 xi yi ≥ 1,
DISJn (x, y) =
0 sonst.
Ebenfalls mit der Verseuchungsmethode erhält man
Satz 7.10 Für jede Konstante ε > 0 ist
Pε (DISJn ) = Θ(n).
175
7.4. ANWENDUNGEN
Wir geben nur die Beweisidee an. Während das innere Produkt „überall schwierig“ ist,
besitzt das Disjunkheitsproblem riesige 1-chromatische Teilmatrizen, allerdings sind alle
0-chromatischen Teilmatrizen klein. Diesmal konstruiert man die Verteilung µ sorgfältig
und legt ein von Null verschiedenes Gewicht nur auf die Einträge in T0 ∪ T1 , wobei
n
n
T0 = { (x, y) ∈ {0, 1} × {0, 1} |
T1 = { (x, y) ∈ {0, 1}n × {0, 1}n |
n
X
i=1
n
X
xi yi = 0 }
xi yi = 1 }.
i=1
Für die Analyse sind nur „disjunkte Einträge“, also Einträge in T0 interessant, sowie Einträge mit genau einem „gemeinsamen Element“, also Einträge in T1 . Es stellt sich heraus,
dass eine Trennung von T0 und T1 nur mit Kommunikation Ω(n) gelingt.
Aufgabe 77
Im 3-Distinctness Problem DISTn : X × X → {0, 1} ist X = Y = {a, b, c}n sowie
DISTn (x, y) = 1 ↔ ∃i : xi = yi .
Zeige als Konsequenz von Satz 7.10 dass
P1/2−ε (DISTn ) = Θ(n)
für jede Konstante ε > 0 gilt.
7.4
7.4.1
Anwendungen
Die Zustandszahl endlicher Automaten
Sei L ⊆ Σ∗ eine Sprache über Σ. Wir betrachten im folgenden einseitige Protokolle, bei
denen nur Alice Nachrichten sendet. Alice und Bob erhalten die Worte wA ∈ Σ∗ und
wB ∈ Σ∗ als Eingaben und Bob soll entscheiden, ob die Konkatenation wA wB in der
Sprache L liegt. Die Kommunikationsmatrix ML ist durch
(
ML [wA , wB ] =
1 wA wB ∈ L,
0 sonst
definiert. Beachte, daß die Matrix unendlich viele Spalten und Zeilen besitzt.
Sei P ein deterministisches A → B Protokoll, das genau die Worte in L akzeptiert. Wir
haben P durch seinen Protokollbaum BP beschrieben und in Definition 7.2 die Kommunikationskomplexität von P als die Tiefe von BP definiert. Sei Blätter(P) die Anzahl der
Blätter von BP : Blätter(P) stimmt also mit der Nachrichtenzahl, d.h. der Anzahl der
Teilmatrizen in der Zerlegung der Kommunikationsmatrix durch P überein. Wir setzen
Nachrichten(L) = min{ Blätter(P) | Das einseitige A → B Protokoll P
akzeptiert genau die Worte in L }.
176
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
Nachrichten(L) ist also die kleinstmögliche Anzahl von Nachrichten eines einseitigen A →
B Protokolls für L.
Satz 7.11 Die Sprache L ⊆ Σ∗ sei regulär. Dann sind die folgenden Aussagen äquivalent:
(a) Der minimale deterministische endliche Automat für L hat m Zustände.
(b) Es gibt ein Protokoll für L mit Nachrichten(L) = m und jedes Protokoll für L tauscht
mindestens m Nachrichten aus.
(c) Die Kommunikationsmatrix ML besitzt genau m verschiedene Zeilen.
Beweis: (a) ⇒ (b). Da der minimale Automat m Zustände besitzt, besitzt die NerodeRelation1 ≡L von L genau m Äquivalenzklassen.
Wir entwerfen ein einseitiges Protokoll mit genau m Nachrichten. Alice kommuniziert den
Namen der Äquivalenzklasse von wA . Bob wählt ein beliebiges Wort v ≡L wA und akzeptiert genau dann, wenn vwB ∈ L. Nach Definition der Nerode-Relation akzeptiert B genau
dann, wenn wA wB ∈ L.
Es bleibt zu zeigen, dass jedes Protokoll mindestens m Nachrichten austauscht. Angenommen, es gibt ein Protokoll, das höchstens m − 1 Nachrichten austauscht. Dann gibt es
nach dem Schubfachprinzip Worte u, v ∈ Σ∗ mit u6≡L v, für die Alice die gleiche Nachricht
sendet. Da u und v nicht Nerode-äquivalent sind, gibt es ein w ∈ Σ∗ , so dass uw ∈ L und
vw ∈
/ L (oder umgekehrt). Bob muss allerdings für die Eingaben uw und vw die gleiche
Ausgabe geben und das Protokoll ist fehlerhaft.
(b) ⇔ (c): Wenn ML genau k verschiedene Zeilen hat, dann gibt es ein Protokoll mit k
Nachrichten, da nur mitzuteilen ist, zu welcher der k Klassen eine Zeile gehört. Offensichtlich kann es kein Protokoll mit k 0 < k Nachrichten geben, da dann dieselbe Nachricht für
zwei verschiedene Zeilen geschickt wird. Also stimmt die minimale Nachrichtenzahl mit der
Anzahl verschiedener Zeilen überein.
(c) ⇒ (a): Die Zeilen der Kommunikationsmatrix ML für die Eingaben u und v sind genau
dann identisch, wenn ML [u, w] = ML [v, w] für alle Spalten w ∈ Σ∗ gilt. Letzteres ist aber
äquivalent mit uw ∈ L ⇐⇒ uv ∈ L für alle w ∈ Σ∗ und dies ist genau dann der Fall,
wenn u ≡L v. Also stimmt die Anzahl verschiedener Zeilen der Kommunikationsmatrix
überein mit der Anzahl der Nerode-Äquivalenzklassen, die wiederum mit der minimalen
Zustandszahl eines Automaten für L übereinstimmt.
Beispiel 7.6 (a) Betrachte die Sprache
Ln = {wwR | w ∈ {0, 1}n }
für festes n ∈ N. Die minimale Zustandsanzahl eines deterministischen endlichen Automaten für L ist 2n , denn die 2n Zeilen von MLn (zu den Eingaben in {0, 1}n ) sind alle
verschieden.
Die Nerode-Relation ≡L einer Sprache L über Σ ist definiert durch: u ≡L v (für u, v ∈ Σ∗ ) genau
dann, wenn uw ∈ L ⇐⇒ vw ∈ L für alle w ∈ Σ∗ .
1
177
7.4. ANWENDUNGEN
(b) Die Sprache
Lk = {0, 1}∗ 1{0, 1}k
erfordert endliche Automaten mit mindestens 2k Zuständen, denn die Zeilen zu den Eingaben in {0, 1}k sind alle verschieden.
Wir betrachten nichtdeterministische endliche Automaten und nichtdeterministische Kommunikation. Wir verlieren jetzt die exakte Übereinstimmung zwischen minimaler Zustandszahl und Anzahl verschiedener Nachricht, aber die Anzahl verschiedener Nachrichten ist
stets eine untere Schranke für die minimale Zustandszahl.
Satz 7.12 Für die Sprache L ⊆ Σ∗ sei Nachrichten∗ (L) die minimale Nachrichtenzahl
eines nichtdeterministischen Protokolls, das L akzeptiert. Dann hat jeder nichtdeterministische endliche Automat, der L akzeptiert, mindestens Nachrichten∗ (L) Zustände.
Beweis: Sei N ein nichtdeterministischer endlicher Automat mit n Zuständen, der L akzeptiert. Wir simulieren N mit einem nichtdeterministischen Kommunikationsprotokoll.
Für die Eingaben u ∈ Σ∗ (für Alice) und v ∈ Σ∗ (für Bob) simuliert Alice den Automaten
N auf u und sendet die Nummer des erreichten Zustands an Bob, der die Simulation mit
seiner Eingabe v fortsetzt. Offensichtlich besitzt dieses Protokoll höchstens n verschiedene
Nachrichten.
Beispiel 7.7 Die Sprache Ln = { wwR | w ∈ {0, 1}n } erfordert NFA’s mit mindestens 2n
Zuständen, denn Bob kann nur solche Nachrichten von Alice akzeptieren. die für höchstens
ein Wort aus Σn verschickt werden.
Aufgabe 78
Betrachte die Sprache
Ln = { 1k | k 6= n}.
√
Zeige, dass Nachrichten∗ (L) = O(log22 n) gilt. NFAs benötigen aber mindestens Ω n) Zustände.
Aufgabe 79
Ein Entscheidungsgraph (decision diagram) über einer Menge X = {1, . . . , n} ist ein gerichteter azyklischer Graph mit einer Quelle, bei dem alle Senken entweder mit 0 oder mit
1 markiert sind und bei dem alle internen Knoten v mit einer Position i(v) ∈ X markiert
sind. Dabei hat jeder interne Knoten v genau zwei Nachfolger, welche mit high(v) und
low(v) bezeichnet werden.
Ein Entscheidungsgraph heißt geordnet, wenn auf jedem Pfad von der Quelle zu einer Senke
die Variablen i nur gemäß einer Ordnung Π auf X vorkommen und dabei jede Variable
höchstens einmal vorkommt (pro Pfad).
Ein OBDD (ordered binary decision diagram) ist ein geordneter Entscheidungsgraph. Ein
OBDD wird von einem Wort x durchlaufen, indem an der Wurzel v beginnend immer zu
low(v) gegangen wird, falls xi(v) = 0, und sonst zu high(v). Die Sprache eines OBDD ist
die Menge der Worte, welche beim Durchlauf zu einer 1-Senke führen.
178
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
SIZE(f, Π) bezeichne die Größe des kleinsten OBDD’s für f mit Variablenordnung Π und
SIZE(f ) sei die Größe des kleinsten OBDDs von f über alle Ordnungen.
A→B
Zeige: SIZE(f ) = Ω(2D
(f )).
Aufgabe 80
In dieser Aufgabe betrachten wir nichtdeterministische Einband-Turingmaschinen (NTM’s).
Unser Ziel ist der Beweis von unteren Schranken für die Zeit, die notwendig ist, um eine
vorgegebene Sprache L ⊆ {0, 1}∗ zu erkennen. Sei M eine NTM. Dann besitzt M einen
Lese-/Schreibkopf, der anfangs Position 1 des zweiseitig unbeschränkten Bandes liest. Die
Eingabe befindet sich auf den Positionen 1, . . . , n. Die restlichen Positionen sind mit dem
Blanksymbol beschriftet.
In einem Schritt wählt M einen aus möglicherweise mehreren anwendbaren Rechenschritten aus. Damit führt M (für eine Eingabe) möglicherweise viele Berechnungen aus. Eine
Berechnung akzeptiert genau dann, wenn sie in einem akzeptierenden Zustand stoppt. M
akzeptiert eine Eingabe w genau dann, wenn es mindestens eine akzeptierende Berechnung
für Eingabe w gibt.
Die Rechenzeit für eine Eingabe w ist, falls w ∈ L, gleich der Anzahl der Rechenschritte
auf einem kürzesten akzeptierenden Rechenweg. Die worst-case Rechenzeit tM (n) ist das
Maximum der Rechenzeiten für alle Eingaben w ∈ L der Länge n. Wir sagen, daß die
Sprache L die nichtdeterministische Komplexität höchstens t(n) besitzt, falls tM (n) ≤ t(n)
für eine NTM M , die L akzeptiert.
Für eine Sprache L ⊆ {0, 1}∗ sei
Ln = {w ∈ L | |w| = n} und L0n = {w ∈ Ln | wd n4 e+i = 0 für i = 1, . . . , d n2 e}.
Bei den Worten von L0n befindet sich eine “Wüste” zwischen den relevanten Teilworten.
Intuitiv ist klar, daß eine (Einband!) NTM häufig die Wüste duchqueren muss, um die
Sprache zu entscheiden.
(a) Zeige: Wenn die Sprache L die nichtdeterministische Komplexität t(n) besitzt, dann
gilt
t(n) = Ω(n · N (fn )),
wobei fn : {0, 1}n → {0, 1} definiert ist durch fn (w) = 1 ⇐⇒ w ∈ L0n . Alice erhält
die erste und Bob die zweite Hälfte der Eingabe.
Hinweis: Für jede mögliche Berechnung bei Eingabe w und jede Position j des Bandes (mit j ∈ {d n4 e + i | i = 1, . . . , d n2 e}), bilden wir Crossingsequenzen wie folgt:
Jedesmal, wenn der Kopf sich über Position j befindet, wird der aktuelle Zustand
von M zur Crossingsequenz hinzugefügt. Versuche, eine NTM M durch ein Kommunikationsmodell zu simulieren. Benutze dabei den Begriff der Crossingsequenz.
(b) Zeige: Es gilt t(n) = Ω(n2 ), falls L = {xxR | x ∈ {0, 1}∗ } ist. (Für x = x1 · · · xn ist
xR = xn · · · x1 .)
179
7.4. ANWENDUNGEN
7.4.2
Streaming Data∗
Das Streaming-Data Modell beschreibt ein On-line Szenario: Daten strömen fortlaufend
ein und Berechnungen sind in Echtzeit, in einem einzigen Datendurchlauf zu erbringen.
Beispiele sind die fortlaufende Protokollierung von Telefonanrufen durch weltweit agierende
Telefonunternehmen und die damit verbundenen Reaktionen auf überlastete Leitungen
oder die Datenanalyse in der Abwehr einer Denial-of-Service Attacke.
Wir stellen uns die Frage, welche algorithmischen Probleme trotz dieser hohen Anforderungen noch bewältigt werden können. Dazu nehmen wir an, dass wir n Daten (x1 , . . . , xn ) aus
einem Universum U = {1, . . . , m} der Größe erhalten. Zur Orientierung sollte man n im
Terabyte-Bereich und m im Bereich von mehreren Megabyte bis hin zum Gigabyte-Bereich
erwarten: Gewaltige Datenmengen sind schnellstmöglich zu bewältigen, wobei im Regelfall
nur ein Datendurchlauf zur Verfügung steht.
Wir konzentrieren uns auf die statistische Analyse eines Datenstroms und zwar insbesondere auf die Häufigkeitsanalyse: Das kte Häufigkeitsmoment
Hk =
X
aku
u∈U
ist zu bestimmen, wobei au = | {i | xi = u} | die Häufigkeit des Schlüssels
u ist. Beachte,
(
1 x 6= 0
dass H0 die Anzahl der verschiedenen Schlüssel ist, denn es ist x0 =
Weiterhin
0 sonst.
ist offensichtlich H1 = n. Das
zweite Häufigkeitsmoment H2 misst die Uniformität der
2
2
n
Datenmenge: Es ist m · m = nm ≤ H2 ≤ n2 und kleine Werte von H2 deuten auf
eine gleichmäßige Verteilung auf die einzelnen Schlüsselwerte hin. Wir sind ebenfalls an
H∞ := max{au | u ∈ U }, der größten Häufigkeit eines Schlüssels interessiert.
Wenn eine Funktion f : {0, 1}∗ → R im Streaming-Data Modell zu berechnen ist, dann
definieren wir fn als die Einschränkung von f auf Eingaben der Länge n. In einem simulierenden Kommunikationsprotokoll erhält Alice den Präfix der Länge n2 und Bob den Suffix
der Länge n2 . Alice wird sodann eine Nachricht an Bob schicken und Bob wird die Ausgabe
bestimmen; die Berechnung erfolgt also über ein einseitiges A → B Protokoll.
Unser Ziel ist die Bestimmung der Speicherplatzkomplexität von approximativen deterministischen und randomisierten Streaming Data Algorithmen.
Definition 7.12 Für Eingabemengen X und Y ist die Funktion f : X × Y → R mit
relativem Fehler höchstens δ zu berechnen. Alice erhält eine Eingabe x ∈ X und Bob eine
Eingabe y ∈ Y . Wir betrachten nur einseitige A → B Protokolle.
(a) Ein deterministisches Protokoll heißt genau dann δ-approximativ, wenn Bob für jedes
Eingabepaar (x, y) ein Ergebnis a(x, y) mit (1 − δ) · f (x, y) ≤ a(x, y) ≤ (1 + δ) · f (x, y)
berechnet.
(b) Ein probabilistisches Protokoll heißt genau dann δ-approximativ mit Fehler ε, wenn
Bob für jedes Eingabepaar (x, y) mit Wahrscheinlichkeit mindestens 1−ε ein Ergebnis
a(x, y) mit (1 − δ) · f (x, y) ≤ a(x, y) ≤ (1 + δ) · f (x, y) berechnet.
180
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
(c) Wir definieren die deterministische Kommunikationskomplexität einer einseitigen δapproximativen Berechnung von f durch
Dδ (f ) = die Länge der längsten Nachricht eines besten
δ-approximativen deterministischen Protokolls für f .
(d) Wir definieren die probabilistische Kommunikationskomplexität einer einseitigen δapproximativen Berechnung von f durch
Pεδ (f ) = die Länge der längsten Nachricht eines besten δ-approximativen
probabilistischen Protokolls, das f mit Fehlerwahrscheinlichkeit ε berechnet.
Aufgabe 81
Zeige, dass Dδ (EQn ) = n gilt, falls δ < 21 .
Probabilistische Protokolle sind sehr viel effizienter, denn es gilt P1/3 (EQn ) = O(log2 n).
Wir werden sehen, dass die einseitige Kommunikationskomplexität im Allgemeinen gute
untere Schranken für die Speicherplatzkomplexität im Streaming-Data Modell ergibt.
Lemma 7.10 Die Funktion fn sei im Streaming-Data Modell zu berechnen.
(a) Jeder deterministische Algorithmus, der f δ-approximativ mit b Befehlen berechnet,
benötigt mindestens die Speicherkomplexität Dδ (fn ) − O(dlog2 be).
(b) Jeder randomisierte Algorithmus, der f δ-approximativ mit Fehler ε und b Befehlen
berechnet, benötigt mindestens die Speicherkomplexität Pεδ (fn ) − O(dlog2 be).
Beweis: Da die Beweise für (a) und (b) fast identisch sind, zeigen wir nur Teil (b). Sei
A ein randomisierter Algorithmus, der f im Streaming-Data Modell δ-approximativ mit
Fehler ε berechnet. A möge die Speicherkomplexität höchstens s(n) für Eingaben der Länge n besitzen. Es genügt, wenn wir ein probabilistisches Protokoll für fn entwerfen, das
Nachrichten der Länge höchstens s(n) + O(1) verschickt.
Das Protokoll simuliert Algorithmus A auf Eingabefolgen der Länge n, wobei wir annehmen, dass Alice die ersten n/2 Bits und Bob die letzten n/2 Bits erhält. Alice bearbeitet
ihre Eingabe mit Algorithmus A und verschickt dann die entstehende Konfiguration (Speicherinhalt und nächster auszuführender Befehl) an Bob. Bob kann damit die Berechnung
von A problemlos fortsetzen. Da der Algorithmus die Funktion δ-approximativ mit Fehler
höchstens ε berechnet, hat das simulierende Protokoll dieselbe Eigenschaft. Wenn Algorithmus A also b Befehle besitzt, dann folgt s(n) + O(dlog2 be) ≥ Pεδ (fn ) und die Behauptung
ist gezeigt.
Aufgabe 82
Warum können wir in Satz 7.10 nicht s(n) + dlog2 be ≥ Pεδ (fn ) folgern?
Das Disjunktheitsproblem spielt eine entscheidende Rolle. Den Beweis des folgenden Fakts
verschieben wir auf das nächste Kapitel.
181
7.4. ANWENDUNGEN
Fakt 7.1 Im Disjunktheitsproblem DISJm der Größe m erhalten Alice und Bob Inzidenzvektoren der Teilmengen x, y ⊆ {1, . . . , m} und es ist
(
DISJm (x, y) =
1 x∩y =∅
0 sonst
definiert. Dann gilt Pεδ (DISJm ) = Ω(m) für jedes ε < 21 und jedes δ < 12 .
(Diese Aussage gilt sogar für mehrseitige Protokolle.)
Leider erhalten wir als eine erste Konsequenz eine hohe Speicherkomplexität für H∞ , der
größten Häufigkeit eines Schlüssels.
Satz 7.13 Seien ε, δ < 12 beliebig. Sei weiterhin A ein randomiserter Algorithmus, der H∞
δ-approximativ mit Fehler höchstens ε im Streaming-Data Modell berechnet. Dann benötigt
A Speicherkomplexität mindestens Ω(m), wobei m die Anzahl verschiedener Schlüssel ist.
Beweis: Sei A ein randomisierter Algorithmus für H∞ . Wir zeigen, dass A zur Lösung des
Disjunktheitsproblems benutzt werden kann. Wir weisen dazu Alice und Bob Inzidenzvektoren der Teilmengen x, y ⊆ {1, . . . , m} zu und beobachten, dass offensichtlich
(
DISJm (x, y) =
1 H∞ = 1,
0 H∞ = 2
gilt. Also ist eine Lösung von H∞ auch eine Lösung des Disjunktheitsproblems. Nach Fakt
7.1 ist aber Pεδ (DISJm ) = Ω(m) und die Behauptung folgt mit Lemma 7.10.
Damit nützt weder der Einsatz von randomisierten Algorithmen noch stellt eine approximative Berechnung eine wesentliche Erleichterung dar, denn die Wahl des trivialen deterministischen Algorithmus ist sogar fast optimal: Speichere alle Häufigkeiten in einem Array
mit m Zellen. Wenn (a1 , . . . , am ) der Häufigkeitsvektor ist, dann genügt ein Speicher von
Pm
u=1 log2 (au ) Bits.
Für k 6= 1 ist die exakte Berechnung von Hk ähnlich komplex.
Satz 7.14 Sei ε < 21 beliebig und sei A ein randomisierter Algorithmus, der Hk (für k 6= 1)
exakt mit Fehler höchstens ε im Streaming-Data Modell berechnet.
Dann benötigt A für m verschiedene Schlüssel mindestens die Speicherkomplexität Ω(m).
Beweis: Wir übernehmen das Argument aus Satz 7.13 und setzen m∗ = |x| + |y|. Diesmal
ist zu beachten, dass
(
1 H0 = m∗
DISJm (x, y) =
0 H0 < m∗ ,
beziehungsweise für k > 1
(
DISJm (x, y) =
1 Hk = m∗
0 Hk > m∗
182
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
und der Rest des Arguments folgt analog.
Wir haben also nur dann eine Chance speicher-effizient zu arbeiten, wenn wir approximative
Berechnungen zulassen und glücklicherweise gelingt dies auch. Für den Entwurf speichereffzienter approximativer Algorithmen verweisen wir auf das Skript „Internet Algorithmen“.
Aufgabe 83
Häufig sollen Datenströme auf Unregelmäßigkeiten hin überwacht werden. Eine einfaches
Kriterium in diesem Kontext ist die Frage, ob sich die relative Häufigkeit eines Elementes
in einem Datenstrom stark verändert.
Bei der Kommunikationsversion des Problems erhält Alice einen Vektor X = (x1 , . . . , xs )
und Bob einen Vektor Y = (y1 , . . . , yr ), wobei die xi und die yi aus derselben Schlüsselmenge S kommen. Als Änderungsgrad G eines Schlüssels a ∈ S definieren wir




1
G(a) =  ∞ n
o

 max r·|{i|xi =a}| , s·|{i|yi =a}|
s·|{i|yi =a}| r·|{i|xi =a}|
falls a weder in X noch in Y vorkommt,
falls a entweder in X oder in Y vorkommt,
sonst.
Im Variationsproblem für α soll entschieden werden, ob alle Schlüssel einen Änderungsgrad
von höchstens α besitzen. Wir wollen zeigen, dass das Variationsproblem für jedes feste
α > 1 eine Kommunikationskomplexität von Ω(s) besitzt.
(a) Beim Gleichheitsproblem erhalten die Spieler jeweils einen Vektor X = (x1 , . . . , xs )
bzw. Y = (y1 , . . . , yr ) mit xi , yi ∈ {0, 1}. Es soll entschieden werden, ob X = Y gilt
(also r = s und xi = yi ). Reduziere das Gleichheitsproblem auf das Variationsproblem, um die beabsichtigte Platzschranke zu zeigen.
(b) Reduziere das Disjunktheitsproblem auf das Variationsproblem, um die beabsichtigte
Platzschranke zu zeigen.
(c) Warum stellt Teil b) die stärkere Aussage dar?
7.4.3
Fläche und Zeit für VLSI-Chips∗
Zuerst geben wir eine kurze Beschreibung des Layout-Modells für VLSI. Ein VLSI-Chip
besteht aus Bausteinen und Drähten, wobei die Drähte die Bausteine untereinander verbinden. Es gibt zwei Typen von Bausteinen: Ein- und Ausgabeports und Bausteine für
Berechnungen (wie UND-, ODER-, NAND- und NOR-Bausteine). Bausteine und Drähte
sind auf der Ebene ausgelegt, wobei wir vereinfacht annehmen, daß
- Bausteine ganzzahlige Koordinaten besitzen,
- Drähte parallel zur x-Achse oder parallel zur y-Achse verlaufen.
183
7.4. ANWENDUNGEN
Drähte dürfen sich überkreuzen, dürfen aber nicht über einen Baustein gelegt werden und
dürfen keinen gemeinsamen Weg durchlaufen. Betrachten wir das Layout auf dem Gitter
Z2 , so entsprechen bestimmte ausgezeichnete Gitterpunkte den Bausteinen und die Verbindungen zwischen den ausgezeichneten Gitterpunkten den Drähten.
Layout eines VLSI-Chips.
Die Eingabekonvention ist where-oblivious (ein Eingabebit wird stets an einem vorher festgelegten Eingabeport erscheinen) und when-oblivious (der Zeitpunkt, zu dem ein Eingabebit erscheint, wird vor der Berechnung festgelegt). Die Ausgabekonvention ist ebenso
where- und when-oblivious.
Wir nehmen weiter an, dass das Chip synchron rechnet, d.h. alle Bausteine folgen dem Takt
einer globalen Uhr. In einem Zeittakt kann über jeden Draht höchstens ein Bit gesendet
werden.
Wir sind besonders an den Komplexitätsmaßen Fläche und Zeit interessiert, wobei die Fläche des Gebiets in der Ebene gemessen wird, das von Bausteinen und Drähten beansprucht
wird. Die Fläche eines Chips bestimmt die Produktionskosten.
Wir „zerteilen“ einen VLSI-Chip „geeignet“, um ihn später durch ein Kommunikationsmodell simulieren zu können.
Chip
C1
Drähte
C2
Zerlegung eines VLSI-Chips.
Dabei werden die beiden Teile C1 und C2 so konstruiert, daß beide höchstens 23 aller
Eingabeports haben. Zusätzlich soll die „Schnittstelle“ möglichst kurz sein, so daß die
Anzahl der durchtrennten Drähte klein bleibt und damit die Anzahl der ausgetauschten
Bits im Kommunikationsmodell gering ist. Alice wird Chip C1 und Bob Chip C2 simulieren.
Lemma 7.11 Sei ein VLSI-Chip C gegeben, wobei C ein kompaktes2 Gebiet in der Ebene
beansprucht. Weiter seien n Punkte p1 , . . . , pn in C ausgezeichnet. Dann kann C durch drei
„Schnitte“ in Gebiete C1 und C2 zerlegt werden, so daß:
(a) C1 und C2 jeweils höchstens
2
2
3
· n Punkte aus {p1 , . . . , pn } besitzen und
Eine kompakte Menge ist abgeschlossen und beschränkt.
184
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
q
(b) die Gesamtlänge aller Schnitte (geschnitten mit C) höchstens 3 · ( Fläche(C) + 1)
beträgt.
Beweis: Wir betrachten zuerst horizontale Schnitte, wobei ein horizontaler Schnitt ein
Kurvenzug der Form
H(α, β) = {(x, β) | x ≤ α} ∪ {(α, y) | β ≤ y ≤ β + 1} ∪ {(x, β + 1) | x ≥ α}
oder eine Gerade der Form
H(β) = {(x, β) | − ∞ < x < ∞}
ist. Wir betrachten nur horizontale Schnitte H(α, β) bzw. H(β), für die α, β ∈ Z + 21 gilt.
Damit wird kein horizontaler Schnitt einen Baustein treffen und Drähte werden nur in
einem Punkt gekreuzt. Zuerst führen wir einen horizontalen Schnitt H(α, β) durch, so daß
sich genau d n2 e aller ausgezeichneten Punkte oberhalb und die restlichen b n2 c ausgezeichneten Punkte unterhalb des Schnitts befinden; α = −∞ wird zugelassen.
H(β + b1 )
H(α, β)
H(β − b2 )
Coben
Cmitte
Cunten
Horizontale Zerlegung.
Wir sind bereits fertig, wenn H(α, β) ∩ C „kurz genug“ ist. Sonst führen wir mit zwei
horizontalen Geraden H(β + b1 ) und H(β − b2 ) Schnitte durch, wobei wir b1 wie auch
b2 sukzessive solange vergrößern, bis
q zum ersten Mal sowohl H(β + b1 ) ∩ C wie auch
H(β − b2 ) ∩ C höchstens die Länge Fläche(C) besitzen. Beachte, dass wir
1 ≤ b1 + b2 ≤
q
Fläche(C) + 1
erhalten, da ansonsten das Produkt aus Länge und Abstand größer als die Fläche des Chips
ist. Hierbei darf der Schnitt des Chips mit der Geraden leer sein. Wir haben C durch die
beiden horizontalen Schnitte H(β + b1 ) und H(β − b2 ) in drei Gebiete zerlegt:
- Coben , das Gebiet von C oberhalb von H(β + b1 ),
- Cmitte , das Gebiet von C zwischen den Schnitten H(β + b1 ) und H(β − b2 ), sowie
- Cunten , das Gebiet von C unterhalb des Schnittes H(β − b2 ).
185
7.4. ANWENDUNGEN
Coben und Cunten besitzen jeweils höchstens d n2 e Punkte aus {p1 , . . . , pn }.
Punkte aus {p1 , . . . , pn }. Wähle für C1 das Gebiet aus
Fall 1: Cmitte besitzt höchstens 2n
3
Cunten , Coben und Cmitte , das die meisten Punkte aus {p1 , . . . , pn } besitzt, und definiere C2
als die Vereinigung der beiden restlichen Gebiete. Da Coben und Cunten höchstens d n2 e ≤ 2n
3
ausgezeichnete Punkte besitzen, liegen maximal 2n
Punkte
in
C
.
Andererseits
gibt
es
ein
1
3
Gebiet, in dem mindestens n3 Punkte liegen (sonst wäre die Summe über alle Gebiete kleiner
als n), d.h. in C2 befinden sich höchstens n − n3 = 2n
ausgezeichnete Punkte. Es werden
3
q
höchstens 2 Fläche(C) + 1 Drähte durchtrennt.
Fall 2: Cmitte besitzt mehr als 2n
Punkte aus {p1 , . . . , pn }. Dann zerschneiden wir Cmitte
3
durch einen vertikalen Schnitt V (α, β)3 , so daß die Punktmenge {p1 , . . . , pn } ∩ Cmitte zweigeteilt wird. Sei m := |{p1 , . . . , pn } ∩ Cmitte .
V (α, β)
H(β + b1 )
Coben
Cmitte
H(β − b2 )
Cunten
Wir wissen also, daß d m2 e der ausgezeichneten Punkte aus Cmitte links von V (α, β) und die
restlichen b m2 c ausgezeichneten Punkte aus Cmitte rechts von V (α, β) liegen. Beachte, daß
der vertikale Schnitt geschnitten mit C eine Länge von höchstens
q
Fläche(C) + 1
q
besitzt, da der Abstand zwischen H(β + b1 ) und H(β − b2 ) maximal Fläche(C) beträgt.
Wähle als C1 diejenige Hälfte von Cmitte mit den meisten Punkten aus {p1 , . . . , pn }. C2 ist
die Vereinigung der restlichen Gebiete. Beachte, daß die Schnitte mit C eine Gesamtlänge
von höchstens
2·
|
q
Fläche(C) + 1
{z
}
H(β + b1 ) ∩ C und H(β − b2 ) ∩ C
+
q
|
Fläche(C) + 1 ≤ 3 ·
{z
V (α,β)∩C
q
Fläche(C) + 1
}
besitzen.
Eine Simulation des Chips wird die ausgezeichneten Punkte als Eingabeports wählen und
die entsprechenden Eingabebits in C1 und C2 entweder Alice oder Bob zuweisen. Wir haben
jetzt allerdings keine Kontrolle mehr über die Eingabezerlegung und müssen Kommunikationsprobleme zu einer freien Eingabezerlegung betrachten.
3
V (α, β) und V (α) = V (α, ∞) sind analog zu H(α, β) und H(β) definiert.
186
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
Definition 7.13 Sei f : {0, 1}n → {0, 1}m gegeben. Wir sagen, dass eine Zerlegung Z mit
{1, . . . , n} = Z1 ∪ Z2 ausgewogen ist, wenn sowohl Z1 wie auch Z3 höchstens 2n
Elemen3
te besitzen. DZ (f ) ist die Kommunikationskomplexität eines besten Protokolls für f mit
Eingabezerlegung Z.
Die Kommunikationskomplexität Dfrei (f ) von f bei freier Eingabezerlegung ist die minimale
Kommunikationskomplexität DZ (f ) eines Protokolls für f mit ausgewogener Eingabezerlegung Z.
Eine Simulation des Chips liefert jetzt eine untere Schranke für das Fläche · Zeit2 Produkt
von VLSI-Chips.
Satz 7.15 Sei f : {0, 1}n → {0, 1}m gegeben. Wenn C ein VLSI-Chip ist, das f mit Fläche
A in Zeit T berechnet, dann gilt
A · T 2 = Ω(Dfrei (f )2 ).
Beweis: Sei C ein Chip, das f berechnet. Gemäß Lemma 7.11 zerschneiden wir C und
führen eine Simulation von C durch ein Kommunikationsmodell durch, wobei die ausgezeichneten Punkte p1 , . . . , pn den Eingabeports entsprechen:
- Alice erhält alle Eingaben in C1 , Bob erhält alle Eingaben in C2 . Weiterhin ist Alice
für alle Ausgaben von C1 und Bob für alle Ausgaben von C2 zuständig.
- Das Protokoll simuliert den Informationsaustausch des Chips zwischen C1 und C2 .
√
A + 1) Bits zwischen C1 und C2
In einem Zeittakt des Chips C werden höchstens 3( √
ausgetauscht. Damit kann C in T Schritten maximal 3T A + 3T Bits zwischen den Teilen
C1 und C2 austauschen. Es folgt:
√
√
6T A ≥ 3T A + 3T ≥ Dfrei (f ).
Durch Quadrieren erhalten wir: 36T 2 · A ≥ Cfrei (f )2 . Diese Forderung ist äquivalent zu
A · T2 ≥
und wir erhalten A · T 2 = Ω(Dfrei (f )2 ).
1
· Dfrei (f )2
36
Aufgabe 84
Wir wollen die Beziehung zwischen Fläche/Zeit und Kommunikationskomplexität im dreidimensionalen Gitter untersuchen. Sei ein VLSI-Chip als Quader ausgelegt, wobei die Seiten die Längen a, b und c haben. Somit gilt V = abc für das Volumen des Chips. Zeige:
V 2 T 3 = Ω(D(f )3 ).
Aufgabe 85
Wir wollen eine Beziehung zwischen der Fläche und der einseitigen Kommunikationskomplexität herstellen. Wir nehmen wie üblich an, dass das Chip when-and-where-oblivious ist
7.4. ANWENDUNGEN
187
und erlauben damit, dass ein Eingabeport mehrere Eingabebits bekommen kann, allerdings
alle zu verschiedenen Zeitpunkten.
Sei ein VLSI-Chip mit Fläche F für eine Funktion f : X × Y → {0, 1} gegeben. Zeige:
F = Ω(C A→B (f )).
7.4.3.1
Kommunikation bei freier Zerlegung
Wir wollen untere Schranken bezüglich fester Zerlegungen für untere Schranken bezüglich
freier Zerlegungen nutzen.
Lemma 7.12 Sei f : {0, 1}n → {0, 1}m gegeben. Zu der Eingabezerlegung Z möge Bob die
Ausgabe fB berechnen. Wenn es eine Eingabe yB für Bob mit
|{ fB (x, yB ) | x ist Eingabe für Alice }| > 2w−1
gibt, dann ist CZ (f ) ≥ w.
Beweis: Das Protokoll P führe für zwei verschiedene Eingaben (x1 , yB ) und (x2 , yB ) mit
fB (x1 , yB ) 6= fB (x2 , yB ), die gleiche Berechnung durch. Dann wird Bob für (x1 , yB ) und
(x2 , yB ) dieselbe Ausgabe bestimmen, da er als Information nur yB und die gemeinsame
Berechnung hat.
Also muss ein korrektes Protokoll für jeden Wert von fB (x, yB ) eine eigene Berechnung
durchführen. Da wir mindestens 2w−1 + 1 Ausgaben haben, benötigt jedes Protokoll mehr
als 2w−1 Berechnungen. Diese Anzahl an Berechnungen wird nur erreicht, wenn mindestens
w Bits ausgetauscht werden.
Um Lemma 7.12 anwenden zu können, benötigen wir den Begriff von transitiven Permutationsgruppen. Wir wiederholen zunächst den Begriff einer Gruppe: Eine Gruppe ist ein
Tripel G = (D, ◦, e) mit den folgenden Eigenschaften:
- D ist eine nicht-leere Menge.
- Die Verknüpfung ◦ : D × D → D ist assoziativ.
- Das Einheitselement e ∈ D erfüllt x ◦ e = e ◦ x = x für alle x ∈ D.
- Für jedes x ∈ D gibt es ein Inverses x−1 ∈ D mit x ◦ x−1 = x−1 ◦ x = e.
Definition 7.14 Sei A eine Menge von n Elementen. Dann heißt
Sn (A) := ({π | π ist eine Permutation von A }, ◦, e)
die vollständige Permutationsgruppe. Hierbei ist die Verknüpfung ◦ die Hintereinanderschaltung von Funktionen, d.h. (π1 ◦ π2 )(a) = π1 (π2 (a)) für a ∈ A. Das Einheitselement
e ist die Permutation e mit e(a) = a für alle a ∈ A. Wenn A = {0, . . . , n − 1}, dann
schreiben wir Sn statt Sn (A).
G heißt n-Permutationsgruppe, wenn G eine Untergruppe von Sn ist.
188
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
Definition 7.15 Sei G eine n-Permutationsgruppe. Dann heißt G genau dann transitiv
von der Ordnung n, wenn es für alle i, j mit 0 ≤ i, j ≤ n − 1 ein πg ∈ G gibt mit πg (i) = j.
Wir behandeln zuerst die zentrale Eigenschaft transitiver Gruppen.
Lemma 7.13 Sei G transitiv von der Ordnung n. Für alle i, j mit 0 ≤ i, j ≤ n − 1 gilt
|{πg | πg (i) = j}| =
|G|
.
n
Beweis: Setze Gi,j = {πg | πg (i) = j} für 0 ≤ i, j ≤ n − 1. Dann ist G die disjunkte
Vereinigung von Gi,0 , . . . , Gi,n−1 . Es genügt daher zu zeigen, daß |Gi,0 | = · · · = |Gi,n−1 |.
Angenommen, es ist |Gi,r | > |Gi,s |. Da G transitiv ist, gibt es πg ∈ G mit πg (r) = s und
für alle π ∈ Gi,r folgt πg ◦ π(i) = πg (r) = s. Wir erhalten einen Widerspruch, denn
{πg ◦ π | π ∈ Gi,r } ⊆ Gi,s
und deshalb folgt |Gi,r | = |{πg ◦ π | π ∈ Gi,r }| ≤ |Gi,s |.
Der Begriff einer transitiven Gruppe erlaubt es, formal auszudrücken, daß „eine Funktion
ihre Eingaben auf eine komplexe Art und Weise verschiebt“.
Definition 7.16 Die Funktion f : {0, 1}n+k → {0, 1}n sei gegeben und sei G eine n-Permutationsgruppe. Die Funktion f berechnet genau dann die Gruppe G, wenn es für jedes
π ∈ G Bits b1 , . . . , bk ∈ {0, 1} gibt, so daß für alle x0 , . . . , xn−1 ∈ {0, 1}
f (x0 , . . . , xn−1 , b1 , . . . , bk )) = (xπ(0) , xπ(2) , . . . , xπ(n−1) )
gilt. Die Funktion g : {0, 1}n+k → {0, 1}m heißt genau dann transitiv von der Ordnung n,
wenn es 1 ≤ i1 < · · · < in ≤ m und eine transitive Gruppe G der Ordnung n gibt, so daß
(gi1 , gi2 , . . . , gin ) die Gruppe G berechnet.
Wir nennen im folgenden die Bits b1 , . . . , bk Programmierbits, da sie die Permutation π
bestimmen. Die Bits x0 . . . , xn−1 nennen wir Permutationsbits.
Beispiel 7.8 Für Bits b1 , . . . , bk sei b = b1 · 2k−1 + · · · bk · 20 die Zahl mit Binärdarstellung
b1 · · · bk . Wir definieren dann für k ≥ dlog2 ne die zyklische Verschiebung
zn+k (x0 , . . . , xn−1 , b1 , . . . , bk ) = (xb mod n , . . . , xn−1+b mod n ).
Die zyklische Verschiebung ist transitiv von der Ordnung n. Warum? Die Funktion zn+k
berechnet die Gruppe G der zyklischen Permutationen πb mit πb (i) = i + b mod n. G ist
transitiv von der Ordnung n, denn für alle i, j ∈ {0, . . . , n−1} gibt es l mit i+l mod n = j.
Beispiel 7.9 Wir betrachten das Sortierproblem SORTn,k (x1 , . . . , xn ), in dem die n kBit-Zahlen x1 , . . . , xn aufsteigend zu sortieren sind. Insbesondere werden natürlich die n
niedrigstwertigsten Bits der n Eingaben permutiert.
Wir fassen alle Bits, bis auf die niedrigstwertigen Bits, als Programmierbits auf. Für k ≥
1+dlog2 ne berechnet SORTn,k dann sogar alle Permutationen in Sn und ist damit natürlich
transitiv von der Ordnung n.
189
7.4. ANWENDUNGEN
Aufgabe 86
Zeige, dass die Multiplikation MULTn zweier n-Bit-Zahlen transitiv von der Ordnung b n2 c
ist.
Beispiel 7.10 Die Funktion MATRIXn (A, B, C) berechnet das Produkt der n × n Matrizen A, B und C. Wir nehmen dabei an, daß jede Matrix nur {0, 1}-Einträge besitzt. Wenn
wir A und C als Permutationsmatrizen wählen, dann berechnet MATRIXn die Permutationsgruppe G mit
G = {(πz , πs ) | (πz , πs )(i, j) = (πz (i), πs (j)) für πz , πs ∈ Sn }
Beachte, dass G transitiv von der Ordnung n2 ist.
Transitive Funktionen hoher Ordnung haben ein großes Produkt von Fläche und dem
Quadrat der Zeit.
Satz 7.16 Sei die Funktion f : {0, 1}n+k → {0, 1}m transitiv von der Ordnung n und C
ein Chip, das f mit Fläche(C) in Zeit(C) vielen Schritten berechnet. Dann gilt
Cfrei (f ) = Ω(n) und Fläche(C) · Zeit(C)2 = Ω(n2 ).
Beweis. Wir wissen, daß f nach Auswahl von n Ausgabebits jede Permutation einer transitiven Gruppe G durch Setzen der Programmierbits b1 , . . . , bk berechnet. Die entsprechenden
Permutationsbits seien x = x0 , . . . , xn−1 .
Wir wenden Lemma 7.11 auf das Chip C an und wählen die Eingabeports zu den x-Bits
als ausgezeichnete Punkte.
Wir erhalten eine Zerlegung von C in Teilchips C1 und C2 ,
q
so dass höchstens O( Fläche(C)) Drähte zerschnitten werden und so dass jedes Teilchip
x-Bits besitzt. Die entsprechende Eingabezerlegung Z ist also auf den x-Bits
höchstens 2n
3
ausgewogen. Das Argument in Satz 7.15 hat gezeigt, dass Fläche(C) · Zeit2 ≥ Ω(CZ (f )2 )
gilt und wir müssen deshalb CZ (f ) = Ω(n) nachweisen.
O.B.d.A sei Bob für mindestens d n2 e Ausgabebits verantwortlich. Die Menge OUT (mit
OUT| ≥ d n2 e) sei die Menge der Ausgabebits von Bob und die Menge IN sei die Menge der
x-Bits von Alice. Da die Eingabezerlegung auf den x-Bits ausgewogen ist, folgt |IN| ≥ n3
und wir erhalten
1
|IN| · |OUT| ≥ · n2 .
6
Wieviele Eingabebits von Alice werden zu den Ausgabebits von Bob permutiert, wenn wir
eine Permutation π ∈ G durch Setzen der Programmierbits berechnen? Wir definieren
match(π) := | {i ∈ IN | π(i) ∈ OUT } |
und erhalten
X
π∈G
match(π) =
X
X
X
i∈IN j∈OUT π∈G,π(i)=j
1=
X
X
i∈IN j∈OUT
|G|
n
190
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
mit Lemma 7.13. In der letzten Summe wird
aufsummiert und deshalb ist
X
match(π) ≥ |IN| · |OUT| ·
π∈G
|G|
n
für jeden der |IN| · |OUT| Summanden
1
|G|
n
|G|
≥ · n2 ·
≥ · |G|.
n
6
n
6
Der durchschnittliche Wert von match(πg ) beträgt also mindestens n6 und deshalb gibt es
eine Permutation π ∈ G mit match(π) ≥ n6 .
Wir wählen Werte für die Programmierbits b1 , . . . , bk , so daß f die Permutation π berechnet,
und wählen eine beliebige Eingabe yB für Bob. Nach der Berechnung von π wird Bob die
Bitkombinationen von mindestens n6 verschiedenen Eingabebits von Alice ausgeben und
damit mindestens 2n/6 verschiedene Ausgaben produzieren. Nach Lemma 7.12 müssen also
mindestens n6 Bits ausgetauscht werden.
Korollar 7.8 A bezeichne die Fläche und T die Zeit eines Chips, das f berechnet. Dann
gilt
- AT 2 = Ω(n2 ) für die zyklische Verschiebung.
- AT 2 = Ω(n2 ) für SORTn,1+log2 n .
- AT 2 = Ω(n2 ) für MULTn .
- AT 2 = Ω(n4 ) für MATRIXn .
Beweis: Wir wissen, daß die zyklische Verschiebung, SORTn,1+log2 n und MULTn transitiv
von der Ordnung n sind. MATRIXn ist transitiv von der Ordnung n2 . Damit folgt das
Korollar direkt aus Satz 7.16.
Wie gut sind diese unteren Schranken? Zuerst betrachten wir das Sortierproblem: Für
2
2
2
das Sortieren von n Zahlen der Länge O(log2 n) können
√ Chips mit AT = O(n log2 n)
konstruiert werden, falls T im Intervall Ω(log2 n) ∩ O( n ) liegt. Die untere Schranke kann
auf Ω(n2 log22 n) verbessert werden.
Für das Multiplizieren von zwei n-Bit-Zahlen gibt es Chips mit
AT 2 = O(n2 ),
√
wobei T im Intervall Ω(log2 n) ∩ O( n ) liegen muss. Unsere unteren Schranken sind somit
asymptotisch exakt für die Multiplikation und bis auf den Faktor log22 n exakt für das
Sortieren.
7.4.4
Tiefe von Entscheidungsbäumen∗
Zuerst führen wir den Begriff eines Entscheidungsbaums ein.
Definition 7.17 Sei F ⊆ {f | f : {0, 1}n → {0, 1} } eine Menge von Entscheidungsfunktionen. Ein F-Entscheidungsbaum wird durch ein Tripel (T, h1 , h2 ) spezifiziert.
191
7.4. ANWENDUNGEN
- T ist ein geordneter binärer Baum.
- I sei die Menge der inneren Knoten von T . Die Funktion h1 : I → F weist inneren
Knoten Entscheidungsfunktionen in F zu.
- B sei die Menge der inneren Knoten von T . Die Funktion h2 : B → {0, 1} weist
jedem Blatt von T entweder den Wert 0 oder den Wert 1 zu.
Der Entscheidungsbaum (T, h1 , h2 ) rechnet wie folgt: Sei fv = h1 (v) ∈ F die dem inneren
Knoten v zugewiesene Funktion und das Blatt b sei mit dem Wert Bitb = h2 (b) ∈ {0, 1}
markiert. Eine Eingabe x ∈ {0, 1}n wird zuerst an der Wurzel w von B „angelegt“. Wenn
fw (x) = 0 ist, wird x zum linken Kind wlinks von w weitergeleitet, sonst zum rechten Kind
wrechts . Diese Prodezur wird solange wiederholt, bis ein Blatt b erreicht wird, und Bitb wird
ausgegeben.
Wir können Entscheidungsbäume somit als ein Expertensystem auffassen, das versucht,
eine Eingabe x zu klassifizieren.
Die wichtigsten Komplexitätsmaße von Entscheidungsbäumen sind Größe und Tiefe des
Baumes. Die Größe des Baumes wird als die Anzahl der Knoten definiert. Wir werden uns
im Folgenden aber nur mit der Tiefe von Entscheidungsbäumen, also mit der Länge eines
längsten Weges von der Wurzel zu einem Blatt, beschäftigen.
Jede Funktion g : {0, 1}n → {0, 1} kann offensichtlich durch einen Entscheidungsbaum
der Tiefe n berechnet werden, wenn wir die Projektionen pi (x1 , . . . , xn ) = xi als Entscheidungsfunktionen verwenden: Konstruiere einen Baum, der jedem inneren Knoten der Tiefe
i die Projektion pi zuweist und der die Blätter geeignet markiert.
Die minimale Tiefe von Entscheidungsbäumen und die Kommunikationskomplexität hängen wie folgt zusammen:
Aufgabe 87
Eine Menge von Entscheidungsfunktionen F ⊆ {f | f : {0, 1}n → {0, 1} sei gegeben. Wir
fixieren eine Eingabezerlegung, so dass jede Funktion in F ein Kommunikationsprotokoll
besitzt, das höchstens b Bits austauscht.
Zeige, dass jeder F-Entscheidungsbaum für eine Funktion g : {0, 1}n → {0, 1} mindestens
die Tiefe D(g)
besitzt.
b
Beispiel 7.11 Sei F = {π1 , . . . , πn } die Menge der Projektionen mit πi (x1 , . . . , xn ) = xi .
Da D(pi ) = 1 gilt, hat jede Funktion g einen Entscheidungsbaum der Tiefe mindestens
D(g).
Beispiel 7.12 Sei F die Klasse aller symmetrischen4 Funktionen inklusive der Projektionen. Wir fixieren eine beliebige Eingabezerlegung. Da Alice die Anzahl der Einsen ihrer
Eingabe mit höchstens dlog2 (n + 1)e Bits mitteilen kann, hat jeder „symmetrische“ Entscheidungsbaum für eine Funktion g : {0, 1}n → {0, 1} mindestens die Tiefe dlogD(g)
.
(n+1)e
2
4
n
Eine Funktion f : {0, 1} → {0, 1} ist symmetrisch, wenn der Funktionswert nur von der Anzahl der
Einsen abhängt.
192
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
Wir betrachten zuletzt lineare Entscheidungsbäume: Die Entscheidungsfunktionen sind
diesmal „Thresholdfunktionen“ der Form
n
X
wi xi ≥ t
i=1
mit reellwertigen Koeffizienten w1 , . . . , wn und einem reellwertigen Schwellenwert t. Leider
führt unser bisheriger Ansatz jetzt nicht zum Ziel, denn es gibt Threshold-Funktionen mit
großer Kommunikationskomplexität:
Aufgabe 88
Zeige: Zu jeder ausgewogenen Eingabezerlegung gibt es eine Thresholdfunktion g mit
D(g) = Θ(n).
Wir verfolgen deshalb einen anderen Ansatz. Wir überlegen uns, wie die Kommunikationsmatrix einer linearen Entscheidungsfunktion aussieht. Sei
g(x1 , . . . , xn ) = 1 iff
n
X
wi xi ≥ t
i=1
eine Thresholdfunktion und sei Z = (Z1 , Z2 ) eine beliebige Eingabezerlegung. Wir ordnen
P
die Zeilen gemäß dem Wert i∈Z1 wi xi an, wobei wir mit Zeilen von großem Wert beginnen
und mit Zeilen von kleinem Wert enden. Analog, aber gemäß aufsteigendem Summenwert,
behandeln wir die Spalten. Wir erhalten eine „obere Treppenmatrix“: ein 0-Eintrag „vererbt“ sich in seiner Spalte nach unten und in seiner Zeile nach links. Analog vererbt sich
ein 1-Eintrag in seiner Spalte nach oben und in seiner Zeile nach rechts.
0 01111
001111
000011
000001
000001
000000
Eine obere Treppenmatrix.
Wie sehen diese Zeilen- und Spalten-Permutation aus?
Lemma 7.14 Sei M eine obere Treppenmatrix mit 0- und 1-Einträgen.
(a) Jede Teilmatrix von M ist eine obere Treppenmatrix.
(b) M besitzt eine monochromatische Teilmatrix, die mindestens
ausmacht.
1
4
der Größe von M
Beweis (a)ist offensichtlich. Wir zeigen
Behauptung
(b). M besitze z Zeilen und s Spalten.
z s
Wir betrachten den „Mittelpunkt“ 2 , 2 von M . Dann sind alle Einträge (i, j) mit i ≤ z2
und j ≥ 2s identisch eins (und wir haben eine geeignet große Teilmatrix gefunden) oder
193
7.4. ANWENDUNGEN
alle Einträge (i, j) mit i ≥ z2 und j ≤ 2s sind identisch Null (und wir haben eine geeignet
große 0-chromatische Teilmatrix gefunden).
Also ist für lineare Entscheidungsbäume nicht mehr die Kommunikationskomplexität der
zu berechnenden Funktion g relevant, sondern die Anzahl MaxZ (g) der Einträge, die von
einer größten monochromatischen Teilmatrix von Mg für die Eingabezerlegung Z überdeckt
werden.
Satz 7.17 Die Funktion g : {0, 1}n → {0, 1} sowie eine Eingabezerlegung Z sei gegeben.
Dann hat jeder lineare Entscheidungsbaum für g mindestens die Tiefe t, wobei
4t ≥
2n
MaxZ (g)
gilt. Also ist t ≥ (n − log2 MaxZ (g))/2.
Beweis: Sei (T, h1 , h2 ) ein linearer Entscheidungsbaum, der g berechnet und sei f0 die
Thresholdfunktion der Wurzel w von T . Nach Lemma 7.14 finden wir eine monochroman
tische Teilmatrix M0 von Mf0 der Größe mindestens 24 . Wenn 0 (1) der Wert dieser Teilmatrix M0 ist, dann betrachte das linke (rechte) Kind der Wurzel. Sei f1 die Thresholdfunktion
des ausgewählten Kindes. Dann ist Mf1 , nach geeigneter Zeilen- und Spaltenpermutation,
eine obere Treppenmatrix.
Jede Teilmatrix von Mf1 ist ebenfalls eine obere Treppenmatrix. Insbesondere ist die Teilmatrix von Mf1 , die nur aus den Positionen von M0 besteht, eine obere Treppenmatrix.
n
Damit gibt es eine Teilmatrix M1 von M0 der Größe mindestens 242 , die monochromatisch
bezüglich der Funktionen f0 und f1 ist. (Alle von M2 überdeckten Eingaben erreichen somit
das gleiche Enkelkind der Wurzel.)
Diese Konstruktion wird fortgesetzt, bis wir ein Blatt b erreicht haben. Wenn t die Tiefe
des Baums ist, dann haben wir eine bezüglich f0 , . . . , ft monochromatische Teilmatrix Mt
n
der Größe mindestens 24t gefunden: Alle von Mt überdeckten Eingaben erreichen das Blatt
n
b und Mt muss eine monochromatische Teilmatrix von Mg ist. Somit gilt MaxZ (g) ≥ 24t .
Beispiel 7.13 Wir betrachten das innere Produkt
g(x, y) = hx, yi2,n =
n
X
xi yi mod 2.
i=1
Wir wissen bereits, daß
MaxZ (g) = 2n
gilt, wenn alle x-Bits an Alice und alle y-Bits an Bob verteilt werden. Also hat jeder lineare
Entscheidungsbaum für das innere Produkt eine Tiefe von mindestens (2n − n)/2 = n/2.
194
7.4.5
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
Kommunikationsspiele
Sei f : {0, 1}n → {0, 1} eine Boolesche Funktion. Wir zeigen, dass DEPTH(f ), die minimale
Tiefe eines {∧, ∨, ¬}-Schaltkreises vom Fanin zwei für f , mit Hilfe der Kommunikation
exakt charakterisiert werden kann.
Wir können {∧, ∨, ¬}-Schaltkreise nach einer Verdopplung der Größe und unter Beibehaltung der Tiefe in einen äquivalenten Schaltkreis transformieren, für den die Negation nur
noch an den Eingabegattern auftritt. Wir haben eine solche Konstruktion im Beweis von
Satz 4.4 kennengelernt. Ab jetzt werden wir deshalb annehmen, dass die Negation nur für
Eingabegatter verwandt wird.
Im Kommunikationsspiel Spiel(f ) für die Boolesche Funktion f erhält Alice eine Eingabe x
mit f (x) = 1 und Bob eine Eingabe y mit f (y) = 0. Beide Spieler kommunizieren, um sich
auf (irgend)eine Position i mit xi 6= yi zu einigen. (Eine solche Position muss existieren,
denn x 6= y gilt.) Die berechnete Position muss beiden Spielern bekannt sein. Die minimale
Anzahl kommunizierter Bits für ein erfolgreiches deterministisches Protokoll bezeichnen
wir mit
C(Spiel(f )).
7.4.5.1
Die Tiefe von Schaltkreisen
Auf den ersten Blick völlig überraschend stimmt C(Spiel(f )) mit DEPTH(f ) überein.
Satz 7.18 Die Funktion f : {0, 1}n → {0, 1} sei gegeben. Dann gilt
C(Spiel(f )) = DEPTH(f ).
Beweis: Wir zeigen zuerst die Ungleichung C(Spiel(f )) ≤ DEPTH(f ). Sei S ein Schaltkreis,
der f in Tiefe t = DEPTH(f ) berechnet. Wir konstruieren ein Kommunikationsprotokoll
für Spiel(f ), das höchstens t Bits austauscht. Unsere Konstruktion benutzt eine Induktion
über t.
Induktionsbasis: t = 0. Wir erhalten, dass entweder f (z) = zi oder f (z) = ¬zi gilt. Damit
ist i eine Position, in der sich x und y unterscheiden, und eine Kommunikation ist nicht
erforderlich.
Induktionsschritt: Wir nehmen zuerst an, dass das Ausgabegatter f von S ein UND-Gatter
ist. Wir erhalten
f = f0 ∧ f1
für die vom „linken“, bzw. vom „rechten“ Vorgängergatter von f berechnete Funktion f0 ,
bzw. f1 . Für beide Funktionen können wir die Induktionsannahme anwenden und erhalten
C(Spiel(f0 )), C(Spiel(f1 )) ≤ t − 1.
Da 0 = f (y) = (f0 ∧ f1 )(y), gilt f0 (y) = 0 oder f1 (y) = 0, während natürlich f0 (x) =
f1 (x) = 1 gilt. Bob beginnt die Kommunikation und sendet das Bit b für das fb (y) = 0 ist.
7.4. ANWENDUNGEN
195
Alice und Bob wissen, dass fb (x) = 1 und fb (y) = 0. Sie können deshalb das Kommunikationsspiel für fb benutzen, um eine x und y unterscheidende Position zu bestimmen. Nach
Induktionsannahme genügen t − 1 Bits, und wir haben C(Spiel(f )) ≤ t wie gewünscht
nachgewiesen.
Im zweiten Fall ist das Ausgabegatter f ein ODER-Gatter und die beiden Vorgängergatter
berechnen die Funktionen f0 und f1 mit f = f0 ∨ f1 . Bob hat diesmal nichts Interessantes
beizusteuern, denn f0 (y) = f1 (y) = 0 gilt. Aber Alice hat Interessantes zu vermelden,
denn es gilt f0 (x) = 1 oder f1 (x) = 1. Sie sendet das Bit b mit fb (x) = 1 an Bob. Die
verbleibende Argumentation ist jetzt identisch zum ersten Fall.
Schließlich ist die Ungleichung C(Spiel(f )) ≥ DEPTH(f ) zu zeigen. Der erste Eindruck ist,
dass der Nachweis kaum gelingen kann, denn Alice und Bob arbeiten mit unbeschränkter
Rechenkraft. Wir zeigen tatsächlich ein noch stärkeres Ergebnis als verlangt. Die Teilmengen A, B ⊆ {0, 1}n seien disjunkt. Alice erhält eine Eingabe x ∈ A, Bob eine Eingabe
y ∈ B. Beide Spieler kommunizieren, um eine Position i mit xi 6= yi zu bestimmen.
Wir zeigen: Wenn t Bits im Kommunikationsspiel für A und B ausreichen, dann gibt es
einen Schaltkreis S der Tiefe höchstens t, der A und B „trennt“, d.h. für den S(x) = 1 für
jedes x ∈ A und S(y) = 0 für jedes y ∈ B gilt.
Wir konstruieren den Schaltkreis S durch Induktion über t.
Induktionsbasis: t = 0. Alice und Bob kennen die Antwort i ohne kommunizieren zu müssen.
Aber dann ist entweder xi = 1 oder xi = 0 für alle x ∈ A und entsprechend umgekehrtes
Verhalten zeigen die Elemente y ∈ B. Als Konsequenz trennt entweder der Schaltkreis
S = xi oder der Schaltkreis S = ¬xi
Induktionsschritt: Wir nehmen zuerst an, dass Alice die Kommunikation beginnt. Für jedes
x aus der Teilmenge A0 ⊆ A möge Alice das Bit 0 und für jedes x aus der Teilmenge A1 ⊆ A
das Bit 1 senden. Wir können die Induktionsvoraussetzung auf A0 und B wie auch auf A1
und B anwenden und erhalten Schaltkreise S0 und S1 der jeweiligen Tiefe höchstens t − 1
die A0 und B, bzw. A1 und B trennen. Mit anderen Worten, es ist für alle x ∈ Ab und
y ∈ B,
Sb (x) = 1 und Sb (y) = 0.
Aber dann trennt der Schaltkreis S = S0 ∨ S1 die Mengen A = A0 ∪ A1 und B. Da S die
Tiefe höchstens t besitzt, ist die Konstruktion von S erfolgreich.
Im zweiten Fall, wenn also Bob die Kommunikation beginnt, argumentieren wie analog.
Diesmal verwenden wir ein UND-Gatter und setzen S = S0 ∧ S1 .
Wie können wir untere Schranken für C(Spiel)(f ) erhalten? Leider sind bisher alle Versuche
erfolglos geblieben, Schranken der Form C(Spiel)(f ) = ω(log2 n) zu beweisen. Naheliegend
ist ein auf Krapchenko zurückzuführender Ansatz: H(x, y) bezeichne die Hamming-Distanz
von x und y, also die Anzahl der Positionen, in denen sich die beiden Strings x, y ∈ {0, 1}n
unterscheiden. Um die Schwierigkeit der Trennung der 0- und 1-Eingaben zu „messen“
betrachtet Krapchenko die Menge aller Paare (x, y) im Hamming-Abstand 1, so dass f (x) =
1 und f (y) = 0. Ist diese Menge „benachbarter“ 0- und 1-Eingaben groß, deutet dies auf
196
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
eine schwierige Trennung hin.
Lemma 7.15 Die Mengen B0 , B1 ⊆ {0, 1}n seien disjunkt. Dann gilt
C(Spiel(f )) ≥ log2
|C|2
|B0 | · |B1 |
für jede Boolesche Funktion f : {0, 1}n → {0, 1} mit B0 ⊆ f −1 (0), B1 ⊆ f −1 (1), wobei
C = { (x, y) | x ∈ B0 , y ∈ B1 und H(x, y) = 1 }.
Beweis: Sei P ein optimales Protokoll für Spiel(f ), d.h. P tauscht die kleinstmögliche
Bitzahl unter allen Protokollen aus, die Spiel(f ) berechnen. Insbesondere möge P genau
C(x, y) Bits austauschen, wenn Alice Eingabe x ∈ f −1 (1) und Bob Eingabe y ∈ f −1 (0)
erhält. Dann ist
C(x, y) = Alice(x, y) + Bob(x, y),
wobei Alice(x, y), Bob(x, y) die von Alice bzw. von Bob kommunizierten Bits bezeichnet.
Es bezeichne N (x) die Menge der Eingaben in B0 mit Hamming-Abstand 1 von x; analog
definieren wir die Nachbarschaft N (y) von y. Wieviele Bits muss Bob im Durchschnitt
mindestens kommunizieren, wenn Alice die Eingabe x erhält?
X
Bob(x, y) ≥ |N (x)| log2 |N (x)|,
y∈N (x)
X
Alice(x, y) ≥ |N (y)| log2 |N (y)|.
x∈N (y)
Warum gilt zum Beispiel die erste Ungleichung? Selbst wenn Bob die Eingabe x von Alice
kennt, muss er immer noch mitteilen, welchen Nachbarn y ∈ N (x) er als Eingabe besitzt!
Wir schätzen jetzt die durchschnittliche Kommunikation C(x, y) für alle Paare x ∈ B1 und
y ∈ B0 nach unten ab:
1 X
1 X
C(x, y) =
Alice(x, y) + Bob(x, y)
|C| (x,y)∈C
|C| (x,y)∈C


X X
1 X X
=
Bob(x, y) +
Alice(x, y)
|C| x∈B1 y∈N (x)
y∈B0 x∈N (y)


X
1 X
|N (x)| log2 |N (x)| +
|N (y)| log2 N (y)
≥
|C| x∈B1
y∈B0


X |C|
1  X |C|
|C|
|C| 
≥
log2
+
log2
|C| x∈B1 |B1 |
|B1 | y∈B0 |B0 |
|B0 |
=
X
x∈B1
= log2
X 1
|C|
|C|
1
log2
+
log2
|B1 |
|B1 | y∈B0 |B0 |
|B0 |
|C|
|C|
|C|2
+ log2
= log2
.
|B1 |
|B0 |
|B0 | · |B1 |
197
7.4. ANWENDUNGEN
In der letzten Ungleichung haben wir benutzt, dass die Funktion g(z) = z log2 z konvex ist
P
P
1
und damit gilt i∈I g(zi ) ≥ |I|
g( i∈I zi ).
Die „Rechnerei“ hat also ergeben, dass die durchschnittliche Kommunikation des besten
2
Protokolls mindestens log2 |B|C|
beträgt. Damit ist die worst-case Kommunikation min0 |·|B1 |
destens log2
|C|2
,
|B0 |·|B1 |
und das war zu zeigen.
Beispiel 7.14 Wir wenden die Krapchenko-Schranke für die Paritätsfunktion xorn (x) =
⊕ni=1 xi an. Sei Bi die Menge aller Eingaben mit Parität i. Dann ist |B0 | = |B1 | = 2n−1
und |C| = n2n−1 . Also folgt
C(Spiel(xorn )) ≥ log2
n2 22(n−1)
= log2 n2 = 2 log2 n.
2n−1 2n−1
Jeder Schaltkreis vom Fanin zwei für die Paritätsfunktion hat somit mindestens die Tiefe
2 log2 n.
Aufgabe 89
Zeige, dass C(Spiel(xorn )) = 2 log2 n gilt.
Wir haben Kommunikationsprotokolle P mit Hilfe ihrer Protokollbäume BP eingeführt
und in Definition 7.2 die Kommunikationskomplexität von P als die Tiefe des Baums
definiert. Sei Blätter(P) die Anzahl der Blätter von BP , also die Anzahl der von P erzeugten
Nachrichten. Wir setzen
Nachrichten(f ) = min{ Blätter(P) | P ist ein Protokoll für Spiel(f ) }.
Nachrichten(f ) ist also die kleinstmögliche Nachrichtenzahl eines Protokolls für f . Neben
der Größe von Schaltkreisen für eine Boolesche Funktion f interessiert man sich auch für
die Formelgröße.
Definition 7.18 Die Formelgröße L(f ) ist die minimale Blattzahl eines Schaltkreises vom
Fanin zwei für f , dessen Graphstruktur ein Baum ist.
Aufgabe 90
Zeige:
L(f ) = Nachrichten(f ).
Formelgröße und die minimale Nachrichtenzahl eines Protokolls für f stimmen überein!
Aufgabe 91
Zeige: L(xorn ) ≥ n2 . Wie gut ist diese Schranke?
198
7.4.5.2
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
Die Tiefe monotoner Schaltkreise
Gibt es monotone Kommunikationsspiele, die die Tiefe monotoner Schaltkreise für eine
monotone Funktion f charakterisieren? Wir führen eine Simulation des diesmal monotonen Schaltkreises S vollständig analog zur Konstruktion in Satz 7.18 durch. Es passiert
absolut nichts Neues, bis auf den allerletzten Schritt der Kommunikation, in dem ein stets
nicht-negiertes Eingabegatter zu behandeln ist. Dann ist aber klar wie das monotone Kommunikationsspiel Spiel+ (f ) aussehen muss: Wie vorher erhält Alice eine 1-Eingabe x und
Bob eine 0-Eingabe y. Beide Spieler kommunizieren, um eine Position i mit
xi = 1 und yi = 0
zu bestimmen.
Zur Erinnerung: Wir haben die kleinste Tiefe eines monotonen Schaltkreises vom Fanin
zwei für f mit DEPTH+ (f ) bezeichnet.
Satz 7.19 Für jede monotone Funktion f gilt
C(Spiel+ (f )) = DEPTH+ (f ).
Aufgabe 92
Zeige Satz 7.19
Unser Ziel ist der Nachweis einer linearen unteren Schranke für die Tiefe eines monotonen
Schaltkreises für MATCHn . In MATCHn wird ein Graph mit 2n Knoten genau dann akzeptiert, wenn G ein perfektes Matching besitzt, wenn G also ein Matching der Größe n
besitzt.
Beispiel 7.15 Wir erinnern an die Konzepte der Min- und Maxterme monotoner Funktionen. Wir betrachten das Matching-Problem MATCHn,k : Ein ungerichteter Graph G mit
n Knoten ist genau dann zu akzeptieren, wenn G ein Matching der Größe k besitzt.
Die Minterme entsprechen den möglichen Matchings der Größe genau k. Für jede Knotenmenge I ⊂ {1, . . . , n} der Größe k − 1 sei BI der Graph, der alle Kanten mit mindestens
einem Endpunkt in I besitzt. Der Graph BI ist ein Maxterm und jeder Maxterm ist ein
Graph BI
Satz 7.20 DEPTH+ (M AT CHn ) = Ω(n).
Beweis: Wir führen eine Reihe von Beobachtungen durch. Zuerst genügt der Nachweis,
dass lineare Tiefe für Graphen mit 4n Knoten notwendig ist. (Warum?) Aber dann ist
es ebenfalls ausreichend, wenn wir nachweisen, dass MATCH3n,n lineare Tiefe benötigt:
Füge n Knoten zu einem Graphen mit 3n Knoten hinzu und verbinde jeden neuen Knoten
mit allen alten Knoten. Dann hat der neue Graph, mit jetzt 4n Knoten, genau dann ein
199
7.4. ANWENDUNGEN
perfektes Matching, also ein Matching mit 2n Kanten, wenn der alte Graph ein Matching
mit n Kanten besitzt. Weiterhin genügt es nach Satz 7.19 zu zeigen, daß
C(Spiel+ (MATCH3n,n )) = Ω(n)
gilt.
Kommen wir als Nächstes zur Analyse des monotonen Kommunikationsspiels. Wir weisen
Alice und Bob nur bestimmte Eingaben zu: Alice erhält einen Minterm und somit ein
Matching M der Größe n. Bob erhält einen Maxterm und zwar weisen wir ihm den Graphen
BI für eine Teilmenge I ⊆ V von genau n − 1 Knoten zu. (Zur Erinnerung, BI besitzt alle
Kanten mit mindestens einem Endpunkt in I.) Im monotonen Spiel müssen Alice und Bob
eine Kante in M bestimmen, die nicht zu BI gehört. Dies ist äquivalent zu dem Auffinden
einer Kante in M , die keinen Endpunkt in I besitzt.
Ein Einschub: Ist es nicht gefährlich sich auf die „wenigen“ Min- und Maxterme einzuschränken? Das Auffinden einer Kante, die Alice nicht aber Bob besitzt, ist natürlich besonders dann schwierig, wenn Alice sehr wenige und Bob sehr viele Kanten besitzt. Und
gerade das erreichen wir, wenn Alice einen Minterm und Bob einen Maxterm erhält.
Aufgabe 93
C ∗ (Spiel+ (f )) ist die minimale Bitzahl, die ein erfolgreiches Protokoll für Spiel+ (f ) benötigt, falls Alice einen Minterm und Bob einen Maxterm erhält.
Zeige: C ∗ (Spiel+ (f )) = C + (Spiel+ (f )).
Kommunikationsspiele sind schwierig zu analysieren, denn es ist nur eine von möglicherweise vielen Kanten zu bestimmen, die zu M gehören und keinen Endpunkt in I besitzen.
Wir geben deshalb Bob eine Menge J von n statt vorher n − 1 Knoten und fragen, ob es
eine Kante in M gibt, die keinen Knoten in J berührt. Können wir dieses Entscheidungsproblem TOUCH(J) mit Hilfe eines Protokolls für Spiel(MATCH3n,n ) lösen? Hier ist ein
Lösungsversuch:
(1) Bob wählt einen Knoten v ∈ J zufällig aus.
(2) Alice und Bob führen ein Protokoll für Spiel(MATCH3n,n ) mit den Eingabe M für
Alice und BJ\{v} für Bob aus.
(3) Angenommen, das Resultat ist eine Kante e ∈ M .
– Wir wissen, dass e keinen Endpunkt in J \ {v} besitzt.
– Wenn e den Knoten v nicht berührt, dann akzeptieren Alice und Bob richtigerweise, denn e berührt keinen Knoten in J.
– Wenn e den Knoten v berührt, dann verwerfen Alice und Bob.
Wenn Alice und Bob eine falsche Entscheidung treffen, dann nur wenn der zufällig ausgewählte Knoten v die im Kommunikationsspiel bestimmte Kante e berührt. Die Entscheidung ist genau dann falsch, wenn es eine Kante e0 ∈ M gibt, die J nicht berührt. Aber
200
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
M ist ein Matching und e ist die einzige Kante in M , die Knoten v berührt. Das Kommunikationsspiel für MATCH3n,n (mit den Eingaben M und J \ {v}) hat also im Fehlerfall
mindestens zwei richtige Antworten, nämlich die Kante e und die richtige Antwort e0 . Wenn
wir garantieren könnten, dass jede richtige Antwort gleichwahrscheinlich wäre, dann wäre
unser Protokoll mit Wahrscheinlichkeit mindestens 1/2 korrekt. Wir könnten dann unser
Protokoll für TOUCH(J) einige Male wiederholen, um den Fehler unter jede beliebige Konstante zu drücken und hätten ein schwieriges Entscheidungsproblem geknackt. Aber wir
können garantieren, dass jede richtige Antwort gleichwahrscheinlich ist, wenn Alice und
Bob die gemeinsame Zufallsquelle benutzen, um die Knoten zu permutieren!
Ist TOUCH(J) denn ein wirklich schwieriges Entscheidungsproblem? Wir zeigen, dass wir
das Disjunktheitsproblem DISJn einfach mit Hilfe einer Lösung für TOUCH(J) lösen können. Angenommen, Alice und Bob erhalten die Mengen X, Y ⊆ {1, . . . , n} als Eingaben
für DISJn .
(0) Beide Spieler einigen sich auf die Knotenmenge V = {ai , bi , ci | 1 ≤ i ≤ n}.
(1) Alice konstruiert ein Matching M der Größe n, indem sie für jedes i genau eine Kante
in jeder Teilmenge {ai , bi , ci } nach dem folgenden Verfahren auswählt:
– Wenn i ∈ X, dann ist {ai , bi } ∈ M .
– Wenn i 6∈ X, dann ist {bi , ci } ∈ M .
(2) Bob wählt eine Menge J der Größe n, indem er für jedes i genau einen Knoten aus
{ai , bi , ci } auswählt.
– Wenn i 6∈ Y , dann wählt er bi .
– Wenn i ∈ Y , dann wählt er ci .
(3) Alice und Bob entscheiden, dass die Mengen X und Y genau dann disjunkt sind,
wenn jede Kante in M mindestens einen Knoten in J berührt. Die Entscheidung ist
fehlerfrei.
Damit ist der Beweis erbracht, denn nach Satz 7.10 gilt
P1/2−ε (DISJn ) = Θ(n)
für jede Konstante ε > 0 und die Protokolle für TOUCH(J), bzw für Spiel(MATCH3n,n )
müssen deshalb ebenfalls eine lineare Anzahl von Bits kommunizieren.
7.5
Zusammenfassung
Die Kommunikationskomplexität einseitiger deterministischer Protokolle haben wir durch
den Logarithmus der Anzahl verschiedener Zeilen der Kommunikationsmatrix exakt charakterisieren können. Die Voraussage der Komplexität mehrseitiger Protokolle ist hingegen
ein weitaus schwierigeres Problem, und wir haben verschiedene Ansätze, nämlich
7.5. ZUSAMMENFASSUNG
201
- Fooling-Sets,
- die Rang-Methode,
- die Methode der größten monochromatischen Teilmatrix und
- die Zerlegungsmethode
besprochen. Wir haben gesehen, dass Fooling-Sets höchstens leicht bessere Ergebnisse als
die Rang-Methode liefern können und in einigen Fällen exponentiell schlechtere Prognosen
der tatsächlichen Kommunikationskomplexität abgeben. Die Exaktheit der Rang-Methode
ist bisher ungeklärt und eine, bis auf ein Polynom exakte Prognose ist nicht ausgeschlossen.
Die Zerlegungsmethode ist die mächtigste Methode, aber sie ist leider in vielen Anwendungen nicht direkt anwendbar. Die Methode der größten monochromatischen Teilmatrix
macht erstaunlich exakte Prognosen und ist wesentlich leichter anzuwenden.
Die Situation nichtdeterministischer Protokolle ist einfacher: Einseitige Protokolle haben
dieselbe Effizienz wie mehrseitige Protokolle und der Logarithmus der Überdeckungszahl
ist eine exakte Charakterisierung der nichtdeterministischen Kommunikation. Wir haben
dann das Mengenüberdeckungsproblem analysiert und mit Hilfe des gierigen Überdeckungsalgorithmus einen Zusammenhang zur Methode der größten 1-chromatischen Teilmatrix
herstellen können: Diese Methode ist relativ leicht anwendbar und liefert, bis auf einen
additiven logarithmischen Term, exakte Voraussagen.
Wir haben dann ein effizientes deterministisches Protokoll für eine Funktion f gebaut,
wenn die Dreieckszahl der Kommunikationsmatrix Mf und die nichtdeterministische Komplexität von f nicht zu groß ist:
D(f ) ≤ (dlog2 4(Mf )e + 1) · (N (f ) + 1).
Diese Beobachtung hat zahlreiche Anwendungen, nämlich
- Fehlerfreie nichtdeterministische und eindeutig nichtdeterministische Protokolle können höchstens quadratisch effizienter als deterministische Protokolle sein.
- Die Methode der größten monochroamtischen Teilmatrix ist eine, bis auf ein Quadrat
exakte Voraussage der deterministischen Kommunikationskomplexität.
Wir haben gesehen, dass Kommunikation als Flaschenhals in vielen Anwendungen auftritt.
Die Anzahl von Nachrichten in einseitigen deterministischen Protokollen stimmt mit der
minimalen Zustandszahl von deterministischen endlichen Automaten überein, wenn alle
Worte der Sprache den Spielern (als Präfix bzw. Suffix) zugewiesen werden. Im Fall von
nichtdeterministischen oder probabilistischen Automaten ist das Kommunikationsmodell
allerdings stärker und die Nachrichtenzahl ist nur noch eine untere Schranke, die aber in
vielen Fällen genau ist.
Im Streaming-Data Modell haben wir die Speicherplatzkomplexität mit Hilfe der Kommunikation untersucht. Wir haben gesehen, dass selbst eine nur approximative und mit einem
202
KAPITEL 7. KOMMUNIKATIONSKOMPLEXITÄT
kleinen Fehler behaftete Bestimmung des häufigsten Schlüssels eine zu große Speicherplatzkomplexität erfordert. Auch eine exakte Bestimmung der Anzahl verschiedener Schlüssel
ist selbst dann ausgeschlossen, wenn ein kleiner Fehler erlaubt ist: Dieses Ergebnis zeigt,
dass die bekannten approximativen Algorithmen gerechtfertigt sind.
Desweiteren haben wir die Kommunikation bei freier Eingabezerlegung auf das Produkt
Fläche · Zeit2 von VLSI-Chips angewandt. Wir haben untere Schranken für Funktionen
(wie Sortieren, Multiplikation) erhalten, in dem ausgenutzt haben, dass erfolgreiche Berechnungen Daten in komplexer Weise verschieben müssen: Unsere Formalisierung führte
auf transitive Untergruppen der Permutationsgruppen.
Die Anwendung der Kommunikation auf die Tiefe von Entscheidungsbäumen war unmittelbar, wenn die Entscheidungsfunktionen eine geringe Kommunikationskomplexität besitzen. Im Fall von linearen Entscheidungsbäumen haben wir ausgenutzt, dass ThresholdFunktionen sehr große monochromatische Teilmatrizen besitzen.
Schließlich haben wir das Kommunikationsspiel eingeführt, um die Tiefe von Schaltkreisen
zu charakterisieren. Im Kommunikationsspiel ist ein Suchproblem zu lösen und die Spieler
müssen sich auf eine Lösung einigen. Nur im Fall monotoner Schaltkreise hat man das
Kommunikationsspiel erfolgreich analysieren können: Eine hypothetische effiziente Lösung
des Suchproblems für das Matching Problem haben wir benutzt, um ein effizientes probabilistisches Protokoll für das Disjunktheitsproblem anzugeben. Da ein solches Protokoll
nicht existieren kann, ist das Suchproblem ebenfalls nicht effizient lösbar und das Matching
Problem besitzt nur monotone Schaltkreise linearer Tiefe.
Teil III
Approximationskomplexität
203
205
Ein Optimierungsproblem P = (I, L, f ) besteht aus
• einer Menge I von Instanzen,
• für jede Instanz x ∈ I aus einer Menge L(x) von Lösungen und
• einer Zielfunktion f , die nur nicht-negative reelle Zahlen annimmt.
Für ein Minimierungsproblem ist
optP (x) = min{f (x, y) | y ∈ L(x) }
der optimale Wert für Instanz x. Für ein Maximierungsproblem definiere optP (x) entsprechend. Ein Approximationsalgorithmus A für P bestimmt für jede Instanz x eine
Lösung A(x) ∈ L(x). Der Approximationsfaktor für Instanz x ist
rA (x) = min{
A(x) opt(x)
,
}
opt(x) A(x)
und der Approximationsfaktor für Instanzen der Länge n ist
rA (n) = min rA (x).
x, |x|=n
Wir nehmen also eine pessimistische Sichtweise ein, denn die „schlechteste Instanz“ bestimmt den Approximationsfaktor. Beachte, dass stets rA (n) ≤ 1 gilt und dass A genau
dann optimal ist, wenn rA (n) = 1.
Wir betrachten jetzt Approximationsalgorithmen mit zusätzlicher Eingabe ε > 0 und setzen
A(ε, x) opt(x)
ε
,
}.
rA
(x) := min{
opt(x) A(ε, x)
Wir sagen, dass A ein volles polynomielles Approximationsschema ist, wenn
• die Laufzeit von A(ε, x) polynomiell in |x| +
1
ε
ist und
• rA (ε, x) ≥ 1 − ε gilt.
A ist „nur“ ein polynomielles Approximationsschema, wenn
• die Laufzeit von A(ε, x) für jedes ε polynomiell in |x| ist und
• rA (ε, x) ≥ 1 − ε gilt.
Eine für die Approximation sehr wichtige Komplexitätsklasse, neben den Klassen aller
Optimierungsproblemen mit (vollen) Approximationsschemata), ist die Klasse APX:
APX besteht aus allen Optimierungsproblemen mit effizienten Approximationsalgorithmen A, so dass rA (x) ≥ δ für eine Konstante δ > 0 gilt.
206
Wie weit kann der Approximationsfaktor effizienter Algorithmen für ein vorgegebenes Optimierungsproblem verbessert werden? Wann besitzt das Optimierungsproblem keine effizienten Approximationsalgorithmen mit scharfen Approximationen?
Erstaunlicherweise sind die schwierigsten Entscheidungsprobleme, die NP-vollständigen Probleme, alle äquivalent. Während die Entscheidungsprobleme alle gleich schwer sind, zeigen
ihre Optimierungsvarianten große Individualität. Schauen wir uns einige Beispiele an. (opt
bezeichnet stets den optimalen Wert.)
(∗) RUCKSACK
– Ein Rucksack mit Kapazität K sowie n Objekte sind gegeben. Objekt i besitzt
das Gewicht gi und den Wert wi .
– Bepacke den Rucksack mit einer Auswahl aus den n Objekten, so dass das
Gewicht der eingepackten Objekte die Kapazität K nicht übersteigt und der
„eingepackte Wert“ größtmöglich ist.
RUCKSACK besitzt ein volles polynomielles Approximationsschema: Für eine vorgegebene Genauigkeit ε kann eine Bepackung in Zeit poly(n, 1ε ) gefunden werden. Der
Wert der gefundenen Bepackung ist mindestens (1 − ε)opt.
(∗) BIN PACKING
– n Objekte mit den Gewichten 0 ≤ g1 , . . . , gn ≤ 1 sind gegeben.
– Verteile die Objekte auf eine möglichst geringe Anzahl von Behältern, so dass
jeder Behälter nur Objekte mit Gesamtgewicht höchstens 1 erhält.
BIN PACKING besitzt kein volles polynomielles Approximationsschema, wohl aber
ein polynomielles Approximationsschema: Für jede vorgegebene Genauigkeit ε kann
eine Verteilung mit höchstens (1 + ε)opt Behältern in Zeit poly(n) gefunden werden.
(∗) VERTEX COVER
– Ein ungerichteter Graph G = (V, E) ist gegeben.
– Bestimme eine Knotenmenge W ⊆ V kleinster Größe, so dass jede Kante in E
mindestens einen Endpunkt in der Menge W besitzt. Wir sagen, dass die Menge
W überdeckt.
Wir zeigen später, dass VERTEX COVER kein polynomielles Approximationsschema
besitzt, wenn P 6= NP. VERTEX COVER hat aber einen Approximationsalgorithmus,
der eine überdeckende Knotenmenge der Größe höchstens 2 · opt bestimmt:
Beginne mit der leeren Menge W und füge beide Endpunkte einer beliebigen
Kante zu W hinzu. Entferne alle Kanten, die einen Endpunkt in der Menge W
besitzen. Wiederhole dieses Vorgehen solange bis alle Kanten entfernt wurden.
VERTEX COVER gehört deshalb zu APX.
207
(∗) MAX-SAT
– Gegeben ist eine Menge K von Klauseln und Gewichten wk ≥ 0 für jede Klausel.
– Bestimme eine Belegung, die Klauseln mit maximalem Gesamtgewicht erfüllt.
MAX-SAT gehört wie VERTEX COVER zu APX: Eine zufällig ausgewürfelte Belegung wird im Mittel mindestens die Hälfte des gesamten Klauselgewichts erfüllen.
Wir zeigen später, dass polynomielle Approximationsschemata nicht existieren, wenn
P 6= NP.
(∗) SET COVER
– Gegeben ist ein Universum U = {1, . . . , m} und Teilmengen T1 , . . . , Tn ⊆ U mit
S
i Ti = U .
– Wähle möglichst wenige Teilmengen aus, die weiterhin U überdecken.
Wir zeigen später, dass SET COVER nicht zu APX gehört und sogar, dass für jedes
ε > 0 Überdeckungen mit höchstens (1 − ε) · ln(m)opt Teilmengen nicht effizient
bestimmt werden können. Andererseits kann man zeigen, dass der gierige Überdeckungsalgorithmus, der stets die Teilmenge wählt, die die meisten noch nicht überdeckten Elemente überdeckt, höchstens (1 + ln(m)) · opt Mengen auswählt.
(∗) CLIQUE
– Ein ungerichteter Graph G = (V, E) ist gegeben.
– Bestimme eine Knotenmenge W ⊆ V maximaler Größe, so dass je zwei Knoten
in W durch eine Kante miteinander verbunden sind.
Es kann gezeigt werden, dass CLIQUE für keine Konstante ε > 0 effiziente Approximationsalgorithmen besitzt, die eine Clique der Größe mindestens nopt
1−ε berechnen.
(∗) TSP (das Traveling Salesman Problem)
– Gegeben sind Distanzen di,j ≥ 0 zwischen den Knoten i und j.
– Bestimme einen Kreis minimaler Länge, der alle Knoten besucht. Die Matrix d
kann beliebig gewählt werden, insbesondere müssen die Distanzen keine Dreiecksungleichung erfüllen.
TSP ist ein „wirklich schwieriges“ Optimierungsproblem genauso wie die 0-1 PROGRAMMIERUNG
minimiere
n
X
i=1
ci xi so dass
n
X
i=1
Ai,j xi ≥ bi für j = 1, . . . , m und x1 , . . . , xn ∈ {0, 1}.
208
Für MAX-SAT, VERTEX COVER, SET COVER und CLIQUE war die Approximationskomplexität für lange Zeit unbekannt. Mittlerweile lässt sich die Approximationskomplexität dieser Probleme zumindest angenähert mit Hilfe des PCP-Theorems bestimmen.
Der Aspekt der Optimierung zerschlägt somit die schöne Struktur, die wir von der Klasse NP
gewöhnt sind: Während die NP-vollständigen Sprachen paarweise „äquivalent“ sind, besizen
Optimierungsprobleme verschiedenste Härtegrade. Wie können wir negative Resultate über
die effiziente Approximierbarkeit eines Optimierungsproblems P erhalten? Wir weisen dazu
P ein „Promise-Problem“ zu.
Definition 7.19 Sei P ein Optimierungsproblem und optP (x) sei der optimale Wert für
Instanz x. Für Funktionen f, g : Σ∗ → R mit f (x) < g(x) für alle x ∈ Σ∗ definieren wir
YESP = {x | optP (x) ≥ g(x)}
NOP = {x | optP (x) < f (x)}.
Wir sagen, dass ein Algorithmus A
das Promise Problem [f, g]-gap-P löst,
wenn A für jedes x ∈ YESP die Ausgabe “ja” und für jede Instanz x ∈ NOP die Ausgabe
“nein” ausgibt.
Beachte, dass YESP und NOP disjunkte Mengen sind. Von keiner der beiden Mengen
erfasst wird die „Lücke“, also alle Instanzen x mit
f (x) ≤ optP (x) < g(x).
Wenn wir einem Algorithmus „versprechen“, dass eine Instanz nicht in diesen Graubereich
fällt, dann löst dieser Algorithmus das Problem [f, g]-gap-P genau dann, wenn die richtige
Zuordnung zu den Mengen YESP und NOP bestimmt wird.
Definition 7.20 Sei P ein Maximierungsproblem. Dann ist [f, g]-gap-P ein NP-hartes
Problem, wenn es für jede Sprache L ∈ NP eine effizient berechenbare Transformation
T gibt, die für jede Eingabe w von L eine Instanz T (w) des Optimierungsproblems P bestimmt. Es muss gelten
- Für w ∈ L ist T (w) ∈ YESP (also optP (T (w)) ≥ g(T (w))) und
- für w ∈
/ L ist T (w) ∈ NOP (also optP (T (w)) < f (T (w))).
Ist P ein Minimierungsproblem, dann müssen Eingaben w ∈ L auf Instanzen aus NOP
und Eingaben w 6∈ L auf Instanzen aus YESP reduziert werden.
Was besagt die NP-Härte von [f, g]-gap-P? Jede Sprache L ∈ NP kann durch eine „lückenschaffende
Reduktion“ auf das Optimierungsproblem P reduziert werden.
209
Aufgabe 94
Angenommen, es ist P 6= NP.
Zeige: Wenn [f, g]-gap-P ein NP-hartes Problem ist, dann kann [f, g]-gap-P nicht von effizienten Algorithmen gelöst werden.
Satz 7.21 Sei P ein Maximierungsproblem. Wir nehmen an, dass die Funktion f in polynomieller Zeit berechnet werden kann. Wenn [f, g]-gap-P ein NP-hartes Problem ist, dann
, solange
besitzt P keine effizienten Approximationsalgorithmen mit Faktor höchstens fg(x)
(x)
P 6= NP gilt.
Beweis: Wir nehmen an, dass P ein Maxinmierungsproblem ist und dass der effiziente
Approximationsalgorithmus A mit Faktor höchstens g(x)/f (x) approximiert. Wir zeigen
jetzt im Gegensatz zur Annahme, dass [f, g]-gap-P doch effizient gelöst werden kann. Hier
ist unsere effiziente Lösung:
(1) Wende A auf Instanz x an.
(2) Wenn die von A berechnete Lösung einen Funktionswert von mindestens f (x) hat,
dann gib “ja” und ansonsten “nein” aus.
Angenommen, wir geben die Antwort “ja”. Dann wissen wir, dass optP (x) ≥ f (x) und
unsere Antwort ist richtig. Geben wir andererseits die Antwort “nein”, dann ist
optP (x) <
g(x)
· f (x) = g(x).
f (x)
Also ist auch diesmal die Antwort richtig.
Satz 7.21 reduziert die Frage nach der effizienten Approximierbarkeit eines Optimierungsproblems P auf die Frage, für welche Funktionen das Gap-Problem [f, g]-gap-P ein NPhartes Problem ist. Angenommen wir wissen, dass das Gap-Problem für P hart ist, wie
zeigt man die Härte des Gap-Problems für ein anderes Optimierungsproblem?
Definition 7.21 P1 und P2 seien zwei Optimierungsprobleme.
Wir sagen, dass [f1 , g1 ]-gap-P1 lückenerhaltend auf [f2 , g2 ]-gap-P2 reduziert werden kann,
wenn es eine effizient berechenbare Transformation T gibt, so dass für alle Instanzen x von
P1 gilt:
- Wenn optP1 (x) ≥ g1 (x), dann optP2 (T (x)) ≥ g2 (T (x)).
- Wenn optP1 (x) < f1 (x), dann optP2 (T (x)) < f2 (T (x)).
Warum betrachten wir lückenerhaltende Reduktionen?
Lemma 7.16 Es gelte P 6= NP.
Wenn [f1 , g1 ]-gap-P1 lückenerhaltend auf [f2 , g2 ]-gap-P2 reduziert werden kann und wenn
[f1 , g1 ]-gap-P1 ein NP-hartes Problem ist, dann
210
(a) ist [f2 , g2 ]-gap-P1 ein NP-hartes Problem und
(b) es gibt keine effizienten α(n)-approximativen Algorithmen, wenn α(|x|) ≤
alle x gilt.
g2 (x)
f2 (x)
für
Mit einem ersten NP-harten Gap-Problem können wir also eine Lawine weiterer NichtApproximierbarkeitsergebnisse auslösen. Wie aber erhalten wir ein erstes NP-hartes GapProblem? Die Komplexität eines Gap-Problems ist schwierig zu analysieren, da wir keine
Klassifizierung „in der Lücke“ verlangen, das Klassifizierungsproblem könnte durch die
Herausnahme der Lücke zwischen f (x) und g(x) potentiell sehr viel einfacher geworden
sein.
Wir werden mit der Methode „probabilistisch überprüfbarer Beweise“ eine gänzlich neue
Sichtweise der Klasse NP einführen: Statt NP als die Klasse aller Probleme mit höchstens
polynomiell langen Beweisen aufzufassen, werden wir zeigen, dass NP die Klasse aller Probleme mit nicht zu lange Beweise ist, wobei eine probabilistisch gesteuerte Inspektion nur
weniger Bits ausreicht, um sich von der Richtigkeit des Beweises zu überzeugen.
Aufgabe 95
Konstruiere eine lückenerhaltende Reduktion von VERTEX COVER auf SET COVER.
Aufgabe 96
Der ungerichtete Graph G = (V, E) sei vorgegeben. Eine Knotenmenge W ⊆ V heißt
dominierend, wenn jeder Knoten in V \ W mit einem Knoten in W benachbart ist. In
DOMINATING SET ist eine domierende Knotenmenge kleinster Größe zu bestimmen.
Wir betrachten lückenbewahrende Reduktionen zwischen DOMINATING SET und dem
ungewichteten SET COVER Problem.
(a) Konstruiere eine lückenerhaltende Reduktion von Dominating Set auf SET COVER.
(b) Sei |V | = n. Konstruiere einen effizienten, O(log n)-approximativen Algorithmus für
Dominating Set.
(c) Konstruiere eine lückenerhaltende Reduktion von Set Cover auf Dominating Set.
Hinweis: Konstruiere eine Instanz von Dominating Set, so dass die Knotenmenge aus
drei Klassen besteht. Die Knoten der ersten Klasse entsprechen den Elementen des
Universums und die Knoten der zweiten Klasse entsprechen den Mengen von Set
Cover. Die Knoten der dritten Klasse sind sorgfältig zu bestimmen.
Kapitel 8
Probabilistisch überprüfbare Beweise
Ein NP-Beweis besteht aus einem Beweis b ∈ {0, 1}∗ für eine Eingabe w ∈ {0, 1}∗ . Dieser
Beweis ist in polynomieller Zeit in der Länge der Eingabe (nichtdeterministisch) zu raten
und anschließend (deterministisch) zu verifizieren. Wir können diesen Prozess durch ein
Spiel modellieren, an dem ein Prover und ein Verifier teilnimmt: Der Prover präsentiert
einen (möglicherweise falschen) Beweis, der vom Verifier in polynomieller Zeit deterministisch zu verifizieren ist. Wir betrachten jetzt ein ähnliches Spiel, aber erlauben, dass
der Verifier Zugang zu Zufallsbits erhält und eine nur hochwahrscheinlich richtige Antwort
geben muss.
Definition 8.1 r, q : N → N seien vorgegebene Funktionen.
(a) Ein (r, q)-Verifier V ist ein deterministischer Algorithmus, der auf eine Eingabe w und
r(|w|) Zufallsbits zugreifen kann. V erhält auch die Möglichkeit auf bis zu q(|w|) Beweisbits
zuzugreifen.
Für eine Eingabe w und eine Zufallsfolge σ berechnet V eine Folge von höchstens
q(|w|) Bitpositionen und erfragt die Beweisbits an diesen Positionen vom Prover.
Die nachfolgende Rechnung hängt nur von w, σ und den erhaltenen Beweisbits ab.
Insgesamt muss V in polynomieller Zeit in n rechnen.
(b) Wir sagen, dass eine Sprache L zur Komplexitätsklasse PCP(r, q) gehört, wenn es einen
(r, q)-Verifier V und eine Konstante α (0 < α < 1) mit den folgenden Eigenschaften gibt:
(a) Vollständigkeit: Wenn die Eingabe w zur Sprache L gehört, dann gibt es einen Beweis
b, so daß V stets akzeptiert, wenn b auf dem Orakelband gespeichert ist.
Wir sagen auch, dass V die Vollständigkeit 1 besitzt.
(b) Soundness: Wenn die Eingabe w nicht zur Sprache L gehört, dann wird V für jeden
Beweis b mit Wahrscheinlichkeit höchstens α akzeptieren.
Wir sagen auch, dass V die Soundness α besitzt.
Kommentar: Wir fordern also, dass der Beweis lokal überprüfbar ist.
211
212
KAPITEL 8. PROBABILISTISCH ÜBERPRÜFBARE BEWEISE
In der mathematischen Logik bezeichnet man die Eigenschaft, dass alle wahren Aussagen
ableitbar sind, als „Vollständigkeit“ und die Eigenschaft, dass keine falschen Aussagen
ableitbar sind, als „Soundness“.
Aufgabe 97
Betrachte eine erweiterte Definition, bei der ein (adaptiver) Verifier seine Fragen nacheinander stellt, und so die i-te Frage von der Antwort auf die (i − 1).te Frage abhängen lassen
darf. PCP∗ (r, q) sei wie zuvor, jetzt aber mit adaptivem Verifier definiert.
Zeige: PCP(O(r), O(q)) = PCP∗ (O(r), O(q)).
Aufgabe 98
NTIME(t(n)) sei die Klasse aller Sprachen, die von einer nichtdeterministischen Turingmaschine in Zeit O(t) akzeptiert werden. Zeige, dass PCP(r, q) ⊆ NTIME(q · 2r · poly(n)) gilt.
Aufgabe 99
Angenommen, die Sprache L ∈ NP besitzt einen (r, q)-Verifier V mit Soundness α < 1.
Zeige, dass es dann einen (c · r, c · q)-Verifier Vc mit Soundness αc gibt.
Wie verhalten sich die PCP-Klassen zum „Rest der Welt“? Wenn wir weder Zufallsbits noch
Beweisbits zulassen, dann erhalten wir offensichtlich deterministische Berechnungen und
somit ist PCP(0, 0) = P. Lassen wir polynomiell viele Zufallsbits, aber keine Beweisbits,
zu, dann erhalten wir effiziente probabilistische Berechnungen, die für Worte der Sprachen
keinen Fehler machen. Erlauben wir jetzt neben polynomiell vielen Zufallsbits noch konstant viele Beweisbits, dann explodiert die Berechnungskraft, und wir erhalten die Klasse
aller Sprachen, die mit nichtdeterministischen Algorithmen in exponentieller Zeit erkannt
werden können.1
Beispiel 8.1 Die Nicht-Isomorphie2 von Graphen gehört zur Klasse PCP(poly(n), 1): Wir
möchten also überprüfen, ob zwei Graphen G1 , G2 nicht-isomorph sind und fordern dazu
polynomiell viele Zufallsbits und ein Beweisbit an.
V wählt zufällig einen der beiden Graphen, also den Graphen Gb , aus und permutiert Gb
mit einer zufälligen Permutation π um den Graphen H zu erhalten. Der Verifier erwartet
einen Beweis, der für Anfrage H (bzw in der H entsprechenden Position des Beweises)
das Beweisbit b besitzt. Erhält V die Antwort b, dann wird der Beweis akzeptiert und sonst
verworfen.
Wenn tatsächlich G1 6≡ G2 gilt, dann gibt es einen Beweis, den V mit Wahrscheinlichkeit 1
akzeptiert. Ist hingegen G1 ≡ G2 dann wird V nur mit Wahrscheinlichkeit 1/2 akzeptieren.
Gehen wir zu dem anderen Extrem und lassen polynomiell viele Beweisbits, aber keine
Zufallsbits zu, dann ergibt sich offensichtlich die Klasse PCP(0, poly(n)) = NP.
1
Den komplexen Beweis dieser Aussage lassen wir aus.
Die Komplexität des Nicht-Isomorphie Problems für Graphen ist bis heute ungeklärt. Man weiss, dass
Nicht-Isomorphie von Graphen mit beschränktem Grad effizient überprüft werden kann.
2
213
Beachte, dass wir einen (O(log2 n), poly(n))-Verifier V durch einen deterministischen Verifier V ∗ simulieren können, wobei V ∗ alle Zufallsfolgen σ systematisch aufzählt. Deshalb
folgt insbesondere PCP(O(log2 n), poly(n)) = PCP(0, poly(n)) = NP. Offensichtlich müssen
für NP-vollständige Sprachen mindestens konstant viele Beweisbits inspiziert werden. Ist
dies auch hinreichend, wenn wir auf logarithmisch viele Zufallsbits zugreifen können?
Satz 8.1 Das PCP-Theorem
Es gilt PCP(O(log2 n), O(1)) = NP.
Aufgabe 100
Folgere aus dem P CP Theorem: Es gibt eine Konstante K, so dass NP ⊆ PCP(O(log2 n), K).
Es gibt also eine Zahl K, so dass es für jede Sprache L ∈ NP einen Verifier gibt, der höchstens
K Beweisbits nachfragt.
Einen ersten Schritt im Beweis des PCP-Theorems führen wir in Kapitel 10. Dort zeigen wir
die Inklusion NP ⊆ PCP(poly(n), O(1)). Die umgekehrte Beziehung PCP(O(log2 n), O(1)) ⊆
NP ist offensichtlich, denn es ist
PCP(O(log2 n), O(1)) ⊆ PCP(O(log2 n), poly(n)) = NP.
Die ungemein überraschende Aussage von Satz 8.1 ist vielmehr die Inklusion
NP ⊆ PCP(O(log2 n), O(1)).
Zum Beispiel garantiert das PCP-Theorem, dass es für eine erfüllbare 3KNF Formel φ
einen polynomiell langen Beweis der Erfüllbarkeit gibt, so dass die Inspektion von konstant
vielen Beweisbits bereits hinreichend überzeugend ist. Ein konventioneller Beweis, der zum
Beispiel aus einer erfüllenden Belegung besteht, ist unzureichend: Bestenfalls kann die
Richtigkeit von konstant vielen Klauseln überprüft werden, aber dies wird im Allgemeinen
nicht zum Verwerfen nicht-erfüllbarer Formeln mit Wahrscheinlichkeit mindestens 21 führen.
Wenn wir allerdings a priori wissen, dass entweder alle Klauseln simultan erfüllbar sind
oder dass nur ein relativ kleiner Bruchteil erfüllbar ist, dann genügt es, einige wenige,
zufällig gewählte Klauseln auf ihre Richtigkeit hin zu überprüfen. Natürlich ist diese a
priori Annahme nicht zulässig, aber möglicherweise lassen sich Sprachen aus NP auf diese
Art und Weise „robust“ kodieren....
In der New York Times wurde das PCP-Theorem dahin gehend interpretiert, dass mathematische Beweise umgeschrieben werden können –ohne ihre Länge mehr als poynomiell zu
vergrößern–, so dass ein probabilistisch arbeitender Leser nach der Abfrage nur weniger
Beweisbits die Richtigkeit des Beweises überprüfen kann. Diese Interpretation ist für solche
Axiomensysteme richtig für die die Sprache
{ (α, 1n ) | Die Aussage α besitzt einen Beweis der Länge höchstens n }
zur Klasse NP gehört, denn das PCP-Theorem garantiert dann die schnelle probabilistische
Verifikation. Leider wird das PCP-Theorem aber nicht den Vorlesungsbetrieb revolutionieren, da ein Beweis natürlich nicht nur die Funktion der Verifizierbarkeit, sondern vorrangig
die Funktion der Erklärung haben muss.
214
8.1
KAPITEL 8. PROBABILISTISCH ÜBERPRÜFBARE BEWEISE
PCP und Approximierbarkeit
Warum ist das PCP-Theorem von zentraler Bedeutung für die Approximation?
Satz 8.2 Die beiden folgenden Aussagen sind äquivalent:
(a) Für eine KNF-Formel x sei g(x) die Anzahl der Klauseln von x. Dann gibt es eine
Konstante 0 < α < 1, so dass [α · g, g]-gap-MAX-3SAT ein NP-hartes Problem ist.
Kommentar: Wir haben damit für jede Sprache L ∈ NP eine lückenschaffende Reduktion von L auf MAX-3SAT erhalten.
(b) PCP(O(log2 n), O(1)) = NP.
In MAX-3SAT beschränken wir uns auf Klauseln mit höchstens drei Literalen pro Klausel.
Wir haben damit ein erstes Zwischenziel, nämlich die Bestimmung der Approximationskomplexität von MAX-3SAT und damit von MAX-SAT erreicht. Warum? Mit dem PCPTheorem wissen wir, dass PCP(O(log2 n), O(1)) = NP gilt. Deshalb können wir schließen,
dass [α · g, g]-gap-MAX-3SAT ein NP-hartes Problem ist. Wir wenden Satz 7.21 an und
erhalten, dass es keine effizienten 1/α-approximativen Algorithmen für MAX-3SAT gibt,
solange P 6= NP gilt.
Korollar 8.1 Es gelte P 6= NP. Dann gibt es eine Konstante β > 1, so dass MAX-3SAT
keine effizienten β-approximativen Algorithmen besitzt. Insbesondere besitzt MAX-3SAT
kein polynomielles Approximationsschema.
Beweis von Satz 8.2 (a) ⇒ (b): Sei L ∈ NP eine beliebige Sprache. Wir können annehmen, dass [α · g, g]-gap-MAX-3SAT ein NP-hartes Problem ist, wobei g die Anzahl der
Klauseln angibt. Also gibt es eine effizient berechenbare Transformation T , so dass für
Eingaben w ∈ L alle Klauseln der Formel T (w) erfüllbar sind, während weniger als der
Prozentsatz α aller Klauseln für w 6∈ L erfüllbar ist.
Wir konstruieren einen Verifier V für L, der logarithmisch viele Zufallsbits anfordert und
drei Beweisbits nachfragt. Für eine Eingabe w für L nimmt V an, dass der Beweis aus
einer erfüllenden Belegung für T (w) besteht. V wählt eine Klausel k von T (w) mit Hilfe
der logarithmisch vielen Zufallsbits aus, fragt die Wahrheitswerte der drei Variablen von k
ab und akzeptiert genau dann, wenn k erfüllt wird.
Wenn w ∈ L, dann ist T (w) erfüllbar und V akzeptiert den aus der erfüllenden Belegung
bestehenden Beweis mit Wahrscheinlichkeit 1. Ist w 6∈ L, dann ist weniger als der Bruchteil α aller Klauseln erfüllbar und V führt, für jeden „Beweis“, einen positiven Klauseltest
mit Wahrscheinlichkeit höchstens α durch. Also akzeptiert V fälschlicherweise mit Wahrscheinlichkeit höchstens α. Fazit: V ist ein ( O(log2 n), O(1) )-Verifier, und dies war zu
zeigen.
(b) ⇒ (a): Wir können das PCP-Theorem annehmen und müssen zeigen, dass wir jede
Sprache L ∈ NP lückenschaffend auf [α · g, g]-gap-MAX-3SAT für ein passendes α < 1
reduzieren können.
8.1. PCP UND APPROXIMIERBARKEIT
215
Da L ∈ NP, folgt L ∈ PCP(O(log n), O(1)) aus dem PCP-Theorem. Sei V ein Verifier, der L
mit O(log2 n) Zufallsbits und k = O(1) inspizierten Beweisbits akzeptiert. Für eine Eingabe
w ∈ {0, 1}n inspiziert V also k viele Bits eines unbekannten Beweises b = b1 b2 · · · bnd , wobei
die Wahl der inspizierten Bitpositionen nur von
- der Folge σ ∈ {0, 1}O(log n) der Zufallsbits und
- der Eingabe w
abhängt. Wir fixieren σ. Dann können wir mit einer DNF-Formel Dw,σ (x1 , . . . , xnd ) mit
höchstens k Literalen pro Monom festhalten, für welche Werte der Beweisbits der Verifier
verwirft. Mit anderen Worten, die k-KNF Formel ¬Dw,σ (x) beschreibt, wann V akzeptiert.
Beachte, dass die Konstruktion von ¬Dw,σ (x) in polynomieller Zeit gelingt, da V nur für die
höchstens 2k = O(1) vielen Kombinationen der Beweisbits zu simulieren ist. Wir definieren
die k-KNF Formel
^
Kw∗ = ¬Dw,σ (x)
σ
und beachten, dass auch
tion von höchstens
Kw∗
in polynomieller Zeit konstruierbar ist, da Kw∗ eine Konjunk2O(log n) = poly(n)
Einzelformeln ¬Dw,σ ist. Damit sind wir fast fertig, denn:
- Für w ∈ L erfüllt b als Wahrheitsbelegung interpretiert jede Klausel von Kw∗ .
- Für w ∈
/ L wird jeder Beweis mit Wahrscheinlichkeit höchstens α akzeptiert und
damit wird jede Wahrheitsbelegung höchstens den Bruchteil α aller Klauseln erfüllen.
Sei kσ die Anzahl der Klauseln von ¬Dw,σ (x) und r die Anzahl der verschiedenen Zufallsstrings σ. Dann wird für w ∈
/ L höchstens der Anteil
P
σ
1−α
(1 − α) · r
(1 − α) · r
kσ − (1 − α) · r
=
1
−
=: α0
=1− P
≤1−
P
k
k+1
r·2
2
σ kσ
σ kσ
aller Klauseln erfüllt. Allerdings müssen wir noch die k-Sat Formel in eine 3-Sat Formel
übersetzen. Dazu führen wir neue Variablen yi ein, und verwenden die Transformation
x1 ∨ x2 ∨ · · · ∨ xm ⇔ (x1 ∨ x2 ∨ y3 ) ∧ (¬y3 ∨ x3 ∨ y4 ) ∧ · · · ∧ (¬ym−1 ∨ xm−1 ∨ xm )
Wie sieht der neue Wert von α0 aus?
Aufgabe 101
Zeige, dass
PCP(0, log(n)) = P
gilt.
Hinweis: Stellt euch vor, ihr sollt ein Vokabelabfrageprogramm schreiben, welches jeweils
k von n Vokabeln abfragt. Beantwortet der Schüler alle k Fragen richtig, wird unterstellt,
er habe alle Vokabeln gekonnt. Wie gut kann euer Programm sein, wenn euch kein Zufall
zur Verfügung steht?
216
8.2
KAPITEL 8. PROBABILISTISCH ÜBERPRÜFBARE BEWEISE
VERTEX COVER und CLIQUE
Wir wissen mit Satz 8.2, dass [αg, g]-gap-MAX-3SAT ein NP-hartes Problem ist, wenn g(x)
die Anzahl der Klauseln von x und α eine Konstante mit 0 < α < 1 ist. Können wir
jetzt die versprochene Lawine auslösen? In der folgenden Aufgabe wird gezeigt, dass auch
MAX-2SAT ein NP-hartes Gap-Problem besitzt.
Aufgabe 102
(a) Sei K = (x1 ∨x2 ∨x3 ) eine Klausel. Konstruiere eine 2-KNF Formel φK (x1 , x2 , x3 , y)
mit einer neuen Variable y, so dass folgendes gilt. Für eine Belegung α ∈ {0, 1}3 der
Variablen x1 , x2 , x3 und eine Belegung b ∈ {0, 1} von y sei
#φK (α, b) = die Anzahl der von der Belegung (α, b) erfüllten Klauseln in φK .
Dann gibt es eine Konstante D ≥ 1, so dass
1. Für alle Belegungen (α, b) gilt #φK (α, b) ≤ D.
2. Für jede Belegung α gilt:
∗ Falls K(α) = 1, dann gibt es eine Belegung b, so dass #φK (α, b) = D ist.
∗ Falls K(α) = 0, dann #φK (α, b) ≤ D − 1 für beide Belegungen b ∈ {0, 1}
von y und es gibt eine Belegung b mit #φK (α, b) = D − 1.
Die kürzeste uns bekannte Lösung φK besteht aus 10 Klauseln (vier Klauseln der
Länge 1 und sechs Klauseln der Länge 2) und die ensprechende Konstante ist D = 7.
(b) Für eine KNF-Formel x sei g(x) die Anzahl der Klauseln von x. Konstruiere für
jedes α < 1 eine lückenerhaltende Reduktion von [α · g, g]-gap-MAX-3SAT auf [α0 ·
g, g]-gap-MAX-2SAT für eine geeignet zu wählende Konstante α0 < 1.
Fazit: MAX-2SAT besitzt keine effizienten Algorithmen mit beliebig kleinen Approximationsfaktoren. Dieses Resultat ist überraschend, denn das Entscheidungsproblem
2-SAT liegt in P.
Unser Ziel ist ambitioniert: Wir möchten zeigen, dass INDEPENDENT SET3 bereits für
Graphen von kleinem Grad nicht effizient mit beliebig kleinen Faktoren approximiert werden kann. Für allgemeine Graphen mit n Knoten möchten wir dieses Schwierigkeitsergebnis
amplifizieren und zeigen, dass sogar effiziente nε -approximative Algorithmen ausgeschlossen sind!
3
In INDEPENDENT SET ist eine möglichst große Knotenmenge W zu konstruieren, so dass keine zwei
Knoten von W durch eine Kante verbunden sind.
217
8.2. VERTEX COVER UND CLIQUE
Unser erstes Ziel ist der Nachweis, dass INDEPENDENT SET für Graphen von kleinem
Grad schwierig zu approximieren ist. Als ein Zwischenziel betrachten wir deshalb MAX3SATB für eine Konstante B: Für eine gegebene 3KNF Formel, deren Variablen in höchstens B Klauseln vorkommen, sind möglichst viele Klauseln zu erfüllen. Wir zeigen, dass
MAX-3SAT5 ein NP-hartes Gap-Problem besitzt.
Lemma 8.1 Für eine KNF-Formel x sei g(x) die Anzahl der Klauseln von x. Dann gibt
es eine Konstante B, so dass [αg, g]-gap-MAX-3SATB ein NP-hartes Problem für eine
geeignete Konstante α < 1 ist.
Beweis: Wir nutzen aus, dass MAX-3SAT ein NP-hartes Gap-Problem besitzt und konstruieren eine lückenerhaltende Reduktion von MAX-3SAT auf MAX-3SATB für eine geeignete
Konstante B.
Sei φ eine 3KNF-Formel mit den n Variablen x1 , . . . , xn und m Klauseln. Die ite Variable
komme mi -mal in den Klauseln von φ vor. Wir setzen
N=
X
mi
i
und erhalten N ≤ 3 · m, denn φ ist eine 3KNF-Formel.
Wir weisen φ eine 3KNF Formel ψ zu. Für eine geeignete natürliche Zahl B wird ψ die
Eigenschaft besitzen, dass keine Variable mehr als B-mal auftritt. Hierzu ersetzen wir das
jte Vorkommen der Variablen xi durch die neue Variable xi,j .
Jetzt müssen wir allerdings Sorge tragen, dass die Variablen xi,1 , . . . , xi,mi in optimalen
Wahrheitsbelegungen auch den gleichen Wahrheitswert erhalten. Deshalb werden in ψ für
jedes i neue Klauseln eingeführt.
Fakt 8.1 Es gibt eine natürliche Zahl B, so dass für jede natürliche Zahl m ungerichtete
Graphen Gm = (Vm , Em ) in Zeit poly(m) konstruiert werden können. Die Graphen Gm
besitzen die folgenden Eigenschaften:
• |Vm | = m.
• Jeder Knoten besitzt genau B Nachbarn.
• Die Expansionseigenschaft gilt: Für jede Knotenmenge W ⊆ Vm gibt es mindestens
1+min{|W |, |Vm −W |} Kanten, die einen Knoten in W mit einem Knoten aus Vm −W
verbinden.
Wir interpretieren die Knoten von Gmi als Repräsentanten der neuen Variablen xi,1 , . . . , xi,mi .
Für jede Kante {r, s} in Gmi fügen wir jetzt die beiden Klauseln xi,r ∨ ¬xi,s und ¬xi,r ∨ xi,s
P
als neue Klauseln zu ψ hinzu. Die Formel ψ besteht also insgesamt aus B · i mi = B · N
neuen Klauseln und m modifizierten alten Klauseln. Die Expansions-Eigenschaft der Graphen Gm zahlt sich jetzt aus:
Behauptung 8.1 Jede Wahrheitsbelegung, die eine größtmögliche Anzahl von Klauseln
von ψ erfüllt, erfüllt alle neuen Klauseln.
218
KAPITEL 8. PROBABILISTISCH ÜBERPRÜFBARE BEWEISE
Beweis der Behauptung: Angenommen, eine Wahrheitsbelegung weist den Variablen
xi,1 ,.., xi,mi unterschiedliche Wahrheitswerte zu. Wir definieren W = {j | xi,j = 0} und
dementsprechend ist Vmi \ W = {j | xi,j = 1}. Die Menge W habe, ohne Beschränkung
der Allgemeinheit, höchstens m2i Elemente. Dann garantiert der Fakt, dass Gmi mindestens
1 + |W | Kanten mit einem Endpunkt in W und einem Endpunkt in Vmi \ W besitzt.
Wir flippen den Wahrheitswert der Variablen in W und erfüllen deshalb möglicherweise |W |
alte Klauseln nicht mehr. Im Gegenzug haben wir aber mindestens 1 + |W | neue Klauseln
erfüllen können.
Offensichtlich ist φ genau dann erfüllbar, wenn ψ erfüllbar ist. Wenn andererseits weniger
als α · m Klauseln von φ simultan erfüllbar sind, dann sind höchstens α · m + B · N Klauseln
von ψ simultan erfüllbar. Es ist aber N ≤ 3m und deshalb sind in diesem Fall mehr als
(1−α)·m =
(1 − α) · m
1−α
(1 − α) · m
·(m+B ·N ) ≥
·(m+B ·N ) =
·(m+B ·N )
m+B·N
m+3·B·m
1+3·B
Klauseln nicht erfüllt worden.
Aufgabe 103
Zeige, dass Lemma 8.1 bereits für B = 5 gilt.
Hinweis: Benutze das Ergebnis von Lemma 8.1. Dann bleibt die Aufgabe, eine Formel mit
bis zu B-maligem Vorkommen ihrer Variablen in eine Formel mit höchstens 5-maligem
Vorkommen ihrer Variablen zu transformieren.
Führe wiederum neue Variablen für solche Variablen ein, die zu häufig vorkommen. Da
wir jetzt davon ausgehen, dass Variablen maximal B mal vorkommen, können wir mit
einfacheren Graphen –im Vergleich zur Konstruktion mit Hilfe von Fakt 8.1– “erzwingen”,
dass Kopien den gleichen Wahrheitswert annehmen.
Wir zeigen als nächstes, dass INDEPENDENT SET selbst für Graphen von beschränktem
Grad schwierig zu approximieren ist. Dazu reduzieren wir MAX-3SATB lückenerhaltend
auf INDEPENDENT SETB+1 . (INDEPENDENT SETB ist die Einschränkung von INDEPENDENT SET auf Graphen mit höchstens B Nachbarn pro Knoten.)
Lemma 8.2 Sei B ∈ N vorgegeben. Dann gibt es eine effizient berechenbare Transformation
φ 7→ Gφ
einer 3-KNF Formel φ (mit höchstens B Vorkommen einer Variablen) auf einen ungerichteten Graphen Gφ vom Grad höchstens B + 1, so dass
die maximale Größe einer unabhängigen Menge in Gφ übereinstimmt mit der maximalen Anzahl simultan erfüllbarer Klauseln von φ.
Beweis: Sei φ eine 3KNF-Formel, so dass jede Variable in höchstens B Klauseln auftritt.
Wir konstruieren einen ungerichteten Graphen Gφ aus φ, indem wir für jede Klausel eine
Gruppe von 3 Knoten (mit einem Knoten pro Literal) anlegen. Wir setzen Kanten wie
folgt ein:
219
8.2. VERTEX COVER UND CLIQUE
- Je zwei Knoten einer Gruppe werden verbunden.
- Knoten verschiedener Gruppen werden genau dann verbunden, wenn die beiden Knoten einem Literal und seiner Negation entsprechen.
¬x
K = {x, ¬x ∨ ¬y, y}
=⇒
y
x
¬y
Abbildung 8.1: Die Konstruktion des Graphen Gφ
Offenbar ist jeder Knoten von Gφ mit höchstens B − 1 „negierten Knoten“ aus anderen
Klauseln und mit maximal zwei Knoten aus der Klausel verbunden. Folglich besitzt jeder
Knoten in Gφ höchstens B + 1 Nachbarn.
Sei U eine unabhängige Knotenmenge in Gφ . Dann besitzt U offensichtlich höchstens einen
Knoten pro Gruppe. Da die Literale, die Knoten aus U entsprechen, simultan auf wahr
gesetzt werden können, gibt es mindestens |U | simultan erfüllbare Klauseln. Da es aber
auch andererseits für jede Menge von u erfüllbaren Klauseln eine entsprechende unabhängige Menge der Größe u gibt (warum?), stimmt die maximale Anzahl simultan erfüllbarer
Klauseln überein mit der Größe der größten unabhängigen Menge.
Korollar 8.2 Es gelte P 6= NP.
Die Probleme MAX-3SAT5 , VERTEX COVER und INDEPENDENT SET6 besitzen keine
polynomiellen Approximationsschemata.
Beweis: Wir erhalten aus Lemma 8.1 und der darauf folgenden Übungsaufgabe, dass
MAX-3SAT5 kein polynomielles Approximationsschema besitzt. Auch INDEPENDENT
SET6 besitzt deshalb gemäß Lemma 8.2 kein polynomielles Approximationsschema. Die
Behauptung für VERTEX COVER ist als Übungsaufgabe gestellt.
Aufgabe 104
Zeige die folgende Aussage: Sei L ∈ NP. Dann können wir für jede Eingabe w deterministisch
in polynomieller Zeit einen Graphen Gw und eine Zahl kw bestimmen, so dass es eine
Konstante δ > 1 mit den folgenden Eigenschaften gibt:
- Für w ∈ L besitzt Gw eine Knotenüberdeckung der Größe höchstens kw .
- Für w ∈
/ L besitzt jede Knotenüberdeckung mindestens δ · kw Knoten.
Hinweis: Betrachte den Beweis von Lemma 8.2.
220
KAPITEL 8. PROBABILISTISCH ÜBERPRÜFBARE BEWEISE
Aufgabe 105
Gehört INDEPENDENT SET6 zur Klasse APX?
Wir kommen jetzt zu dem zentralen Ergebnis dieses Abschnitts.
Satz 8.3 Es gibt ε > 0, so dass sowohl CLIQUE wie auch INDEPENDENT SET keine
effizienten Approximationsalgorithmen mit Verlustfaktor nε besitzen.
Beweis: CLIQUE und INDEPENDENT SET sind äquivalente Probleme, da die Größe
einer größtmöglichen Clique in einem Graphen übereinstimmt mit der Größe einer größtmöglichen unabhängigen Menge im Komplementgraphen. Wir konzentrieren uns deshalb
im Folgenden auf CLIQUE.
Wir skizzieren zuerst die Idee und führen das Graph-Produkt G = G1 ×G2 für ungerichtete
Graphen G1 = (V1 , E1 ) und G2 = (V2 , E2 ) ein. Insbesondere ist G = (V, E) mit V = V1 ×V2
und
E = { {(u1 , v1 ), (u2 , v2 )} | {u1 , u2 } ∈ E1 , {v1 , v2 } ∈ E2 , }.
Wir nehmen an, dass sowohl G1 wie auch G2 alle Eigenschleifen „{u, u}“ enthalten. Man
überzeuge sich, dass
clique(G1 × G2 ) = clique(G1 ) · clique(G2 )
gilt, wobei clique(H) die Größe der größten Clique von H bezeichne. Insbesondere ist
clique(H)r = clique(H r )
und es scheint, dass sich ein Approximationsfaktor v für den Graphen H in einen Approximationsfaktor v r für den Graphen H r übersetzt.
Aufgabe 106
Zeige: Wenn CLIQUE nicht mit dem Faktor α effizient approximierbar ist, dann ist CLIQUE auch nicht mit dem Faktor α2 effizient approximierbar.
Leider aber ist dem nicht so, denn der Graph H r ist wesentlich größer als der Graph H und
Approximationsalgorithmen dürfen auf der sehr viel größeren Eingabe H r dementsprechend
mehr Laufzeit investieren. Wir benötigen vielmehr das folgende Konzept, um einerseits
noch die Eigenschaften des Graphprodukts zu erhalten und um andererseits nicht die Größe
des Produkt-Graphen hochzutreiben.
Definition 8.2 Seien n und k natürliche Zahlen und sei δ eine reelle Zahl. Ein (n, k, δ)Booster ist eine Menge B von k-elementigen Teilmengen von {1, . . . , n}. Für jede Teilmenge A ⊆ {1, . . . , n} gilt
(
|A|
|A|
− δ)k · |B| ≤ |{T ∈ B | T ⊆ A}| ≤ (
+ δ)k · |B|.
n
n
221
8.2. VERTEX COVER UND CLIQUE
Wenn B die Menge aller k-elementigen Teilmengen von {1, . . . , n} ist, dann ist ( |A|
)k die
n
(ungefähre) Wahrscheinlichkeit, dass eine fixierte Menge T ∈ B in der Menge A enthalten
ist.
Ein (n, k, δ)-Booster ermöglicht also eine gute Approximation der Größe der
Menge A, solange wir die Anzahl der Boostermengen kennen, die in A enthalten
sind. Um die Anzahl der enthaltenen Teilmengen effizient bestimmen zu können,
werden wir zusätzlich verlangen, dass der Booster aus nicht nicht zu vielen,
effizient konstruierbaren Teilmengen besteht.
Insbesondere benötigen wir (n, k, δ)-Booster für k = O(log2 n) und für kleines δ > 0.
Fakt 8.2 Für jedes k = O(log2 n) und für jedes δ > 0 gibt es (n, k, δ)-Booster, so dass
alle Teilmengen des Boosters in polynomieller Zeit in n konstruiert werden können. (Insbesondere haben diese Booster also nur polynomiell viele Teilmengen.)
Sei G ein ungerichteter Graph mit Knotenmenge {1, . . . , n}. Anstelle des Graphprodukts
Gr betrachten wir jetzt das Booster-Produkt B(G), dessen Knoten den Teilmengen des
Boosters B entsprechen. Zwei Boostermengen S1 , S2 ∈ B werden in B(G) durch eine
Kante verbunden, falls S1 ∪ S2 eine Clique in G ist. Das Booster-Produkt erfüllt seinen
Zweck, denn:
Behauptung 8.2 Für jeden Graphen G und für jeden (n, k, δ)-Booster B gilt
(
clique (G)
clique (G)
− δ)k · |B| ≤ clique ( B(G) ) ≤ (
+ δ)k · |B|.
n
n
Beweis der Behauptung: Die Menge A ⊆ {1, . . . , n} sei eine größte Clique in G. Dann
(G)
ist |A| = clique (G), und der Booster besitzt mindestens ( clique
− δ)k · |B| Teilmengen
n
von A. Sämtliche in A enthaltenen Boostermengen bilden aber eine Clique in B(G), und
es ist
clique (G)
− δ)k · |B| ≤ clique ( B(G) ).
(
n
Andererseits sei A0 die größte Clique in B(G). Wir definieren A als die Vereinigung aller
Mengen des Boosters, die den Elementen von A0 entsprechen. Dann ist A offensichtlich eine
Clique in G und es ist |A| ≤ clique(G). Der Booster besitzt also höchstens ( |A|
+ δ)k · |B| ≤
n
( clique (G) + δ)k · |B| viele Teilmengen von A. Wir haben also
n
clique ( B(G) ) = |A0 | = |{T ∈ B | T ⊆ A}| ≤ (
clique (G)
+ δ)k · |B|
n
erhalten.
Wir wissen mit Lemma 8.2, dass [αn, βn]-gap-INDEPENDENT SET6 ein NP-hartes Problem ist. Also ist auch [αn, βn]-gap-CLIQUEn−6 ein NP-hartes Problem. Im Gap-Problem
für CLIQUE sind aber nur solche Graphen G interessant, für die
clique (G) < α · n oder β · n ≤ clique (G).
222
KAPITEL 8. PROBABILISTISCH ÜBERPRÜFBARE BEWEISE
gilt. Wir konstruieren einen (n, log2 n, δ)-Booster und das entsprechende Booster-Produkt
B(G). Als Konsequenz der Behauptung 8.2 erhalten wir also
clique ( B(G) ) ≤ (α + δ)log2 n · |B| oder (β − δ)log2 n · |B| ≤ clique (B(G)) .
Für ein genügend kleines δ können wir also die Lücke von vorher
polynomiell amplifizieren.
β
α
β−δ log2 n
auf jetzt ( α+δ
)
Es kann sogar gezeigt werden, dass CLIQUE, für jedes ε < 0, keine effizienten n1−ε -approximativen Algorithmen besitzt.
In COLORING ist ein ungerichteter Graph G gegeben und es wird nach einer Knotenfärbung mit einer kleinstmöglichen Farbenzahl gefragt, so dass keine zwei benachbarten
Knoten in G die gleiche Farbe besitzen. Beachte, dass eine alternative Formulierung die
Frage nach einer Zerlegung von G in eine kleinstmögliche Zahl unabhängiger Mengen ist.
Es kann gezeigt werden, dass auch COLORING keine effizienten n1−ε -approximativen Algorithmen besitzt.
Diese Ergebnisse sind ein enormer Fortschritt, wenn man beachtet, dass für lange Jahre
sogar polynomiellen Approximationsschemata für CLIQUE nicht ausgeschlossen waren.
Allerdings ist unser Wissen immer noch sehr eingeschränkt:
- Angenommen, wir erhalten das Versprechen, daß ein gegebener Graph 3-färbbar ist.
Dann sind die besten effizienten Algorithmen bisher nur im Stande, eine Färbung mit
O(n0,25 · log n) Farben zu finden.
- Die besten effizienten Approximationsalgorithmen für INDEPENDENT SET erreichen nur den Approximationsfaktor O( logn2 n ).
In beiden Fällen fehlen Resultate, die die Existenz effizienter Algorithmen ausschließen,
bzw. die Nicht-Existenz plausibel machen.
Aufgabe 107
Es gelte P 6= NP. Zeige, dass COLORING keine effizienten 43 -approximativen Algorithmen
besitzt.
Hinweis: Das 3-Färbbarkeitsproblem ist NP-vollständig.
Aufgabe 108
Wir stellen die Probleme FEEDBACK VERTEX SET und FEEDBACK ARC SET vor,
die in der Lösung von Deadlock Problemen eine zentrale Rolle spielen.
In MINIMUM FEEDBACK VERTEX SET ist ein gerichteter Graph G = (V, E) gegeben.
Gesucht ist eine minimale Knotenmenge W ⊆ V , so dass W mindestens einen Knoten
eines jeden gerichteten Zyklus enthält. Die Herausnahme von W bricht somit alle Zyklen.
In MINIMUM FEEDBACK ARC SET ist ein gerichteter Graph G = (V, E) gegeben.
Gesucht ist eine minimale Kantenmenge A ⊆ E, so dass A mindestens eine Kante eines
jeden gerichteten Zyklus enthält.
(a) Konstruiere eine lückenerhaltende Reduktion von VERTEX COVER auf MINIMUM
FEEDBACK VERTEX SET.
223
8.3. HASTAD’S 3-BIT PCP
(b) Konstuiere eine lückenerhaltende Reduktion von MINIMUM FEEDBACK VERTEX
SET auf MINIMUM FEEDBACK ARC SET.
Fazit: Auch für MINIMUM FEEDBACK VERTEX SET und MINIMUM FEEDBACK
ARC SET sind keine polynomiellen Approximationsschemata zu erwarten.
8.3
Hastad’s 3-Bit PCP
Im PCP-Theorem wird gezeigt, dass jede Sprache verifizierbare Beweise besitzt, für die
die Nachfrage konstant vieler Beweisbits genügt, wenn logarithmisch viele Zufallsbits zur
Verfügung stehen. Genügt die Nachfrage nach drei oder sogar nach nur zwei Beweisbits?
Zwei Bits sind unzureichend, denn:
Aufgabe 109
Zeige, dass
PCP(O(log n), 2) = P
gilt. Hinweis: Eine Sprache L ∈ PCP(O(log n), 2) werde von dem Verifier V erkannt. Versuche für eine Eingabe x eine 2-KNF Formel Kx zu konstruieren, so dass Kx genau dann
erfüllbar ist, wenn es einen Beweis gibt, der von V stets akzeptiert wird. Wir wissen, dass
2-SAT in polynomieller Zeit lösbar ist.
Andereseits genügen tatsächlich drei Bits fast, denn:
Satz 8.4 Für alle Konstanten ε, η > 0 und jede Sprache L ∈ NP gibt es einen Verifier V ,
so dass
(a) V nur drei Beweisbits x, y, z anfordert, mit O(log2 n) Zufallsbits auskommt
(b) und Akzeptanz über den Wert einer Summe α · x + β · y + γ · z mod 2 entscheidet.
Weiterhin gibt es für jede Eingabe w ∈ L stets einen Beweis, der mit Wahrscheinlichkeit
1 − ε akzeptiert wird. Ist hingegen w 6∈ L, dann wird jeder Beweis mit Wahrscheinlichkeit
höchstens 1/2 + η akzeptiert.
Aufgabe 110
Zeige: Wenn der Verifier in Satz 8.4 für jede Eingabe w ∈ L einen Beweis mit Wahrscheinlichkeit 1 akzeptieren würde, dann gilt P = NP.
Wir geben keinen Beweis an, sondern untersuchen die Konsequenzen der Aussage. Zuerst
betrachten wir das Optimierungsproblem MAX-3LIN: Wir erhalten ein lineares Gleichungssystem
A · x = b mod 2
224
KAPITEL 8. PROBABILISTISCH ÜBERPRÜFBARE BEWEISE
über den ganzen Zahlen modulo zwei, wobei in jeder Gleichung höchstens drei Variablen
vorkommen. Unsere Aufgabe ist die Bestimmung eines Vektors x, so dass möglichst viele
Gleichungen des Systems erfüllt werden. Was passiert, wenn wir einen Vektor x zufällig auswürfeln? Jede einzelne Gleichung wird mit Wahrscheinlichkeit 1/2 erfüllt, und wir werden
im Erwartungsfall die Hälfte aller Gleichungen erfüllen.
Betrachten wir als Nächstes MAX-3SAT. Wenn wir eine Belegung zufällig auswürfeln, dann
werden wir eine bestimmte Klausel mit Wahrscheinlichkeit 7/8 erfüllen, da die Klausel von
sieben ihrer acht möglichen Belegungen erfüllt wird. Geht es besser? Überraschenderweise
ist in beiden Fällen „nicht mehr drin“.
Satz 8.5 Es gelte P 6= NP.
(a) Dann besitzt MAX-3LIN für jedes ε > 0 keine effizienten, 2 − ε-approximativen
Algorithmen.
(b) Auch MAX-3SAT besitzt für jedes ε > 0 keine effizienten, 8/7 − ε-approximativen
Algorithmen.
Beweis (a): Wir versuchen das NP-vollständige Erfüllbarkeitsproblem zu lösen. Wir wenden Satz 8.4 an und erhalten einen Verifier, der für jede Folge σ von logarithmisch vielen
Zufallsbits akzeptiert, wenn die Gleichung
ασ · xσ + βσ · yσ + γσ · zσ = bσ
für die nachgefragten Beweisbits xσ , yσ , zσ erfüllt ist. Weiterhin wissen wir, dass die Eingabe zu akzeptieren ist, wenn fast alle Gleichungen erfüllt werden, und zu verwerfen ist,
wenn nur wenig mehr als die Hälfte aller Gleichungen erfüllt werden. Wenn wir MAX3LIN mit einem (2 − ε)-approximativen Algorithmus lösen könnten, dann hätten wir das
Erfüllbarkeitsproblem geknackt und das geht nun mal nicht.
(b) Wir reduzieren MAX-3LIN auf MAX-3SAT. Dazu schreiben wir jede Gleichung des
Systems A · x = b mod 2 als die Konjunktionen von vier Klauseln und erhalten statt des
linearen Systems eine 3KNF Formel φ.
Wenn A · x = b mod 2 „fast“ erfüllbar ist, dann sind auch fast alle Klauseln der KNF φ
erfüllbar. Sind hingegen nur wenig mehr als die Hälfte aller Gleichungen erfüllbar, dann
sind bei m Gleichungen ungefähr
4·
m
7
7
m
+3·
= · m = · 4m
2
2
2
8
der 4m Klauseln erfüllbar. Und MAX-3SAT kann keine effizienten (8/7−ε)-approximativen
Algorithmen besitzen.
Bemerkung 8.1 Beachte, dass wir den Beweis von Teil (b) durch eine lückenbewahrende Reduktion zwischen den Gap-Versionen von MAX-3LIN und MAX-3SAT durchgeführt
haben: Die ursprüngliche Lücke von fast einer Hälfte wurde auf eine Lücke von fast einem
Achtel transformiert.
Kapitel 9
Parallel Repetition∗
Das Ziel dieses Abschnitts ist die Untersuchung der Approximationskomplexität von SET
COVER. Wir müssen einen ziemlichen Anlauf nehmen: Das Parallel Repetition Theorem
wird die zentrale Methode sein, die uns helfen wird.
Anwendungen des PCP-Theorems für die Nichtapproximierbarkeit sind umso stärker je
kleiner der Soundness-Parameter α ist. Ein (r, q)-Verifier kann seine Soundness von α auf
αk senken, indem q Anfragen k-mal sequentiell wiederholt werden. Der große Nachteil
dieses Vorgehens ist die um den Faktor k angestiegene Anzahl der Anfragen: In Hastad’s
3-Bit PCP war die Konstruktion eines Verifiers mit nur drei Anfragen und Soundness fast
1/2 der wesentliche Beitrag.
Wenn wir die Anzahl q der Nachfragen unverändert lassen wollen, bietet es sich an, alle k
„ersten“ Anfragen in einer „Kombi-Anfrage“ zu bündeln, die dann vom Prover mit einem
k-Bit String parallel beantwortet werden. Wir verfahren mit den k „zweiten“ „dritten“,
. . . „qten“ Anfragen analog, bleiben also bei q Anfragen, haben aber die 1-Bit Antworten
des Provers auf k-Bit Antworten erhöht, was wir uns als Vergrößerung des Alphabets des
Provers vorstellen können. Überraschenderweise ist die Alphabetvergrößerung in vielen
Anwendungen unproblematisch, aber funktioniert dieses Vorgehen, d.h. wird der Soundness
Parameter tatsächlich von α auf αk erniedrigt?
Die deprimierende Antwort ist nein, die Vergrößerung des Alphabets von einem auf k Bits
ist das Problem. Für k = 2 können wir uns vorstellen, dass sich das 1-dimensionale Format
des alten Beweises in ein 2-dimensionales Format ändert: Für Anfragen (i, j) und (i, l) sind
jetzt Antworten (a, b) und (c, d) mit a 6= c möglich, und der Verifier muss sich jetzt mit
nach seiner Ansicht inkonsisten Beweisen auseinandersetzen!
Um dieses Problem in den Griff zu bekommen, betrachten wir 2-Prover Spiele.
9.1
2-Prover Spiele
Statt einem Verifier und einem Prover betrachten wir jetzt einen Verifier und zwei Prover.
Der Verifier formuliert genau eine Anfrage an den ersten und ebenfalls genau eine Anfrage
an den zweiten Prover. Der erste Prover antwortet mit einem Buchstaben aus dem Alphabet
225
226
KAPITEL 9. PARALLEL REPETITION∗
Σ1 , der zweite Prover antwortet mit einem Buchstaben aus Alphabet Σ2 . Die beiden Prover
dürfen sich vor Beginn der Rechnung absprechen, dürfen aber während der Rechnung nicht
mehr miteinander kommunizieren.
Wir sagen, dass eine Sprache L zur Klasse 2Pβ,α (r) gehört, wenn es einen effizienten Verifier
V gibt der für Eingaben der Länge n höchstens r(n) Zufallsbits anfordert. Es muss gelten:
(a) Vollständigkeit: Wenn die Eingabe w zur Sprache L gehört, dann gibt es Beweise der
beiden Prover, die V mit Wahrscheinlichkeit mindestens β akzeptiert.
(b) Soundness: Wenn die Eingabe w nicht zur Sprache L gehört, dann wird V alle Beweise
der beiden Prover mit Wahrscheinlichkeit höchstens α akzeptieren.
Obwohl wir den Verifier sehr stark eingeschränkt haben –es darf nur jeweils ein Beweisbit
nachgefragt werden– erhalten wir ein neues PCP-Theorem:
Satz 9.1 Es gibt α < 1 mit NP = 2P1,α (O(log2 n)).
Beweis: Wenn L ∈ 2P1,α (O(log2 n)), dann rate zwei Beweise nichtdeterministisch. Falls
w ∈ L werden wir zwei Beweise finden, so dass V für alle polynomiell vielen Zufallstrings
akzeptiert. Falls w 6∈ L werden wir mindestens einen Zufallsstring finden, für den V nicht
akzeptiert. Da V ein effizienter deterministischer Algorithmus ist, haben wir einen effizienten nichtdeterministischen Algorithmus für L gefunden und L ∈ NP.
Für die Umkehrung NP ⊆ 2P1,α (O(log2 n)) genügt der Nachweis, dass das NP-vollständige
3SAT Problem in 2P1,α (O(log2 n)) liegt. Sei φ eine 3KNF-Formel. Wir wenden Satz 8.2 an
und erhalten eine effiziente Transformation T mit den Eigenschaften:
- Wenn φ erfüllbar ist, dann ist auch T (φ) erfüllbar.
- Ist φ nicht erfüllbar, dann ist höchstens ein Bruchteil α < 1 aller Klauseln von T (φ)
erfüllbar.
Unser Verifier V erwartet, dass der Beweis des ersten Provers eine erfüllende Belegung von
T (φ) ist, der erste Prover verwendet demgemäß das binäre Alphabet für die Beantwortung.
V erwartet vom zweiten Prover eine erfüllende Belegung für jede Klausel von T (φ); das
Alphabet des zweiten Provers hat also die Größe acht.
V wählt eine Klausel und eine Variable der Klausel zufällig. Der erste Prover antwortet mit
dem Wert der Variablen, der zweite Prover mit der Belegung der Klausel. V akzeptiert,
wenn beide Antworten konsistent sind und die Klausel erfüllt wird.
Fall 1: φ hat eine erfüllende Belegung x. Die beiden Beweise, nämlich die erfüllende Belegung x und die Belegung x auf alle Klauseln eingeschränkt, werden mit Wahrscheinlichkeit
1 akzeptiert.
Fall 2: φ ist nicht erfüllbar. Dann wird höchstens der Bruchteil α < 1 aller Klauseln erfüllt.
Mit Wahrscheinlichkeit mindestens 1 − α wird V eine falsifizierte Klausel finden. Aber die
beiden Prover haben noch die Chance des Betrugs: Der zweite Prover könnte nämlich eine
erfüllende Belegung der Klausel präsentieren! Mit Wahrscheinlichkeit 1/3 fliegt der Betrug
9.2. LABEL COVER
227
aber auf, da V die Inkonsistenz bemerkt. Wir erreichen somit den Soundness-Parameter
1 − 1−α
< 1.
3
Wie sieht es jetzt mit der parallelen Wiederholung von Anfragen aus?
Satz 9.2 Das Parallel Repetition Theorem von Raz
Der Verifier V möge Vollständigkeit 1 und Soundness α erreichen. Die k-malige parallele
Wiederholung für Verifier V führt auf Vollständigkeit 1 und Soundness höchstens (α0 )k . Die
Konstante α0 hängt nur von α und den Alphabetgrößen der beiden Prover ab; die Anzahl
der Anfragen bleibt bei Eins, die Anzahl nachgefragter Zufallsbits steigt auf k · r an.
Den komplizierten Beweis zeigen wir nicht.
Wir haben keine „perfekte“ Reduktion des Soundness-Parameters erreicht, da der Soundness Parameter auf (α0 )k und nicht auf αk reduziert wurde. Dieses Ergebnis ist aber bestmöglich, insbesondere kann eine perfekte Reduktion nicht erreicht werden.
Bemerkung 9.1 Warum ist eine Reduktion des Soundness-Parameters von α auf αk im
Allgemeinen nicht möglich? Der Verifier V wählt ein Paar (r1 , r2 ) ∈ {0, 1}2 zufällig aus
und sendet ri an Prover i. Der Verifier erwartet entweder die identische Antwort (1, r1 )
oder die identische Antwort (2, r2 ) von beiden Provern.
Mit welcher Wahrscheinlichkeit p akzeptiert V ? Wenn beide Prover mit (1, r1 ) antworten,
dann ist p ≤ 12 , da Prover 2 das Bit r1 nicht kennt. Offensichtlich gilt p ≤ 12 auch unter
der Bedingung, dass beide Prover mit (2, r2 ) antworten: Der Verifier akzeptiert also mit
Wahrscheinlichkeit höchstens 1/2.
Wir führen k = 2 parallele Wiederholungen durch. Der Verifier wählt also eine Folge
(r1 , r2 , s1 , s2 ) von vier Bits zufällig aus und sendet (r1 , r2 ) an Prover 1 und (s1 , s2 ) an
Prover 2. Diesmal erwartet V Antworten der Form (i1 , ri1 , i2 , si2 ) und akzeptiert, wenn
beide Antworten richtig und identisch sind.
Wir erwarten, dass der Soundness-Parameter auf höchstens 1/4 sinkt, tatsächlich bleibt
der Soundness-Parameter unverändert auf 1/2. Dazu antwortet Prover 1 mit (1, r1 , 2, r1 )
und Prover 2 mit (1, s2 , 2, s2 ). Der Verifier akzeptiert genau dann, wenn r1 = s2 und dies
passiert mit Wahrscheinlichkeit 1/2.
Aufgabe 111
Welchen Wert des Soundness-Parameters kann der Verifier by k-maliger paralleler Wiederholung nicht unterschreiten?
9.2
LABEL COVER
Im Problem LABEL COVER modellieren wir unser Vorgehen in Satz 9.1. Eine Instanz von
LABEL COVER besteht aus einem bipartiten Graphen G = (A ∪ B, E), wobei alle Kanten
einen Knoten in A mit einem Knoten in B verbinden. Für jeden Knoten v ∈ A ∪ B ist eine
endliche Menge Lv von Markierungen und für jede Kante e = {a, b} mit a ∈ A und b ∈ B
ist eine Funktion fa,b : La → Lb gegeben. Unser Ziel ist eine „Färbung“ fA der Knoten
228
KAPITEL 9. PARALLEL REPETITION∗
a ∈ A (mit fA (a) ∈ La ) sowie eine „Färbung“ fB der Knoten in b ∈ B (mit fB (b) ∈ Lb ),
so dass
|{e = {a, b} ∈ E | fa,b (fA (a)) = fB (b)}|
möglichst groß ist: Die Knoten sind also so zu färben, dass die Endpunkte möglichst vieler
Kanten {a, b} konsistent, also gemäß der „Bedingung“ fa,b gefärbt sind.
Bemerkung 9.2 Sei p eine Primzahl. Wir betrachten lineare Gleichungssysteme, die nur
aus Gleichungen der Form
ai,j · xi + bi,j · yj = ci,j
bestehen, wobei die Koeffizienten ai,j und bi,j nicht durch p teilbar seien. Unser Ziel ist die
simultane Erfüllung möglichst vieler Gleichungen.
Dieses Problem können wir als ein LABEL COVER Problem auffassen, wenn wir mit
L = {0, . . . , p − 1} als Menge der Markierungen und mit den Kantenbedingungen fi,j durch
fi,j (x) = (ci,j − ai,j · x) · b−1
i,j arbeiten: Die Knotenfärbungen fA und fB entsprechen Wertezuweisungen an die Variablen xi und xj , die nur dann eine Kantenbedingung erfüllen,
wenn die zugehörige Gleichung erfüllt ist.
Man beachte, dass die Kantenbedingungen sogar Permutationen sind. Man spricht deshalb
auch von eindeutigen Spielen.
Aufgabe 112
Zeige, dass die Frage, ob alle Kantenbedingungen eingehalten werden können, effizient
beantwortet werden kann.
In Satz 9.1 haben wir einen effizienten Verifier V für 3SAT im 2-Prover Spiel angegeben.
Wir haben eine 3KNF Formel φ in eine andere 3KNF Formel ψ = T (φ) transformiert, wobei
entweder alle oder nur der Bruchteil α < 1 aller Klauseln von ψ erfüllbar ist. Desweiteren
besitze ψ genau n Variablen und m Klauseln. Nach k-maliger paralleler Wiederholung
von V stellt V genau mk parallele Fragen nach k Klauseln und nk Fragen nach k in den
jeweiligen Klauseln auftauchenden Variablen; die Soundness sinkt auf höchstens (α0 )k .
Wir modellieren die k-malige Wiederholung von V durch die folgende LABEL COVER
Instanz G = (A ∪ B, E).
- Die Knoten in A entsprechen den (parallelen) Klausel-Anfragen von V an Prover 2,
die Knoten in B den (parallelen) Variablen-Anfragen an Prover 1.
- Wir verbinden a ∈ A und b ∈ B mit einer Kante genau dann, wenn die Anfragen zu
a und b für mindestens einen Zufallsstring simultan gestellt werden.
- Wenn die Fragen nach erfüllenden Belegungen der ψ-Klauseln K1 , . . . , Kk dem Knoten a entspricht, dann definieren wir La als die Menge aller 7k , die Klauseln Ki
erfüllenden Belegungen. Für alle „rechten“ Knoten b ∈ B ist Lb = {0, 1}k .
229
9.3. SET COVER
- Für jede Kante {a, b} ∈ E setzen wir fa,b (x) = y genau dann, wenn der Verifier
nach Erhalt der Antworten x (von Prover 2) und y (von Prover 1) akzeptiert. (Wir
benutzen hier, dass V genau dann akzeptiert, wenn x die angefragte Klauseln erfüllt
und die Bits y konsistent mit x sind. Die Funktion fa,b ist also eine Projektion.)
Jedes Paar von Beweisen definiert eine Knotenfärbung und umgekehrt. Weiterhin stimmt
die relative Anzahl der Kanten, die kompatibel gefärbt sind, überein mit der Akzeptanzwahrscheinlichkeit. Also folgt:
Lemma 9.1 Sei k ∈ N.
Wenn für Graphen mit O(nk ) Knoten und Labelmengen Lv der Größe höchstens 2O(k) eine
Klassifizierung in
- YES-Instanzen (alle Kantenbedingungen werden eingehalten) und
- NO-Instanzen (nur der Bruchteil αk aller Kantenbedingungen wird eingehalten)
in Zeit poly(n) gelingt, dann kann jede Sprache L ∈ NP in Zeit poly(nk ) akzeptiert werden.
Zusätzlich kann sogar noch gefordert werden, dass die LABEL COVER Instanzen G genauso viele linke wie rechte Knoten besitzen und dass alle Knoten in G den gleichen Grad
besitzen. Dazu benutzt man, dass MAX-3SAT∗5 eine lückenschaffende Reduktion besitzt.
(3KNF∗5 besteht aus allen 3KNF-Formeln, so dass jede Klausel in genau fünf Klauseln vorkommt.) Die Klausel ψ besteht dann aus m = 5n/3 Klauseln (mit insgesamt n Knoten)
und der von uns aufgebaute Graph hat deshalb mk = (5n/3)k linke und nk rechte Knoten,
jeder linke Knoten hat 3k rechte Nachbarn und jeder rechte Knoten hat 5k linke Nachbarn.
Jetzt erzeuge 3k Kopien für jeden linken Knoten, 5k Kopien für jeden rechten Nachbarn
und verbinde die Kopien entsprechend. Wir haben jetzt insgesamt jeweils (5n)k linke, bzw.
rechte Knoten und jeder Knoten hat (15)k Nachbarn.
9.3
SET COVER
Wir beginnen mit einer Vorüberlegung. Wie können wir eine SET COVER Instanz konstruieren, so dass es nur sehr wenige optimale Überdeckungen gibt und alle anderen Überdeckungen sehr viel mehr Mengen benötigen? Für ein Universum U würfeln wir t Teilmengen S1 , . . . , St ⊆ U aus, indem jedes Element u ∈ U mit Wahrscheinlichkeit genau
1/2 aufgenommen wird. Wir vervollständigen das Mengensystem durch die Aufnahme der
Komplementmengen S1 , . . . , St und erhalten das System
S(U, t) = {S1 , S1 , . . . , St , St }.
Wir haben genau t-viele 2er Überdeckungen Si , Si , während mindestens l = Θ(ln(|U |))
Mengen notwendig sind, wenn kein komplementäres Paar in der Überdeckung auftritt:
KAPITEL 9. PARALLEL REPETITION∗
230
Die erste Menge der Überdeckung wird im Erwartungsfall genau die Hälfte des Universums überdecken, die zweite Menge überdeckt ein fehlendes Viertel, die dritte
Menge ein fehlendes Achtel und so weiter.
Wir müssen LABEL COVER lückenerhaltend auf SET COVER reduzieren. Sei also G =
(A ∪ B, E) eine LABEL COVER Instanz mit |A| = |B| = O(nk ) und Labelmengen Lv der
Größe höchstens 2O(k) .
(*) Wir weisen den Kanten e = {a, b} ∈ E disjunkte Universen Ue mit |Ue | = nk zu.
Desweiteren weisen wir e das Mengensystem S(Ue , t) mit t = |Lb | zu. Es ist also
S(Ue , t) = {Se,y | y ∈ Lb } ∪ {Se,y | y ∈ Lb }.
(*) Das Universum für unsere SET COVER Instanz ist U =
S
e∈E
Ue .
(*) Jedes Paar (a, x) (mit a ∈ A und x ∈ La ) und (b, y) (mit b ∈ B und y ∈ Lb ) erzeugt
genau eine Teilmenge Sa,x , bzw. Sb,y in unserer SET COVER Instanz, nämlich
Sa,x =
[
a ist Endpunkt von e; fe (x)=y
[
Se,y und Sb,y =
Se,y
b ist Endpunkt von e
Haben wir eine lückenerhaltende Reduktion erreicht, wenn unser System von Teilmengen
genau aus den Mengen Sa,x (für a ∈ A und x ∈ La ) und Sb,y (für b ∈ B und y ∈ Lb )
besteht?
Fall 1: Es gibt Knotenfärbungen fA , fB , die alle Kantenbedingungen einhalten. Wir wählen
genau die Mengen Sa,fA (a) und Sb,fB (b) aus: Wenn e = {a, b} eine Kante ist, dann ist
die Kantenbedingung fa,b (fA (a)) = fB (b) erfüllt. Also gilt Se,fB (b) ⊆ Sa,fA (a) wie auch
Se,fB (b) ⊆ Sb,fB (b) .
Wir haben Ue für jede Kante e und damit auch U überdeckt, wobei wir höchstens O(nk )
Mengen benutzen.
Fall 2: Alle Knotenfärbungen fA , fB halten höchstens den Bruchteil αk aller Kantenbedingungen ein.
Behauptung 9.1 Sei l = Θ(log2 |U |) die Mindestanzahl von Mengen in einer Überdeckung
einer Mengen Ue , wenn kein komplementäres Paar von Mengen in der Überdeckung benutzt
wird.
Dann besteht jede Überdeckung aus mindestens Ω(l · nk ) Mengen für k = Θ(log log n).
Beweis: Für eine optimale Überdeckung U von U und einen Knoten v sei
Av = {Sv,z | Sv,z wird in U benutzt }.
Betrachte die Menge gering aller Knoten v mit |Av | < l/2. Wenn a ∈ gering ∩ A und
b ∈ gering ∩ B durch eine Kante in G miteinander verbunden sind, dann besitzen Aa und
9.4. DIE UNIQUE GAMES VERMUTUNG
231
Ab ein komplementäres Paar: Es ist |Aa | + |Ab | < l und deshalb wird ein komplementäres
Paar zur Überdeckung von Ue (für e = {a, b}) benötigt.
Jetzt wähle zufällig genau ein Element aus jeder Menge Av für v ∈ gering und färbe v mit
diesem Element. Für jede Kante e = {a, b} mit a, b ∈ gering ist die Wahrscheinlichkeit,
1
1
· l/2
= l42 . Wenn E 0 die
dass die Kantenbedingung zu e eingehalten wird, mindestens l/2
Menge aller Kanten zwischen Knoten zur Menge gering gehört, dann werden im Erwar0|
tungsfall also mindestens 4·|E
Kantenbedingungen eingehalten. Maximal können aber nur
l2
0 k
(α ) · |E| Kantenbedingungen eingehalten werden und
4 · |E 0 |
≤ (α0 )k · |E|
2
l
folgt. Jetzt wähle k so, dass (α0 )k · l2 /4 ≤ 1/2 ist, und wir erhalten |E 0 | ≤ |E|/2. Wenn
aber die Kantenmenge E 0 klein ist, dann sollte doch die Menge gering nicht zu groß sein!
Warum? Der Graph G ist regulär. Wenn mehr als drei Viertel aller Knoten in A und mehr
als drei Viertel aller Knoten in B zu gering, dann ist |E 0 | > |E|/2.
Also gehört mindestens ein Achtel aller Knoten nicht zur Menge gering. Die Anzahl der
Mengen in der Überdeckung U ist also mindestens Ω(l · nk ).
Wir haben die Lücke für k = Θ(log2 log2 n) erhalten können, denn entweder reicht eine
Überdeckung mit O(nk ) Mengen oder mindestens Ω(nk · log2 (nk )) Mengen sind notwendig.
Wir wenden Lemma 9.1 an und erhalten als Konsequenz:
Satz 9.3 Wenn SET COVER o(log2 N )-approximative Algorithmen für Universen der
Größe N besitzt, dann kann jede Sprache L ∈ NP in Zeit nO(log2 log2 n) erkannt werden.
Es kann sogar gezeigt werden, dass (1 − o(1)) · ln N -approximative Algorithmen unter
der Annahme aus Satz 9.3 ausgeschlossen sind: Der Greedy Algorithmus, der Mengen mit
jeweils besten Preis/Leistungsverhältnis für die Überdeckung benutzt, ist optimal!
9.4
Die Unique Games Vermutung
Wir betrachten eine eingeschränkte Version von LABEL COVER. Wiederum ist ein bipartiter Graph G = (A ∪ B, E) gegeben. Diesmal erlauben wir nur eine endliche Menge
L von Markierungen für jeden Knoten, eine allerdings unerhebliche Einschränkung. Wie
bisher sind „Bedingungen“ fa,b : L → L für jede Kante {a, b} ∈ E gegeben, wobei wir
aber diesmal fordern, dass fa,b stets eine Permutation ist. Wir sagen, dass Eingaben von
diesem Typ ein eindeutiges Spiel beschreiben.
Wir suchen Färbungen fA : A → L und fB : B → L, so dass die Anzahl
opt = |{e = {a, b} ∈ E | fa,b (fA (a)) = fB (b)}|
der Kanten, deren Endpunkte „konsistent“ gefärbt sind, möglichst groß ist. Wenn also eine
Kante konsistent gefärbt ist, dann legt die Farbe des einen Endpunkts stets die Farbe des
anderen Endpunkts eindeutig fest. Die Unique Games Vermutung besagt:
232
KAPITEL 9. PARALLEL REPETITION∗
Für jedes δ > 0 ist es NP-hart zu entscheiden, ob opt ≥ (1 − δ) · |E| oder
opt ≤ δ · |E| für ein eindeutiges Spiel gilt.
Wenn die Unique Games Vermutung richtig ist, dann kann gezeigt werden, dass
• VERTEX COVER für kein ε > 0 effiziente (2−ε)-approximative Algorithmen besitzt.
• Weiterhin kann der beste, von effizienten Algorithmen für MAX-CUT wie auch für
MAX-2SAT erreichbare Approximationsfaktor exakt bestimmt werden.
(In MAX-CUT ist ein ungerichteter Graph G = (V, E) gegeben. Die Knotenmenge V ist
so in zwei disjunkte Klassen aufzuteilen, dass die Anzahl „kreuzender“ Kanten maximal
ist.)
Ist die Unique Games Vermutung richtig? Die Antwort ist natürlich nicht bekannt. Allerpoly(δ)
dings wurde gezeigt, dass das Entscheidungsproblem in Zeit 2n
gelöst werden kann.
Kapitel 10
NP ⊆ PCP(poly(n), O(1)) ∗
Der Beweis von Satz 8.1 ist sehr umfangreich. Wir beschränken uns auf den Beweis des
folgenden, deutlich schwächeren Resultats.
Lemma 10.1 NP ⊆ PCP(poly(n), O(1)).
Zwar ist diese Aussage für Anwendungen in der Approximationskomplexität zu schwach1 ,
aber trotzdem ist das Ergebnis überraschend: Ein Verifizierer mit unbeschränktem Zugang
zu Zufallsbits kann sich von der Richtigkeit eines Beweises durch die Inspektion konstant
vieler Beweisbits überzeugen!
Beweis von Lemma 10.1: Es genügt zu zeigen, dass die NP-vollständige Sprache 3-SAT
in PCP(poly(n), O(1)) liegt. (Warum?)
V
Sei φ = nj=1 kj eine 3KNF Formel mit den Klauseln k1 , . . . , kn . Wir arithmetisieren die
Klauseln kj von φ, d.h. wir übersetzen Klauseln in Polynome. Dazu überführe das Literal
xi (bzw. ¬xi ) in den Ausdruck (1 − xi ) (bzw. xi ) und ersetze die Boolesche Operation
ODER durch die Multiplikation. Wir erhalten also für jede Klausel kj ein Polynom pj vom
Grad drei, so dass für jede Belegung (a1 , a2 , a3 ) der Variablen von kj gilt:
(a1 , a2 , a3 ) erfüllt kj ⇔ pj (a1 , a2 , a3 ) = 0.
φ ist offenbar genau dann erfüllbar, wenn es eine Belegung im Körper ZZ2 gibt, so dass
die Folge (pj | 1 ≤ j ≤ n) nach Auswertung der einzelnen Polynome die Null-Folge ergibt.
Zudem können wir im Körper ZZ2 effizient Null-Folgen entdecken, denn:
Behauptung 10.1 Sei v ∈ ZZ2n vom Null-Vektor verschieden. Dann gilt
probw [
n
X
1
vi · wi 6≡ 0 mod 2] = .
2
i=1
1
Beachte, dass exponentiell lange Beweise sich jetzt auszahlen, da der Verifier auf polynomiell viele
Zufallsbits zugreifen kann und mit ihrer Hilfe in verschiedenen Berechnungen exponentiell viele Positionen
nachfragen kann. Für logarithmisch viele Zufallsbits können hingegen nur polynomiell viele Positionen
nachgefragt werden.
233
KAPITEL 10. NP ⊆ PCP(POLY(N ), O(1))
234
∗
Beweis: Warum ist das innere Produkt (v, w) mit Wahrscheinlichkeit 21 von Null verschieden? Sei O.B.d.A. v1 6= 0. Wir denken uns die Komponenten w2 , . . . , wn bereits gewählt
P
und beachten, dass dann v1 · w1 = ni=2 vi · wi mit Wahrscheinlichkeit 12 gilt.
Sei a = (a1 , . . . , an ) eine (nicht notwendigerweise erfüllende) Belegung von φ. Wir setzen
v = (pj (a) | 1 ≤ j ≤ n). Unser Ziel ist die Überprüfung, ob a eine erfüllende Belegung
ist, d.h. ob v der Nullvektor ist. Wir betrachten deshalb das innere Produkt hv, wi von v
mit einem zufällig ausgewürfelten Vektor w. Die Komponenten von v sind an der Stelle a
ausgewertete Polynome vom Grad drei und hv, wi lässt sich somit als eine Summe über
ZZ2 von konstanten, linearen, quadratischen und kubischen Termen auffassen:
X
hv, wi = cw ⊕
i∈S1 (w)
ai ⊕
X
X
ai · aj ⊕
(i,j)∈S2 (w)
ai · aj · ak .
(10.1)
(i,j,k)∈S3 (w)
Beachte, dass die Mengen S1 (w), S2 (w) und S3 (w) nur von dem zufälligen Vektor w und
von φ abhängen, nicht aber von der gewählten Belegung a; gleiches gilt auch für das Bit
cw . Insbesondere kann ein Verifier die drei Mengen effizient berechnen, da er Zugang zu w
und φ hat.
Definition 10.1 Für Vektoren x ∈ ZZ2a und y ∈ ZZ2b definieren wir das Tensorprodukt von
x und y als den Vektor x ⊗ y ∈ ZZ2a·b mit
(x ⊗ y)i,j = xi · yj .
Wenn wir statt der Mengen S1 (w), S2 (w) und S3 (w) ihre Inzidenzvektoren α1 (w), α2 (w)
und α3 (w) wählen, dann erhalten wir die zu (10.1) äquivalente Darstellung
hv, wi = cw ⊕ h a, α1 (w) i ⊕ h a ⊗ a, α2 (w) i ⊕ h a ⊗ (a ⊗ a), α3 (w) i.
Es liegt also nahe, einen Beweis zu wählen, aus dem die Vektoren
2
A = ( (a, x) | x ∈ ZZ2n ), B = ( (a ⊗ a, y) | y ∈ ZZ2n ) und
3
C = ( (a ⊗ (a ⊗ a), z) | z ∈ ZZ2n )
abgelesen werden können.
Aufgabe 113
Zeige, dass A(x) · A(y) = B(x ⊗ y) wie auch A(u) · B(v) = C(u ⊗ v) für alle Vektoren
2
x, y, u ∈ ZZ2n und v ∈ ZZ2n gilt.
Diese Eigenschaft suggeriert bereits eine Überprüfung der Tensoreigenschaften von B und
2
C durch die zufällige Wahl der Vektoren x, y, u ∈ ZZ2n und v ∈ ZZ2n .
Wenn A, B bzw. C jeweils diesen linearen Funktionen entsprechen, dann programmieren
wir den Verifier wie folgt.
235
Algorithmus 10.1 Erfüllbarkeitstest für eine 3KNF Formel φ.
Sei a eine nicht notwendigerweise erfüllende Belegung von φ. Der Beweis bestehe aus Funktionstabellen für die linearen Funktionen
A(x) = ha, xi, B(y) = ha ⊗ a, yi und C(z) = ha ⊗ a ⊗ a, zi.
(1) Der Verifier wählt einen zufälligen Vektor w ∈ ZZ2n .
(2) Der Verifier berechnet cw , S1 (w), S2 (w) und S3 (w) aus w und φ.
(3) Der Verifier fordert die Bits i∈S1 (w) ai ,
an und akzeptiert genau dann, wenn
P
cw ⊕
X
i∈S1 (w)
ai ⊕
X
P
(i,j)∈S2 (w)
ai · aj ⊕
(i,j)∈S2 (w)
ai · aj und
X
P
(i,j,k)∈S3 (w)
ai · aj · ak
ai · aj · ak = 0.
(i,j,k)∈S3 (w)
Wenn a = (a1 , . . . , an ) eine erfüllende Belegung von φ ist, dann wird der Verifier stets
akzeptieren und anderenfalls mit Wahrscheinlichkeit mindestens 12 verwerfen. Allerdings
haben wir bisher vorausgesetzt, dass
(a) A die Wertetabelle einer linearen Funktionen ist und dass
(b) B = A ⊗ A sowie C = A ⊗ B gilt.
Wir müssen jetzt garantieren, dass der Verifier einen Beweis mit hoher Wahrscheinlichkeit
ablehnt, falls der Beweis gegen eine der beiden Anforderungen (a) oder (b) verstößt. Wir
betrachten zuerst einen Verstoß gegen die Anforderung (b).
Algorithmus 10.2 Test auf Tensor-Eigenschaft
(1) Der Verifier wählt zufällige Vektoren x, y ∈ ZZ2n und fragt die Werte A(x) und A(y)
von A an den Stellen x und y nach. Ebenso wird der Wert B(x ⊗ y) von B an der Stelle
x ⊗ y nachgefragt. Der Verifier verwirft, falls
A(x) · A(y) 6= B(x ⊗ y).
2
(2) Der Verifier wählt zufällige Vektoren u ∈ ZZ2n , v ∈ ZZ2n und fragt die Werte A(u) und
B(v) wie auch den Wert C(u ⊗ v) nach. Der Verifier verwirft, falls
A(u) · B(v) 6= C(u ⊗ v)
und akzeptiert ansonsten.
Wir nehmen zuerst an, dass B = A ⊗ A und dass C = A ⊗ B. Beachte, dass in diesem
Fall A(x) · A(y) = B(x ⊗ y) wie auch A(u) · B(v) = C(u ⊗ v) und der Verifier akzeptiert
richtigerweise. Im verbleibenden Fall ist die Tensoreigenschaft verletzt und die folgende
Behauptung weist eine nur kleine Fehlerwahrscheinlichkeit nach.
KAPITEL 10. NP ⊆ PCP(POLY(N ), O(1))
236
∗
Behauptung 10.2 A, B und C seien die Wertetabellen von lineare Funktionen ha, s1 i :
3
2
ZZ2n → ZZ2 , hb, s2 i : ZZ2n → ZZ2 und hc, s3 i : ZZ2n → ZZ2 . Es gelte b 6= a ⊗ a oder c 6= a ⊗ b.
Dann akzeptiert der Tensor Test mit einer Wahrscheinlichkeit von höchstens 43 . Eine kmalige Wiederholung führt auf eine Akzeptanzwahrscheinlichkeit von höchstens ( 43 )k .
Beweis von Behauptung 10.2: Wir weisen nach, dass der Tensor Test mit Wahrscheinlichkeit mindestens 14 verwirft. Dazu nehmen wir zuerst an, dass B 6= A⊗A. Nach Annahme
ist A die Wertetabelle der linearen Funktion ha, s1 i : ZZ2n → ZZ2 und B ist die Wertetabelle
2
der linearen Funktion hb, s2 i : ZZ2n → ZZ2 . Wir beachten
A(x) · A(y) = ha, xi · ha, yi =
n
X
ai · xi · aj · yj = xT · (ai · aj )i,j · y
i,j
und
B(x ⊗ y) = hb, x ⊗ yi =
X
xi · bi,j · yj = xT · (bi,j )i,j · y.
i,j
Da wir B 6= A ⊗ A angenommen haben, ist die Matrix (ai · aj )i,j − (bi,j )i,j nicht die
Nullmatrix. Ihr Kern hat somit die Dimension höchstens n − 1 und ein zufällig gewählter
Vektor gehört mit Wahrscheinlichkeit mindestens 21 nicht zum Kern. Es ist also
prob[(ai · aj )i,j · y = (bi,j )i,j · y] ≤
1
2
Andererseits folgt
prob[ xT · (ai · aj )i,j · y = xT · (bi,j )i,j · y | (ai · aj )i,j · y 6= (bi,j )i,j · y ] =
1
2
bei fest gewähltem Vektor y mit Behauptung 10.1. Damit wird also der Tensor Test in diesem Fall mit einer Wahrscheinlichkeit von mindestens 14 verwerfen. Ein analoges Argument
weist dieselbe Fehlerwahrscheinlichkeit auch im Falle c 6= a ⊗ b nach.
Wir behandeln die letzte vorhandene Verstoß-Möglichkeit, nämlich den Fall, dass A nicht
die Wertetabelle einer linearen Funktionen ist. Tatsächlich können wir mit konstant vielen
Anfragen Verstöße gegen die Linearität im Allgemeinen nicht feststellen. Können wir aber
zumindest schwere Verstöße gegen die Linearität feststellen?
Definition 10.2 Seien f1 , f2 : ZZ2m → ZZ2 vorgegeben und sei δ ∈ [0, 1]. Dann heißen f1
und f2 δ-nahe, falls
| {x ∈ ZZ2m | f1 (x) 6= f2 (x)} | ≤ δ · 2m .
f1 heißt δ-linear, falls es eine lineare Funktion f2 gibt, so dass f1 und f2 δ-nahe sind.
Die Algorithmen 10.1 und 10.2 fragen konstant viele Funktionswerte der Funktion A nach.
Wenn aber die im Beweis repräsentierte Funktion δ-linear ist und wenn 1δ wesentlich größer
als die Anzahl der Anfragen ist, dann nehmen unsere Protokolle die Funktionen „als linear
wahr“. Das folgende Protokoll wird die δ-Linearität bei genügend häufiger Wiederholung
mit hoher Wahrscheinlichkeit richtig feststellen.
237
Algorithmus 10.3 Test für δ-Linearität.
Die Eingabe bestehe aus einer Funktion f : ZZ2n → ZZ2 .
(1) Der Verifier wählt zufällige Vektoren x, y ∈ ZZ2n .
(2) Der Verifier fragt nach den Funktionswerten f (x), f (y) und f (x ⊕ y) und akzeptiert
genau dann, wenn f (x) ⊕ f (y) = f (x ⊕ y).
Behauptung 10.3 Sei δ <
1
3
und für die Funktion f : ZZ2n → ZZ2 gelte
δ
probx,y [ f (x) 6= f (x ⊕ y) ⊕ f (y) ] ≤ .
2
(10.2)
Dann ist f δ-linear.
Beweisskizze von Behauptung 10.3: Wir müssen zeigen, dass f δ-linear ist und konstruieren deshalb eine lineare Funktion g, die δ-nahe zu f ist. Wir setzen
g(x) = b ⇔ für mindestens die Hälfte aller y ∈ ZZ2n ist f (x ⊕ y) ⊕ f (y) = b.
Wir zeigen zuerst, dass f und g δ-nahe sind. Nach Definition von g gilt
proby [ g(x) = f (x ⊕ y) ⊕ f (y) ] ≥
1
2
(10.3)
für jedes x ∈ ZZ2n . Für jedes x mit g(x) 6= f (x) folgt deshalb
proby [ f (x) 6= f (x ⊕ y) ⊕ f (y) ] ≥
1
2
und wir erhalten
δ
probx,y [ f (x) 6= f (x ⊕ y) ⊕ f (y) ] > ,
2
wenn f und g sich auf mehr als δ · 2n Vektoren unterscheiden. Da dies der Annahme der
Behauptung widerspricht, sind f und g also δ-nahe. Um die Linearität von g nachzuweisen,
zeigen wir zuerst, dass die Abschätzung (10.3) verbessert werden kann. Wir behaupten
nämlich, dass sogar
px = proby [ g(x) = f (x + y) ⊕ f (y) ] ≥ 1 − δ
(10.4)
für jedes x ∈ ZZ2n gilt. Zum Nachweis fixieren wir x und erhalten zuerst
proby,z [ f (x ⊕ y ⊕ z) 6= f (x ⊕ y) ⊕ f (z) ], proby,z [ f (x ⊕ y ⊕ z) 6= f (x ⊕ z) ⊕ f (y) ] ≤
δ
2
KAPITEL 10. NP ⊆ PCP(POLY(N ), O(1))
238
∗
aus der Annahme der Behauptung. Mit Wahrscheinlichkeit mindestens 1 − δ gilt also f (x ⊕
y) ⊕ f (z) = f (x ⊕ y ⊕ z) = f (x ⊕ z) ⊕ f (y) und als Konsequenz ist
1 − δ ≤ proby,z [ f (x ⊕ y) ⊕ f (z) = f (x ⊕ z) ⊕ f (y) ]
=
X
proby [ b = f (x ⊕ y) ⊕ f (y) ] · probz [ b = f (x ⊕ z) ⊕ f (z) ]
b∈{0,1}
=
X
proby [ b = f (x ⊕ y) ⊕ f (y) ]2
b∈{0,1}
= p2x + (1 − px )2
≤ p2x + px · (1 − px )
= px
denn px ≥
1
2
und (10.4) folgt. Die Behauptung des Lemmas ergibt sich jetzt aus der folgenden Übungsaufgabe.
Aufgabe 114
Zeige mit Hilfe von (10.4), dass g linear ist.
Hinweis: In der Behauptung wird δ < 13 gefordert.
Durch genügend häufige Wiederholung von Algorithmus 10.3 können wir also den Grad
der Linearität entsprechend steigern. Die Strategie des Verifiers lässt sich jetzt vollständig
beschreiben.
Algorithmus 10.4 Überprüfung der Erfüllbarkeit einer Formel φ.
Sei a eine nicht notwendigerweise erfüllende Belegung von φ. Der Verifier nimmt an, dass
der Beweis aus Funktionstabellen für die linearen Funktionen
A(x) = ha, xi, B(y) = ha ⊗ a, yi und C(z) = ha ⊗ a ⊗ a, zi
besteht. Der Verifier muss die Richtigkeit dieser Annahme überprüfen.
(1) Die Linearität der Funktionen A, B und C wird mit Algorithmus 10.3 überprüft.
(2) Die Tensor-Struktur der Funktionen B und C wird mit Algorithmus 10.2 überprüft.
(3) Der Verifier akzeptiert genau dann, wenn Algorithmus 10.1 akzeptiert. Mit anderen
Worten:
- Der Verifier wählt einen zufälligen Vektor w ∈ ZZ2n und berechnet cw , S1 (w), S2 (w)
und S3 (w) aus w und φ.
- Er fordert die Bits
X
i∈S1 (w)
an und
ai ,
X
(i,j)∈S2 (w)
ai · aj ,
X
(i,j,k)∈S3 (w)
ai · aj · ak
239
- akzeptiert genau dann, wenn
cw ⊕
X
i∈S1 (w)
ai ⊕
X
(i,j)∈S2 (w)
ai · aj ⊕
X
ai · aj · ak = 0
(i,j,k)∈S3 (w)
gilt.
Wir können jetzt dn Beweis von Lemma 10.1 abschließen. Algorithmus 10.4 arbeitet in
polynomieller Zeit. Seine Korrektheit folgt aus der Korrektheit der aufgerufenen Algorithmen. Da jeder dieser aufgerufenen Algorithmen nur konstant viele Beweisbits nachfragt, werden somit insgesamt nur konstant viele Beweisbits nachgefragt: 3-SAT liegt in
PCP(poly(n), O(1)).
Bemerkung 10.1 Beachte, dass der „erfolgreiche“ Beweis aus den drei Funktionstabellen
besteht. Dieser Beweis hat exponentielle Länge!
Herunterladen