Randomisierte Algorithmen Randomisierte Algorithmen 5. Zwei spieltheoretische Aspekte Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2015/2016 1 / 36
Überblick Überblick Und-Oder-Bäume und ihre deterministische Auswertung Analyse eines randomisierten Algorithmus für die Auswertung von UOB Zwei-Personen-Nullsummen-Spiele 2 / 36
Und-Oder-Bäume und ihre deterministische Auswertung Überblick Und-Oder-Bäume und ihre deterministische Auswertung Analyse eines randomisierten Algorithmus für die Auswertung von UOB Zwei-Personen-Nullsummen-Spiele 3 / 36
Und-Oder-Bäume und ihre deterministische Auswertung 5.1 Definition (Und-Oder-Baum) T k vollständiger binärer Baum der Höhe 2k innere Knoten abwechselnd mit und markiert Wurzel von T 1 ist -Knoten mit zwei -Knoten als Nachfolger Jeder dieser Knoten hat zwei Blätter als Nachfolger. T k entsteht aus T 1, indem die Blätter durch Kopien von T k 1 ersetzt werden T k hat n = 4 k Blätter im folgenden x 1,..., x 4 k genannt 4 / 36
Und-Oder-Bäume und ihre deterministische Auswertung Und-Oder-Bäume Festlegung boolescher Werte an allen Blättern eines UOB impliziert für alle inneren Knoten einschließlich Wurzel einen Wert Berechnung des Wurzelwertes bottom up durch Besuch aller n = 4 k Blätter und Berechnung der Werte aller inneren Knoten möglich Frage: Geht es besser? 5 / 36
Und-Oder-Bäume und ihre deterministische Auswertung 5.4 Satz Für jedes k 1 und jeden deterministischen Algorithmus A gilt: Es gibt eine Folge x 1,..., x 4 k von Bits so, dass A bei der Auswertung von T k mit den x i als Blattwerten alle n = 4 k Blätter besucht. 6 / 36
Und-Oder-Bäume und ihre deterministische Auswertung 5.4 Satz Für jedes k 1 und jeden deterministischen Algorithmus A gilt: Es gibt eine Folge x 1,..., x 4 k von Bits so, dass A bei der Auswertung von T k mit den x i als Blattwerten alle n = 4 k Blätter besucht. Wert der Wurzel = Wert des zuletzt besuchten Blattes sowohl Wurzelwert = 0 als auch Wurzelwert = 1 kann erzwungen werden 6 / 36
Und-Oder-Bäume und ihre deterministische Auswertung 5.5 Beweis Induktion über k Induktionsanfang k = 1: A muss mindestens ein Blatt besuchen, o. B. d. A. x 1. Setze x 1 = 0. Damit ist kein innerer Wert festgelegt. A muss ein weiteres Blatt besuchen. O. B. d. A. zwei Möglichkeiten: 1. Zweites besuchtes Blatt ist x 2. Setze x 2 = 1. Damit nur Wert des -Knotens klar, Wurzelwert nicht. A muss weiteres Blatt besuchen, o. B. d. A. x 3. Setze x 3 = 0. A muss x 4 besuchen Wurzelwert. 2. Zweites besuchtes Blatt ist x 3. Setze x 3 = 0. Kein innerer Wert festgelegt A muss weiteres Blatt besuchen, o. B. d. A. x 2. Setze x 2 = 1. A muss x 4 besuchen Wurzelwert 7 / 36
Und-Oder-Bäume und ihre deterministische Auswertung 5.5 Beweis (2) Induktionsschritt k 1 k: Fasse T k als T 1 -Baum auf, dessen Blätter durch T k 1 -Bäume ersetzt sind. Bezeichne die Blätter von T 1 mit y 1,...,y 4. Analog Induktionsanfang kann durch geeignete Wahl der y i erzwungen werden, dass A alle 4 Werte ermitteln muss. Induktionsvoraussetzung: für jeden T k 1 -Baum gibt es Blattwerte, die gewünschtes y i liefern und erzwingen, dass A alle darunter liegenden Blätter besuchen muss. Also muss A in diesem Fall alle Blätter überhaupt besuchen. 8 / 36
Analyse eines randomisierten Algorithmus für die Auswertung von UOB Überblick Und-Oder-Bäume und ihre deterministische Auswertung Analyse eines randomisierten Algorithmus für die Auswertung von UOB Zwei-Personen-Nullsummen-Spiele 9 / 36
Analyse eines randomisierten Algorithmus für die Auswertung von UOB 5.6 Algorithmus: randomisierte UOB-Auswertung 10 / 36
Analyse eines randomisierten Algorithmus für die Auswertung von UOB 5.6 Algorithmus: randomisierte UOB-Auswertung proc AndNodeEval(T ) if IsLeaf (T ) then return value(t ) fi andernfalls: T zufälliger T -U.baum r OrNodeEval(T ) if r = 0 then return 0 else T and. T -U.baum return OrNodeEval(T ) fi proc OrNodeEval(T ) T zufälliger T -U.baum r AndNodeEval(T ) if r = 1 then return 1 else T and. T -U.baum return AndNodeEval(T ) fi AndNodeEval(root) 10 / 36
Analyse eines randomisierten Algorithmus für die Auswertung von UOB 5.7 Satz Der Erwartungswert für die Anzahl der von Algorithmus 5.6 besuchten Blätter ist für jede Folge x 1,..., x 4 k höchstens 3 k = n log 4 3 n 0.792.... 11 / 36
Analyse eines randomisierten Algorithmus für die Auswertung von UOB 5.8 Beweis Induktion E: ein Erwartungswert für die Anzahl besuchter Blätter Induktionsanfang k = 1: Überprüfen aller 16 möglichen Kombinationen x 1,..., x 4. Z. B. 0100 (Rest analog): 1. Falls erst linker Teilbaum: gleich wahrscheinlich wird erst und nur die 1 oder erst die 0 und dann die 1 besucht, anschließend im rechten Teilbaum beide Blätter. E = 1/2 1 + 1/2 2 + 2 = 7/2. 2. Falls erst rechter Teilbaum; nach Besuch beider Blätter klar: der T 1 -Baum den liefert Wert 0. E = 2. Beide Fälle gleich wahrscheinlich, also insgesamt E = 1/2 7/2 + 1/2 2 = 11/4 < 3 (= 3 1 = 3 k ). 12 / 36
Analyse eines randomisierten Algorithmus für die Auswertung von UOB 5.8 Beweis (2) Induktionsschritt k 1 k: Betrachte zunächst -Knoten mit zwei T k 1 -Bäumen darunter. Zwei Fälle: O1. -Knoten wird 1 liefern: Dann muss mindestens ein T k 1 -Baum dies auch tun. Mit Wahrscheinlichkeit p 1/2 wird ein Unterbaum untersucht, der 1 liefert. Mit Wahrscheinlichkeit 1 p 1/2 werden beide Unterbäume untersucht. E p 3 k 1 + (1 p) 2 3 k 1 = (2 p) 3 k 1 3/2 3 k 1. O2. Der -Knoten wird 0 liefern: Dann müssen beide T k 1 -Bäume dies auch tun. Nach Induktionsvoraussetzung E 2 3 k 1 ist. 13 / 36
Analyse eines randomisierten Algorithmus für die Auswertung von UOB 5.8 Beweis (3) Induktionsschritt k 1 k: Teil 2a Betrachte Wurzel des T k -Baumes mit zwei eben untersuchten Bäumen darunter. Zwei Fälle: U1. Der -Knoten wird 0 liefern: Dann muss mindestens ein U.baum dies auch tun. Mit Wahrscheinlichkeit p 1/2 wird ein Unterbaum untersucht, der 0 liefert. Mit Wahrscheinlichkeit 1 p 1/2 werden beide Unterbäume untersucht. Gemäß O1 und O2 ist folglich E p 2 3 k 1 + (1 p) (3/2 3 k 1 + 2 3 k 1 ) = 7/2 3 k 1 p 3/2 3 k 1 11/4 3 k 1 3 k 14 / 36
Analyse eines randomisierten Algorithmus für die Auswertung von UOB 5.8 Beweis (3) Induktionsschritt k 1 k: Teil 2b Betrachte Wurzel des T k -Baumes mit zwei eben untersuchten Bäumen darunter. Fall: U2. Der -Knoten wird 1 liefern: Dann müssen beide Unterbäume dies auch tun. Gemäß O1 ist daher E 2 3/2 3 k 1 3 k. 15 / 36
Zwei-Personen-Nullsummen-Spiele Überblick Und-Oder-Bäume und ihre deterministische Auswertung Analyse eines randomisierten Algorithmus für die Auswertung von UOB Zwei-Personen-Nullsummen-Spiele 16 / 36
Zwei-Personen-Nullsummen-Spiele 5.9 Spiele n 2 Spieler Spieler i hat (endliche) Menge S i reiner Strategien s i j zur Auswahl u i : S 1 S n R gibt für jede Kombination von Strategien den Nutzen oder Gewinn von Spieler i an. 17 / 36
Zwei-Personen-Nullsummen-Spiele 5.10 Zwei-Personen-Nullsummen-Spiele n = 2 Spieler für die Nutzenfunktionen gilt: u 1 = u 2. Es genügt Matrix M mit S 1 Zeilen S 2 Spalten M ij = u 1 (si 1, s2 j ) Zeilenspieler und Spaltenspieler Einheitsvektor e i (passender Länge) entspricht reiner Strategie i u 1 (s 1 i, s2 j ) = et i Me j 18 / 36
Zwei-Personen-Nullsummen-Spiele 5.11 Gemischte Strategien gemischte Strategie: Wahrscheinlichkeitsverteilung p auf der Menge der reinen Strategien eines Spielers. Sind p und q gemischte Strategien für Zeilen- und Spaltenspieler, dann ist p T Mq der zu erwartende Gewinn für den Zeilenspieler. 19 / 36
Zwei-Personen-Nullsummen-Spiele 5.12 Satz (von Neumann, 1928) Für Zwei-Personen-Nullsummen-Spiele mit Matrix M gilt: max p min q p T Mq = min q max p p T Mq und es gibt Verteilungen p und q, für die p T Mq dieser Wert ist. 20 / 36
Zwei-Personen-Nullsummen-Spiele 5.13 Korollar (Loomis, 1946) Für Zwei-Personen-Nullsummen-Spiele mit Matrix M gilt: max p min j p T Me j = min q max i e T i Mq 21 / 36
Zwei-Personen-Nullsummen-Spiele 5.14 Beweis genügt zu zeigen: für jedes p gilt: min q p T Mq = min j p T Me j analog für die rechten Seiten der beiden Gleichungen aus Satz 5.12 und Korollar 5.13. Für beliebiges p ist p T M ein Zeilenvektor v T. Sei j eine Stelle in v, an der der kleinste aller in v vorkommenden Werte steht. Also: v T e j ist der kleinste überhaupt mögliche Wert, der für ein v T q auftreten kann. 22 / 36
Zwei-Personen-Nullsummen-Spiele 5.15 Korollar Loomis: max p min j p T Me j = min q max i e T i Mq 23 / 36
Zwei-Personen-Nullsummen-Spiele 5.15 Korollar Loomis: max p min j p T Me j = min q max i e T i Mq Für alle Verteilungen p und q gilt: min j p T Me j max e T i Mq i 23 / 36
Überblick Und-Oder-Bäume und ihre deterministische Auswertung Analyse eines randomisierten Algorithmus für die Auswertung von UOB Zwei-Personen-Nullsummen-Spiele 24 / 36
5.16 Algorithmenentwurf als Spiel (1) 2 Spieler Zeilenspieler: ein böser Widersacher Spaltenspieler: ein Algorithmenentwerfer reine Strategien Widersacher: gemeine Eingaben Algorithmenentwerfer: deterministische Algorithmen Einträge von M: Gewinn C(I, A) des Widersachers z.b. C(I, A) = Laufzeit von Algorithmus A für Eingabe I oder der Verbrauch irgendeiner anderen Ressource Ziele Widersacher: C(I, A) maximieren Algorithmenentwerfer: C(I, A) minimieren 25 / 36
5.16 Algorithmenentwurf als Spiel (2) reine Strategien Widersacher: gemeine Eingaben Algorithmenentwerfer: deterministische Algorithmen gemischte Strategien 26 / 36
5.16 Algorithmenentwurf als Spiel (2) reine Strategien Widersacher: gemeine Eingaben Algorithmenentwerfer: deterministische Algorithmen gemischte Strategien Widersacher: Wahrscheinlichkeitsverteilung auf einer Menge der Eingaben Algorithmenentwerfer: Wahrscheinlichkeitsverteilung auf einer Menge deterministischer Algorithmen 26 / 36
5.16 Algorithmenentwurf als Spiel (2) reine Strategien Widersacher: gemeine Eingaben Algorithmenentwerfer: deterministische Algorithmen gemischte Strategien Widersacher: Wahrscheinlichkeitsverteilung auf einer Menge der Eingaben Algorithmenentwerfer: randomisierter Algorithmus 26 / 36
5.17 Satz (Minimax-Methode von Yao) Es sei P ein Problem für eine endliche Menge I von Eingaben gleicher Größe n und A eine endliche Menge von Algorithmen für dieses Problem. C(I, A) Laufzeit von A A für I I. p und q: Wahrscheinlichkeitsverteilungen auf I bzw. A. Mit I p bzw. A q werde ein gemäß der Verteilung p bzw. q aus I bzw. A gewählte Eingabe bzw. Algorithmus bezeichnet. Dann gilt für alle p und q: min E [ C(I p, A) ] max E [ C(I, A q ) ] A A I I 27 / 36
5.18 Erläuterungen min E [ C(I p, A) ] max E [ C(I, A q ) ] A A I I Erwartungswert E [ C(I p, A) ] für gegebenes A die erwartete Laufzeit bei zufälliger Wahl von I p gemäß Verteilung p. Minimum der Erwartungswerte, also für den besten Algorithmus, von Bedeutung Erwartungswert E [ C(I, A q ) ] für gegebenes I die erwartete Laufzeit eines randomisierten Algorithmus. Maximum der Erwartungswerte, also für schlimmste Eingabe, von Bedeutung min A A E [ C(I p, A) ] ist eine untere Schranke für Laufzeit 28 / 36
5.19 Bemerkung Einen Satz analog zu 5.17 kann man auch für Monte-Carlo-Algorithmen beweisen. Hierauf gehen wir nicht weiter ein. 29 / 36
5.20 5.21 -Funktion: x y x y 0 0 1 0 1 0 1 0 0 1 1 0 Und-Oder-Baum kann auch als Baum mit lauter inneren -Knoten aufgefaßt werden: (x 1 x 2 ) (x 3 x 4 ) = (x 1 x 2 ) (x 3 x 4 ) = (x 1 x 2 ) (x 3 x 4 ) Für p = 3 5 2 0.381966... gilt: (1 p) 2 = p. Wenn an jedem Eingang eines -Gatters unabhängig mit Wahrscheinlichkeit p eine 1 vorliegt, ist daher mit gleicher Wahrscheinlichkeit p auch die Ausgabe eine 1. 30 / 36
5.22 Satz T : vollständiger balancierter Baum aus -Knoten, Blätter haben unabhängig voneinander mit Wahrscheinlichkeit p = (3 5)/2 den Wert 1 W (T ) sei das Minimum (über alle deterministischen Algorithmen) der erwarteten Anzahl von Schritten zur Auswertung von T. Dann gibt es auch einen Algorithmus A, der eine erwartete Anzahl von nur W (T ) Schritten macht und außerdem die folgende Eigenschaft hat: Besucht A ein Blatt v, das zu einem Teilbaum T gehört und später ein Blatt u, das nicht zu T gehört, dann gilt für alle Blätter a von T, die A überhaupt besucht: A besucht a vor u. 31 / 36
5.23 Satz Die erwartete Anzahl der Blätter, die ein randomisierter Algorithmus zur Auswertung von UOB mit n Blättern besucht, ist mindestens n log 2 ((1+ 5)/2) = n 0.694.... 32 / 36
5.24 Beweis Betrachte einen Algorithmus wie in Satz 5.22 Auswertung von -Bäumen, deren Blätter unabhängig voneinander mit Wahrscheinlichkeit p = 3 5 2 auf 1 gesetzt sind. In Abhängigkeit von der Höhe h sei W (h) die erwartete Anzahl besuchter Blätter. Es ist W (h) = W (h 1) + (1 p)w (h 1) = (2 p)w (h 1) also W (h) = (2 p) h 1 W (1) = (2 p) h Einsetzen von h = log 2 n und p ergibt W (T ) = (2 p) log 2 n = 2 (log 2 (2 p))(log 2 n) = n log 2 (2 p) = n 0.694... 33 / 36
5.25 Genauere (und schwierigere) Analyse liefert sogar untere Schranke von n log 4 3 n 0.792.... Die durch unseren randomisierten Algorithmus gegebene obere Schranke ist also optimal. 34 / 36
5.26 Da Erwartungswert für Anzahl besuchter Blätter n 0.792... gibt es eine Berechnung, die max. so viele Blätter besucht. 35 / 36
5.26 Da Erwartungswert für Anzahl besuchter Blätter n 0.792... gibt es eine Berechnung, die max. so viele Blätter besucht. also: mit Wahrscheinlichkeit echt größer 0 findet randomisierter Algorithmus Teilmenge von n 0.792... Blättern, aus denen schon der Wurzelwert folgt. Also existiert für jede Verteilung von Bits auf alle Blätter solch kleine Teilmenge von Blättern, deren Kenntnis für die Bestimmung des Wurzelwertes ausreicht. Hausaufgabe: es reichen sogar immer n 0.5 35 / 36
5.26 Da Erwartungswert für Anzahl besuchter Blätter n 0.792... gibt es eine Berechnung, die max. so viele Blätter besucht. also: mit Wahrscheinlichkeit echt größer 0 findet randomisierter Algorithmus Teilmenge von n 0.792... Blättern, aus denen schon der Wurzelwert folgt. Also existiert für jede Verteilung von Bits auf alle Blätter solch kleine Teilmenge von Blättern, deren Kenntnis für die Bestimmung des Wurzelwertes ausreicht. Hausaufgabe: es reichen sogar immer n 0.5 Aber: Jeder deterministische Algorithmus muss für manche Eingaben alle Blätter besuchen. Es ist also manchmal sehr schwierig, deterministisch eine solche kleine Teilmenge von Blättern zu finden. 35 / 36
Zusammenfassung Bei der Auswertung von Und-Oder-Bäumen kann man randomisiert weniger Blattbesuche erwarten, als jeder deterministische Algorithmus für manche Bäume durchführen muss. Die Minimax-Methode von Yao liefert eine Möglichkeit, untere Schranken für die erwartete Laufzeit randomisierter Algorithmen herzuleiten. 36 / 36