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!