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