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