Randomisierte Algorithmen

Ähnliche Dokumente
Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Musterlösungen zur Linearen Algebra II Blatt 5

1 topologisches Sortieren

Primzahlen und RSA-Verschlüsselung

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

15 Optimales Kodieren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

Kompetitive Analysen von Online-Algorithmen

Anmerkungen zur Übergangsprüfung

Kapiteltests zum Leitprogramm Binäre Suchbäume

Theoretische Grundlagen der Informatik WS 09/10

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Grundlagen der Theoretischen Informatik, SoSe 2008

Theoretische Grundlagen der Informatik

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Guten Morgen und Willkommen zur Saalübung!

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn

WS 2009/10. Diskrete Strukturen

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Die Komplexitätsklassen P und NP

Rekursionen. Georg Anegg 25. November Methoden und Techniken an Beispielen erklärt

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

Optimierung. Optimierung. Vorlesung 7 Lineare Programmierung II Thomas Brox, Fabian Kuhn

4. Woche Decodierung; Maximale, Perfekte und Optimale Codes. 4. Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140

Stackelberg Scheduling Strategien

Kapitel 7 und Kapitel 8: Gleichgewichte in gemischten Strategien. Einleitung. Übersicht Teil 2 2. Übersicht 3

Spieltheorien und Theoreme

W-Rechnung und Statistik für Ingenieure Übung 11

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

7 Rechnen mit Polynomen

Konzepte der Informatik

Einführung in die Algebra

Berechnungen in Access Teil I

Theoretische Informatik SS 04 Übung 1

Professionelle Seminare im Bereich MS-Office

7 Die Determinante einer Matrix

Lineare Gleichungssysteme

16. All Pairs Shortest Path (ASPS)

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Der Zwei-Quadrate-Satz von Fermat

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Erstellen von x-y-diagrammen in OpenOffice.calc

8 Diskrete Optimierung

Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici. 12.Übung bis

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Algorithmentheorie Maximale Flüsse

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Datenstrukturen & Algorithmen

1 Mathematische Grundlagen

Kugel-Fächer-Modell. 1fach. 3fach. Für die Einzelkugel gibt es 3 Möglichkeiten. 6fach. 3! Möglichkeiten

Kapitel 5: Dynamisches Programmieren Gliederung

Bestimmung einer ersten

Eigenwerte und Eigenvektoren von Matrizen

Algorithmen II Vorlesung am

Das Briefträgerproblem

Informationsblatt Induktionsbeweis

Mathematischer Vorbereitungskurs für Ökonomen

Quantilsschätzung als Werkzeug zur VaR-Berechnung

2.11 Kontextfreie Grammatiken und Parsebäume

der Eingabe! Haben Sie das Ergebnis? Auf diesen schwarzen Punkt kommen wir noch zu sprechen.

EINFACHES HAUSHALT- KASSABUCH

Wie löst man Mathematikaufgaben?

Bewertung des Blattes

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011

Korrelation (II) Korrelation und Kausalität

Repetitionsaufgaben Wurzelgleichungen

Grundbegriffe der Informatik

11. Rent-Seeking 117

Beispiel Zusammengesetzte Zufallsvariablen

Algorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Auswerten mit Excel. Viele Video-Tutorials auf Youtube z.b.

Überblick. Lineares Suchen

Vorkurs Informatik WiSe 15/16

Information Systems Engineering Seminar

Einfügen von Bildern innerhalb eines Beitrages

3.3 Eigenwerte und Eigenräume, Diagonalisierung

SUDOKU - Strategien zur Lösung

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

Lenstras Algorithmus für Faktorisierung

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Tutorial: Homogenitätstest

TECHNISCHE UNIVERSITÄT MÜNCHEN

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

Änderung des Portals zur MesseCard-Abrechnung

Wortproblem für kontextfreie Grammatiken

! " # $ " % & Nicki Wruck worldwidewruck

WS 2013/14. Diskrete Strukturen

Transkript:

Randomisierte Algorithmen Kapitel 2 Markus Lohrey Universität Leipzig http://www.informatik.uni-leipzig.de/~lohrey/rand WS 2005/2006 Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 1 / 34

Spieltheoretische Methoden Ein Spielbaum ist ein gewurzelter Baum mit folgenden Eigenschaften: Jedes Blatt ist mit einer reellen Zahl markiert. Knoten mit gerader (bzw. ungerader) Distanz von der Wurzel sind mit MIN (bzw. MAX) markiert. Beispiel: MIN 3 MAX 2 5 MAX MIN MIN 4 Auswertung des obigen Spielbaums 5 2 5 1 3 3 4 1 2 8 3 MAX 1 2 8 3 7 4 7 4 7 Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 2 / 34

Spieltheoretische Methoden Hier: 2 Einschränkungen Blätter sind mit 0 oder 1 beschriftet, d.h. MIN =AND und MAX =OR. = AND-OR-Bäume Sei T d,k der Baum mit: Jedes Nicht-Blatt hat genau d Kinder. Jedes Blatt hat Distanz 2k zur Wurzel. Zum Beispiel: T 3,1 =, = T d,k hat d 2k Blätter INPUT: Baum T d,k und d 2k 0/1-Werte für die Blätter ( = eindeutiger AND-OR-Baum) Ziel: Werte Wurzel von T d,k aus. Wir wollen dabei möglichst wenige der 0/1-Werte an den Blättern lesen. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 3 / 34

Spieltheoretische Methoden Beispiel: AND OR OR 0 0 1 1 Nach Lesen dieser beiden Blätter müssen diese nicht mehr gelesen werden. Man kann folgendes zeigen: Sei A ein beliebiger deterministischer Auswertungsalgorithmus. Dann gibt es eine 0/1-Beschriftung der Blätter von T d,k, bei der A alle d 2k Blätter lesen muss. Im Folgenden: d = 2 = T 2,k hat 4 k Blätter Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 4 / 34

Spieltheoretische Methoden Algorithmus randeval eval(v) % v ist ein Knoten von T 2,k if v ist ein Blatt then return Wert von v else endif Seien v 0 und v 1 die Kinder von v. Wähle zufällig ein i {0, 1}. b := eval(v i ) if v ist ein AND-Knoten then if b = 0 then return (0) else return eval(v 1 i ) endif elseif % v ist also ein OR-Knoten if b = 1 then return (1) else return eval(v 1 i ) endif endif Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 5 / 34

Spieltheoretische Methoden Satz Für jede 0/1-Beschriftung der Blätter von T d,k ist der Erwartungswert für die Anzahl der gelesenen Blätter in einem Ablauf von randeval höchstens 3 k. k = 0 T 2,0 = v (ein Blatt) = Anzahl der auszuwertenden Blätter bei Aufruf eval(v) = 1 = 3 0 k > 0 T 2,k: AND OR OR T 2,k 1 T 2,k 1 T 2,k 1 T 2,k 1 Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 6 / 34

Spieltheoretische Methoden Betrachte zuerst den folgenden Baum: y x OR z T 2,k 1 T 2,k 1 Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 7 / 34

Spieltheoretische Methoden 1. Fall: eval(x) = 1 = eval(y) = 1 oder eval(z) = 1. Sei z.b. eval(y) = 1. Bei Aufruf eval(x) wird mit Wahrscheinlichkeit 1 /2 eval(y) als erstes aufgerufen. Induktionshypothese: Für v {y, z} E[Anzahl der ausgewerteten Blätter bei Aufruf eval(v)] 3 k 1 = E[Anzahl der ausgewerteten Blätter bei Aufruf eval(x)] 1 /2 3 k 1 + 1 /2 2 } {{ 3 k 1 } = 3 /2 3 k 1 (1) Kosten für den Fall eval(y) = 1, eval(z) = 0 und eval(z) wird als erstes aufgerufen. Bemerkung: Wir gehen hier von einem Worst-Case-Input aus: eval(y) = 1 und eval(z) = 0. Der Fall eval(y) = eval(z) = 1 würde einen Erwartungswert für die Anzahl der ausgewerteten Blätter bei Aufruf eval(x) von 3 k 1 < 3 /2 3 k 1 liefern. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 8 / 34

Spieltheoretische Methoden 2. Fall: eval(x) = 0 = eval(y) = eval(z) = 0 = E[Anzahl der ausgewerteten Blätter bei Aufruf eval(x)] 2 3 k 1 (2) Nun betrachten wir T 2,k: v OR u AND w OR 1. Fall: eval(u) = 1 = eval(v) = eval(w) = 1 = E[Anzahl der ausgewerteten Blätter bei Aufruf eval(u)] 3 /2 3 k 1 + } {{ } 3 /2 3 k 1 } {{ } = 3k 1 Kosten für Auswertung von v und w nach (1) Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 9 / 34

Spieltheoretische Methoden 2. Fall: eval(u) = 0 = eval(v) oder eval(w) = 0 Sei z.b. eval(v) = 0. Mit Wahrscheinlichkeit 1 /2 wird eval(v) als erstes aufgerufen. E[Anzahl der ausgewerteten Blätter bei Aufruf eval(u)] 1 /2 2 } {{ 3 k 1 } + 1 /2(2 } {{ 3 k 1 } + 3 /2 3 k 1 ) } {{ } Kosten für Kosten für Kosten für Auswertung Auswertung Auswertung von v nach von v nach von w, falls (2) (2) eval(w) = 1, nach (1) = 3 k 1 + 3 k 1 + 3 /4 3 k 1 < 3 k randeval ist ein Las Vegas Algorithmus Im Folgenden wollen wir eine untere Schranke für den Erwartungswert der Laufzeit eines beliebigen Las Vegas Algorithmus für ein Problem ableiten. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 10 / 34

MinMax-Prinzip, Spieltheorie Beispiel: Stein-Schere-Papier mit 2 Spielern: Roberta, Charles Darstellung als Gewinn-Matrix: Strategien von Charles Schere Papier Stein Strategien Schere 0 1-1 von Papier -1 0 1 Roberta Stein 1-1 0 Auszahlungsbetrag von Charles an Roberta (Gewinn für Roberta) Stein-Schere-Papier ist ein Null-Summen-Spiel: Gewinn für Roberta = Verlust für Charles Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 11 / 34

MinMax-Prinzip, Spieltheorie Jedes Null-Summen Spiel kann durch eine (n m) Gewinn-Matrix M dargestellt werden. n = Anzahl der Zeilen von M = Anzahl der Strategien für Roberta m = Anzahl der Spalten von M = Anzahl der Strategien für Charles M ij = Gewinn für Roberta, falls sie Strategie i und Charles Strategie j wählt Angenommen Roberta wählt Strategie i. = Sie wird mindestens Gewinn min j M ij machen. = i ist optimale Strategie für Roberta, falls min j M ij maximal. Sei V R = max i min j M ij = Mindestgewinn für Roberta, falls sie optimal spielt. j ist optimale Strategie für Charles, falls max i M ij minimal. Sei V C = min j max i M ij = Maximalbetrag den Charles zahlen muss, falls er optimal spielt. Übung: max i min j M ij min j max i M ij Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 12 / 34

MinMax-Prinzip, Spieltheorie Bemerkung: Es kann max i min j M ij < min j max i M ij gelten. Für Stein-Schere-Papier gilt z.b. V R = max i min j M ij = 1 und V C = min j max i M ij = 1. Falls V R = V C, dann existiert ein Paar (ρ, γ) mit min j M ρ,j = V R = V C = max i M i,γ = M ρ,γ. (ρ, γ) ist eine reine Lösung des Spiels oder ein Sattelpunkt. Beispiel: 1 2 3 1 0 1 2 2 1 0 1 3 2 1 0 V R = 0, V C = 0 (1, 1) ist ein Sattelpunkt für dieses Spiel. Vorsicht: M 1,1 = M 2,2 = M 3,3, aber (2, 2) oder (3, 3) sind keine Sattelpunkte. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 13 / 34

MinMax-Prinzip, Spieltheorie Eine randomisierte Strategie für Spieler A {Roberta, Charles} ist eine Wahrscheinlichkeitsverteilung auf den möglichen Strategien von A. randomisierte Strategie für Roberta: p = (p 1,..., p n ) [0, 1] n mit n i=1 p i = 1 p i = Prob[Roberta wählt Strategie i aus] randomisierte Strategie für Charles: q = (q 1,..., q m ) [0, 1] m mit m j=1 q j = 1 q j = Prob[Charles wählt Strategie j aus] Gewinn für Roberta (= Verlust für Charles) ist nun eine Zufalls variable G n m E[G] = p i M ij q j = p M q T i=1 j=1 Wieder seien V R = max p min q p M q T und V C = min q max p p M q T. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 14 / 34

MinMax-Prinzip, Spieltheorie Satz (von Neumann's MinMax Theorem) Für jedes 2-Spieler Null-Summen Spiel mit Gewinnmatrix M gilt: max p min q p M q T = min q max p M q T p Ein Paar von randomisierten Strategien (ˆp, ˆq) mit min q ˆp M q T = V R = V C = max p p M ˆq T heiÿt ein Sattelpunkt. ˆp und ˆq sind optimale gemischte Strategien (sind nicht unbedingt eindeutig). Beobachtung: Für eine feste Verteilung p (etwa ˆp) ist p M q T eine lineare Funktion α 1 q 1 + α 2 q 2 +... + α m q m mit α i R, q i [0, 1], q 1 + q 2 +... + q m = 1. Diese wird minimiert durch die Verteilung q = (q 1,..., q m ) mit { 1 falls αi = min{α 1,..., α m } q i = 0 sonst Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 15 / 34

MinMax-Prinzip, Spieltheorie Sei e k = (0,..., 0, 1, 0,..., 0). k-te Komponente Also: max p min q p M q T = max p min j p M e T j. Analog: min q max p p M q T = min q max i e i M q T. Konsequenz: Satz (Loomis Theorem) Für jedes 2-Spieler Null-Summen Spiel mit Gewinnmatrix M gilt: max min p p M ej T = min j q max e i M q T i Yaos Prinzip Sei P ein Berechnungsproblem (z.b. Auswerten von AND-OR-Bäumen). Fixiere eine endliche Menge A von deterministischen Algorithmen zur Lösung von P. Sei I die Menge aller Inputs der Länge n für P. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 16 / 34

MinMax-Prinzip, Spieltheorie Charles = Algorithmendesigner Eine (reine) Strategie für Charles ist ein deterministischer Algorithmus A A. Eine randomisierte Strategie für Charles ist eine Wahrscheinlichkeitsverteilung q über der Menge A von deterministischen Algorithmen. Diese kann als ein Las Vegas Algorithmus A q betrachtet werden. Roberta = Gegner (Adversary) Eine (reine) Strategie für Roberta ist ein Input I I. Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein Zufallsinput, der gemäÿ der Verteilung p aus I ausgewählt wird. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 17 / 34

MinMax-Prinzip, Spieltheorie E[C(I p, A q )] = Erwartungswert für die Laufzeit des Las Vegas Algorithmus A q für einen Zufallsinput I p = p I C(I, A) q A I I A A p i = Prob[Roberta wählt Input I ], C(I, A) = Laufzeit des determinisitschen Algorithmus A bei Input I, q A = Prob[Charles wählt Algorithmus A] = max p min E[C[I p, A q )] = min q q E[C(I p, A)] = min A A q max min p max E[C(I p, A q )] p max I I E[C(I, A q)] (von Neumann) (Loomi) Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 18 / 34

MinMax-Prinzip, Spieltheorie Konsequenz: Satz (Yaos MinMax Prinzip) Für jede feste Inputverteilung p über I und jede feste Verteilung q über A ( = Las Vegas Algorithmus) gilt: min E[C(I p, A)] max E[C(I, A q)] A A I I } {{ } } {{ } erwartete laufzeit eines optimalen det. Al- des Las Vegas Algo- worst case Laufzeit gorithmus für Inputverteilunrithmus A q p Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 19 / 34

MinMax-Prinzip, Spieltheorie Allgemeines Vorgehen Sei P ein Berechnungsproblem. Sei R ein beliebiger Las Vegas Algorithmus zur Lösung von P. R kann als eine Wahrscheinlichkeitsverteilung q über einer endlichen Menge A von deterministischen Algorithmen angesehen werden (alle Münzen zu Beginn werfen). Wähle nun eine geeignete Verteilung p auf Inputs der Länge n. Yao = Es gibt einen Input I der Länge n mit E[Laufzeit von R auf Input I ] min A A E[C(I p, A)] min A B E[C(I p, A)] wobei B = Menge aller deterministischen Algorithmen zur Lösung von P. Flexibilität von Yaos Methode: Inputverteilung p kann frei gewählt werden. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 20 / 34

MinMax-Prinzip, Spieltheorie Anwendung von Yaos MinMax Prinzip auf das Auswerten von AND-OR-Bäumen Beobachtung: Folgende 2 Bäume werten sich zum gleichen Wert an der Wurzel aus: T 2,k, wobei Knoten mit gerader (ungerader) Distanz zur Wurzel mit AND (OR) beschriftet sind. T 2,k, wobei alle Knoten mit NOR (NOT-OR) beschriftet sind. NOR NOR NOR u v w x = NOR NOT OR NOT OR u v w x = AND OR OR u v w x Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 21 / 34

MinMax-Prinzip, Spieltheorie Im Folgenden betrachten wir T 2,k wobei alle internen Knoten mit NOR beschriftet sind. Sei p = 3 5 [0, 1]. 2 Markiere jedes Blatt von T 2,k unabhängig mit Wahr-scheinlichkeit p mit 1 (und mit Wahrscheinlichkeit ( ) 1 p mit 0). Beobachtung: Betrachte folgenden Baum: NOR z x y Setze x und y unabh. voneinander mit Wahrscheinlichkeit p jeweils auf 1. = Prob[z = 1] = Prob[x = 0 y = 0] = Prob[x = 0] Prob[y = 0] = (1 p) 2 = p = Jeder Knoten in T 2,k wertet sich mit Wahrscheinlichkeit p zu 1 aus. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 22 / 34

MinMax-Prinzip, Spieltheorie Sei nun A ein beliebiger deterministischer Algorithmus zum Auswerten von NOR-Bäumen. Wir beweisen eine untere Schranke für E[Laufzeit von A, falls Input zufällig nach Methode ( ) gewählt wird]. Ein deterministischer Algorithmus A zum Auswerten von NOR-Bäumen ist ein depth-rst pruning Algorithmus, falls für jeden Knoten v mit Kindern v 0, v 1 gilt: Es gibt ein i {0, 1}, so dass A erst nur Blätter unterhalb von v i und danach nur Blätter unterhalb von v 1 i besucht. Satz (ohne Beweis) Für jeden deterministischen Algorithmus A zum Auswerten von NOR-Bäumen gibt es einen depth-rst pruning Algorithmus B mit: [ ] [ ] Laufzeit von A, falls Input zufällig nach ( ) gewählt wird fällig nach ( ) gewählt Laufzeit von B, falls Input zu- E E wird Wir können uns also auf depth-rst pruning Algorithmen beschränken. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 23 / 34

MinMax-Prinzip, Spieltheorie Sei A ein depth-rst pruning Algorithmus. Sei w(h) = E [ Anzahl der Blätter eines NOR-Baums der Tiefe h, die A auswertet, falls jedes Blatt mit Wahrscheinlichkeit p auf 1 gesetzt wird ] = w(h) = w(h 1) } {{ } + (1 p) } {{ } w(h 1) } {{ } Aufwand zum Auswerten des ersten dass sich erstes Wahrscheinlichkeit, Kinds der Wurzel Kind der Wurzel zu 0 auswertet = w(h) = (2 p) w(h 1) Da w(0) = 1, folgt w(h) = (2 p) h. h = log 2 (n), wobei n = Anzahl der Blätter. Aufwand zum Auswerten des zweiten Kinds der Wurzel = w(h) = (2 p) log 2 (n) = n log 2 (2 p) n 0,694 Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 24 / 34

MinMax-Prinzip, Spieltheorie Satz Für jeden randomisierten Las Vegas Algorithmus R zum Auswerten von AND-OR-Bäumen gibt es eine Belegung I der Blätter von T 2,k mit 0/1-Werten, so dass: [ ] Anzahl der Blätter von T2,k die R bei Belegung der Blätter gemäÿ I E n 0,694 auswertet wobei n = 4 k. Erinnerung: Für randeval war der Erwartungswert für die Anzahl der ausgewerteten Blätter von T 2,k bei jeder Belegung der Blätter mit 0/1-Werten 3 k. n = 4 k = 3 k n 0,793 Kann Yaos Methode so angewendet werden, dass wir eine untere Schranke von 3 k erhalten? Ja: Wahrscheinlichkeitsverteilung auf Inputmenge muss cleverer gewählt werden. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 25 / 34

Derandomisierung und Nicht-Uniformität Derandomisierung und Nicht-Uniformität Ein Boolescher Schaltkreis mit n Inputs ist ein gerichteter azyklischer Graph mit den folgenden Eigenschaften: 1 Es gibt genau n Knoten mit Eingangsgrad 0 (Inputgatter), diese sind mit x 1,..., x n markiert. 2 Es gibt genau einen Knoten mit Ausgangsgrad 0 (Ausgabegatter). 3 Jeder Knoten, der kein Eingabegatter ist, ist mit AND, OR oder NOT markiert. Ist v mit NOT markiert, so hat v Eingangsgrad 1. Ein Boolescher Schaltkreis mit n Inputs berechnet auf natürliche Weise eine n-stellige Boolesche Funktion f : {0, 1} n {0, 1}. Ein randomisierter Boolescher Schaltkreis mit n Inputs hat zusätzlich zu den n Inputgattern noch m weitere Zufallsgatter r 1,..., r m (m ist hier beliebig) mit Eingangsgrad 0. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 26 / 34

Derandomisierung und Nicht-Uniformität Ein randomisierter Boolescher Schaltkreis B mit n Inputs berechnet eine Funktion f : {0, 1} n {0, 1}, falls für jede Belegung von x 1,..., x n mit 0/1-Werten gilt: f (x 1,..., x n ) = 0 = B wertet sich zu 0 aus für jede Belegung der Zufallsgatter. f (x 1,..., x n ) = 1 = B wertet sich zu 1 aus für mindestens die Hälfte aller Belegungen der Zufallsgatter, d.h. [ ] B wertet sich bei zufälliger Belegung Prob 1 der Zufallsgatter zu 1 aus 2 Sei nun f : {0, 1} {0, 1}. Für n 0 sei f n die Einschränkung von f auf {0, 1} n, d.h. f n : {0, 1} n {0, 1} und für alle x {0, 1} n : f n (x) = f (x). Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 27 / 34

Derandomisierung und Nicht-Uniformität Sei (B n ) n 0 eine Folge von (randomisierten) Booleschen Schaltkreisen, wobei B n n Inputgatter hat. (B n ) n 0 berechnet f : {0, 1} {0, 1}, falls für alle n 0 gilt: B n berechnet f n. Die Folge (B n ) n 0 ist polynomiell, falls ein Polynom p(n) existiert mit: Anzahl der Gatter von B n p(n). Satz (Adlemans Theorem) Sei f : {0, 1} {0, 1} eine Funktion, die von einer polynomiellen Folge von randomisierten Booleschen Schaltkreisen berechnet wird. Dann wird f von einer polynomiellen Folge von Booleschen Schaltkreisen berechnet. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 28 / 34

Derandomisierung und Nicht-Uniformität Beweis: Sei (B n ) n 0 eine polynomielle Folge von randomisierten Booleschen Schaltkreisen, die f : {0, 1} {0, 1} berechnet. Betrachte B n : n Inputgatter x 1,..., x n, m Zufallsgatter r 1,..., r m. Eine 0/1-Belegung der Inputgatter x 1,..., x n (bzw. Zufallsgatter r 1,..., r m ) wird mit einer Zahl x {0,..., 2 n 1} (bzw. r {0,..., 2 m 1}) identiziert. Wir schreiben B n (x, r) = 1, falls sich der Schaltkreis B n unter diesen Belegungen zu 1 auswertet. Deniere Boolesche Matrix M wie folgt: 2 m Spalten 0,..., 2 m 1 M = x M x,r 2 n Zeilen 0,..., 2 n 1 M x,r = { 1 falls Bn (x, r) = 1 0 sonst r Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 29 / 34

Derandomisierung und Nicht-Uniformität Lösche in M jede Zeile x mit f (x) = 0. = Danach sind in M in jeder Zeile mindestens die Hälfte aller Einträge 1. = Es existiert Spalte r(1) {0,..., 2 m 1} in der mindestens die Hälfte aller Einträge 1 ist. Sei B n (1) der Schaltkreis, der aus B n entsteht, indem die Zufallsgatter r 1,..., r m entsprechend der Belegung r(1) {0,..., 2 m 1} gesetzt werden. Lösche nun in M Spalte r(1) jede Zeile x {0,..., 2 n 1} mit M x,r(1) = 1 (d.h. B n (x, r(1)) = 1) Danach ist immer noch die Hälfte aller Einträge in jeder Zeile x von M gleich 1: Ist x eine Zeile, die nicht gelöscht wurde, so war M x,r(1) = 0, aber vor dem Löschen war M x,r für mindestens die Hälfte aller r gleich 1. Iteriere obigen Vorgang = Belegungen r(1),..., r(k) {0,..., 2 m 1} (unrandomisierte) Schaltkreise B n (1), B n (2),..., B n (k): B n (i) entsteht aus B n, indem Zufallsgatter r 1,..., r m entsprechend der Belegung r(i) gesetzt werden. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 30 / 34

Derandomisierung und Nicht-Uniformität In jeder Phase wird die Anzahl der Zeilen von M mindestens halbiert. = k n Sei nun B n = k i=1 B n(i) (polynomiell groÿer Schaltkreis). (B n) n 0 ist eine polynomielle Folge von (unrandomisierten) Schaltkreisen, die f berechnet. Bemerkung: Der Beweis von Adlemans Theorem ist ein Beispiel für Derandomisierung: Wandle einen randomisierten Algorithmus in einen deterministischen Algorithmus um, wobei eine polynomielle Zeitschranke beibehalten wird. Ist Derandomisierung immer möglich? Antwort: Wahrscheinlich nicht. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 31 / 34

Derandomisierung und Nicht-Uniformität Sei C eine Komplexitätsklasse (z.b. P, RP, NP). Deniere die nicht-uniforme Version C /poly von C wie folgt: Eine Sprache L {0, 1} gehört zur Klasse C /poly, falls eine Funktion α : N {0, 1} existiert mit: Es existiert ein Polynom p(n) mit n 0 : α(n) p(n) {(x, α( x )) x L} C α( x ) = Advice-String für Inputs der Länge n = x Satz L P /poly L RP /poly Es existiert eine polynomielle Folge von Booleschen Schaltkreisen, welche χ l (charakteristische Funktion von L) berechnet. Es existiert eine polynomielle Folge von randomisierten Booleschen Schaltkreisen, welche χ l (charakteristische Funktion von L) berechnet. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 32 / 34

Derandomisierung und Nicht-Uniformität Beweisidee: 1 Sei (B n ) n 0 eine polynomielle Folge von Booleschen Schaltkreisen, welche χ L berechnet. Deniere Advice-String α(n) wie folgt: α(n) = binäre Kodierung des Schaltkreises B n = {(x, α( x )) x L} P = L P /poly 2 Sei L P /poly. = {(x, α( x )) x L} P wobei α(n) p(n) für ein Polynom p(n). Für jedes n 0 kann ein polynomiell groÿer Schaltkreis B n mit n + p(n) Inputgattern konstruiert werden, der alle Eingaben der Form x α(n) mit x = n, x L akzeptiert (und sonst nichts akzeptiert). Idee: Berechnungen von Turing-Maschinen können durch Boolesche Schaltkreise beschrieben werden (siehe Beweis für SAT ist NP-vollständig). Belege nun die letzten α(n) vielen Inputgatter von B n mit dem Advice-String α(n). = Schaltkreis B n (B n ) n 0 ist eine polynomielle Folge von Booleschen Schaltkreisen, welche χ L berechnet. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 33 / 34

Derandomisierung und Nicht-Uniformität Reformulierung von Adlemans Theorem P /poly = RP /poly insbesondere: RP P /poly In einer nichtuniformen Welt kann also stets derandomisiert werden. Andererseits wird vermutet, dass P RP gilt. Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 34 / 34