Randomisierte Algorithmen Randomisierte Algorithmen 5. Zwei spieltheoretische Aspekte Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 36 Spieltheoretische Aspekte Überblick Überblick Und-Oder-Bäume und ihre deterministische Auswertung Analyse eines randomisierten Algorithmus für die Auswertung von UOB Zwei-Personen-Nullsummen-Spiele Untere Schranken für randomisierte Algorithmen 2 / 36 Spieltheoretische Aspekte 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 Untere Schranken für randomisierte Algorithmen 3 / 36 Spieltheoretische Aspekte Und-Oder-Bäume und ihre deterministische Auswertung 5.1 Definition (Und-Oder-Baum) Tk vollständiger binärer Baum der Höhe 2k I innere Knoten abwechselnd mit “∧” und “∨” markiert I Wurzel von T1 ist ∧-Knoten mit zwei ∨-Knoten als Nachfolger I Jeder dieser Knoten hat zwei Blätter als Nachfolger. I Tk entsteht aus T1, indem die Blätter durch Kopien von Tk−1 ersetzt werden I Tk hat n = 4k Blätter I im folgenden x 1, . . . , x 4k genannt 4 / 36 Spieltheoretische Aspekte Und-Oder-Bäume und ihre deterministische Auswertung Und-Oder-Bäume I I 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 I I I Besuch aller n = 4k Blätter und Berechnung der Werte aller inneren Knoten möglich Frage: Geht es besser? 5 / 36 Spieltheoretische Aspekte Und-Oder-Bäume und ihre deterministische Auswertung 5.4 Satz Für jedes k ≥ 1 und jeden deterministischen Algorithmus A gilt: I Es gibt eine Folge x 1, . . . , x 4k von Bits so, dass A bei der Auswertung von Tk mit den x i als Blattwerten alle n = 4k Blätter besucht. 6 / 36 Spieltheoretische Aspekte Und-Oder-Bäume und ihre deterministische Auswertung 5.4 Satz Für jedes k ≥ 1 und jeden deterministischen Algorithmus A gilt: I Es gibt eine Folge x 1, . . . , x 4k von Bits so, dass A bei der Auswertung von Tk mit den x i als Blattwerten alle n = 4k Blätter besucht. I Wert der Wurzel = Wert des zuletzt besuchten Blattes I sowohl Wurzelwert = 0 als auch Wurzelwert = 1 kann erzwungen werden 6 / 36 Spieltheoretische Aspekte Und-Oder-Bäume und ihre deterministische Auswertung 5.5 Beweis Induktion über k I Induktionsanfang k = 1: I I I I 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 Spieltheoretische Aspekte Und-Oder-Bäume und ihre deterministische Auswertung 5.5 Beweis (2) I Induktionsschritt k − 1 ; k: I I I I I Fasse Tk als T1 -Baum auf, dessen Blätter durch Tk −1 -Bäume ersetzt sind. Bezeichne die „Blätter“ von T1 mit y1 , . . . , y4 . Analog Induktionsanfang kann durch geeignete Wahl der yi erzwungen werden, dass A alle 4 Werte ermitteln muss. Induktionsvoraussetzung: für jeden Tk −1 -Baum gibt es Blattwerte, die gewünschtes yi 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 Spieltheoretische Aspekte 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 Untere Schranken für randomisierte Algorithmen 9 / 36 Spieltheoretische Aspekte Analyse eines randomisierten Algorithmus für die Auswertung von UOB 5.6 Algorithmus: randomisierte UOB-Auswertung 10 / 36 Spieltheoretische Aspekte 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 handernfalls:i T 0 ← hzufälliger T -U.baumi r ← OrNodeEval(T 0) if r = 0 then return 0 else T 00 ← hand. T -U.baumi return OrNodeEval(T 00) fi proc OrNodeEval(T ) T 0 ← hzufälliger T -U.baumi r ← AndNodeEval(T 0) if r = 1 then return 1 else T 00 ← hand. T -U.baumi return AndNodeEval(T 00) fi AndNodeEval(root) 10 / 36 Spieltheoretische Aspekte 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 4k höchstens 3k = nlog4 3 ≈ n0.792... . 11 / 36 Spieltheoretische Aspekte Analyse eines randomisierten Algorithmus für die Auswertung von UOB 5.8 Beweis Induktion I I 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 T1 -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 (= 31 = 3k ). 12 / 36 Spieltheoretische Aspekte Analyse eines randomisierten Algorithmus für die Auswertung von UOB 5.8 Beweis (2) Induktionsschritt k − 1 ; k: I Betrachte zunächst ∨-Knoten mit zwei Tk −1 -Bäumen darunter. Zwei Fälle: O1. ∨-Knoten wird 1 liefern: I I I I Dann muss mindestens ein Tk −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 · 3k −1 + (1 − p) · 2 · 3k−1 = (2 − p) · 3k −1 ≤ 3/2 · 3k −1 . O2. Der ∨-Knoten wird 0 liefern: I I Dann müssen beide Tk −1 -Bäume dies auch tun. Nach Induktionsvoraussetzung E ≤ 2 · 3k −1 ist. 13 / 36 Spieltheoretische Aspekte Analyse eines randomisierten Algorithmus für die Auswertung von UOB 5.8 Beweis (3) Induktionsschritt k − 1 ; k: Teil 2a I Betrachte Wurzel des Tk -Baumes mit zwei eben untersuchten Bäumen darunter. Zwei Fälle: U1. Der ∧-Knoten wird 0 liefern: I I I I 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 · 3k −1 + (1 − p) · (3/2 · 3k−1 + 2 · 3k −1 ) = 7/2 · 3k −1 − p · 3/2 · 3k−1 ≤ 11/4 · 3k −1 ≤ 3k 14 / 36 Spieltheoretische Aspekte Analyse eines randomisierten Algorithmus für die Auswertung von UOB 5.8 Beweis (3) Induktionsschritt k − 1 ; k: Teil 2b I Betrachte Wurzel des Tk -Baumes mit zwei eben untersuchten Bäumen darunter. Fall: U2. Der ∧-Knoten wird 1 liefern: I I Dann müssen beide Unterbäume dies auch tun. Gemäß O1 ist daher E ≤ 2 · 3/2 · 3k −1 ≤ 3k . 15 / 36 Spieltheoretische Aspekte 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 Untere Schranken für randomisierte Algorithmen 16 / 36 Spieltheoretische Aspekte Zwei-Personen-Nullsummen-Spiele 5.9 Spiele I n ≥ 2 Spieler I Spieler i hat (endliche) Menge Si reiner Strategien s ij zur Auswahl I ui : S 1 × · · · × Sn → R gibt für jede Kombination von Strategien den Nutzen oder Gewinn von Spieler i an. 17 / 36 Spieltheoretische Aspekte Zwei-Personen-Nullsummen-Spiele 5.10 Zwei-Personen-Nullsummen-Spiele I n = 2 Spieler I für die Nutzenfunktionen gilt: u1 = −u2. Es genügt Matrix M mit I I I I |S 1 | Zeilen |S 2 | Spalten Mi j = u1 (si1 , s j2 ) I Zeilenspieler und Spaltenspieler I Einheitsvektor ei (passender Länge) entspricht reiner Strategie i I u1 (si1, s j2 ) = eTi Mej 18 / 36 Spieltheoretische Aspekte Zwei-Personen-Nullsummen-Spiele 5.11 Gemischte Strategien I gemischte Strategie: Wahrscheinlichkeitsverteilung p auf der Menge der reinen Strategien eines Spielers. I Sind p und q gemischte Strategien für Zeilen- und Spaltenspieler, dann ist pT Mq der zu erwartende Gewinn für den Zeilenspieler. 19 / 36 Spieltheoretische Aspekte Zwei-Personen-Nullsummen-Spiele 5.12 Satz (von Neumann, 1928) Für Zwei-Personen-Nullsummen-Spiele mit Matrix M gilt: max min pT Mq = min max pT Mq p q q p und es gibt Verteilungen p∗ und q∗ , für die p∗T Mq∗ dieser Wert ist. 20 / 36 Spieltheoretische Aspekte Zwei-Personen-Nullsummen-Spiele 5.13 Korollar (Loomis, 1946) Für Zwei-Personen-Nullsummen-Spiele mit Matrix M gilt: max min pT Mej = min max eTi Mq p j q i 21 / 36 Spieltheoretische Aspekte Zwei-Personen-Nullsummen-Spiele 5.14 Beweis I genügt zu zeigen: I für jedes p gilt: min pT Mq = min pT Mej q I j analog für die rechten Seiten der beiden Gleichungen aus Satz 5.12 und Korollar 5.13. I Für beliebiges p ist pT M ein Zeilenvektor vT . I Sei j eine Stelle in v, an der der kleinste aller in v vorkommenden Werte steht. I Also: vT ej ist der kleinste überhaupt mögliche Wert, der für ein vT q auftreten kann. 22 / 36 Spieltheoretische Aspekte Zwei-Personen-Nullsummen-Spiele 5.15 Korollar Loomis: max min pT Mej = min max eTi Mq p j q i 23 / 36 Spieltheoretische Aspekte Zwei-Personen-Nullsummen-Spiele 5.15 Korollar Loomis: max min pT Mej = min max eTi Mq p j q i Für alle Verteilungen p und q gilt: min pT Mej ≤ max eTi Mq j i 23 / 36 Spieltheoretische Aspekte Untere Schranken für randomisierte Algorithmen Überblick Und-Oder-Bäume und ihre deterministische Auswertung Analyse eines randomisierten Algorithmus für die Auswertung von UOB Zwei-Personen-Nullsummen-Spiele Untere Schranken für randomisierte Algorithmen 24 / 36 Spieltheoretische Aspekte Untere Schranken für randomisierte Algorithmen 5.16 Algorithmenentwurf als „Spiel“ (1) I 2 Spieler I I I reine Strategien I I I Widersacher: „gemeine“ Eingaben Algorithmenentwerfer: deterministische Algorithmen Einträge von M: Gewinn C(I, A) des Widersachers I I I Zeilenspieler: ein „böser“ Widersacher Spaltenspieler: ein Algorithmenentwerfer z.B. C(I , A) = Laufzeit von Algorithmus A für Eingabe I oder der Verbrauch irgendeiner anderen Ressource Ziele I I Widersacher: C(I , A) maximieren Algorithmenentwerfer: C(I, A) minimieren 25 / 36 Spieltheoretische Aspekte Untere Schranken für randomisierte Algorithmen 5.16 Algorithmenentwurf als „Spiel“ (2) I reine Strategien I I I Widersacher: „gemeine“ Eingaben Algorithmenentwerfer: deterministische Algorithmen gemischte Strategien 26 / 36 Spieltheoretische Aspekte Untere Schranken für randomisierte Algorithmen 5.16 Algorithmenentwurf als „Spiel“ (2) I reine Strategien I I I Widersacher: „gemeine“ Eingaben Algorithmenentwerfer: deterministische Algorithmen gemischte Strategien I I Widersacher: Wahrscheinlichkeitsverteilung auf einer Menge der Eingaben Algorithmenentwerfer: Wahrscheinlichkeitsverteilung auf einer Menge deterministischer Algorithmen 26 / 36 Spieltheoretische Aspekte Untere Schranken für randomisierte Algorithmen 5.16 Algorithmenentwurf als „Spiel“ (2) I reine Strategien I I I Widersacher: „gemeine“ Eingaben Algorithmenentwerfer: deterministische Algorithmen gemischte Strategien I I Widersacher: Wahrscheinlichkeitsverteilung auf einer Menge der Eingaben Algorithmenentwerfer: randomisierter Algorithmus 26 / 36 Spieltheoretische Aspekte Untere Schranken für randomisierte Algorithmen 5.17 Satz (Minimax-Methode von Yao) I 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. I C(I, A) Laufzeit von A ∈ A für I ∈ I. I p und q: Wahrscheinlichkeitsverteilungen auf I bzw. A. I Mit Ip bzw. Aq werde ein gemäß der Verteilung p bzw. q aus I bzw. A gewählte Eingabe bzw. Algorithmus bezeichnet. I Dann gilt für alle p und q: min E C(Ip , A) ≤ max E C(I , Aq ) A∈A I ∈I 27 / 36 Spieltheoretische Aspekte Untere Schranken für randomisierte Algorithmen 5.18 Erläuterungen min E C(Ip , A) ≤ max E C(I , Aq ) A∈A I Erwartungswert E C(Ip , A) I I I für gegebenes A die „erwartete Laufzeit“ bei zufälliger Wahl von Ip gemäß Verteilung p. Minimum der Erwartungswerte, also für den „besten“ Algorithmus, von Bedeutung Erwartungswert E C(I, Aq ) I I I I ∈I für gegebenes I die „erwartete Laufzeit“ eines randomisierten Algorithmus. Maximum der Erwartungswerte, also für schlimmste Eingabe, von Bedeutung minA∈A E C(Ip , A) ist eine untere Schranke für Laufzeit 28 / 36 Spieltheoretische Aspekte Untere Schranken für randomisierte Algorithmen 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 Spieltheoretische Aspekte Untere Schranken für randomisierte Algorithmen 5.20 – 5.21 I I x y x∨y 0 0 1 0 0 1 1 0 0 0 1 1 Und-Oder-Baum kann auch als Baum mit lauter inneren ∨-Knoten aufgefaßt werden: ∨-Funktion: (x 1 ∨ x 2 ) ∧ (x 3 ∨ x 4 ) = (x 1 ∨ x 2 ) ∨ (x 3 ∨ x 4 ) I I √ 3− 5 2 = (x 1 ∨x 2 )∨(x 3 ∨x 4 ) Für p = ≈ 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 Spieltheoretische Aspekte Untere Schranken für randomisierte Algorithmen 5.22 Satz I T : vollständiger balancierter Baum aus ∨-Knoten, Blätter haben √ unabhängig voneinander mit Wahrscheinlichkeit p = (3 − 5)/2 den Wert 1 I 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: I I I Besucht A ein Blatt v 0, das zu einem Teilbaum T 0 gehört und später ein Blatt u, das nicht zu T 0 gehört, dann gilt für alle Blätter a 00 von T 0, die A überhaupt besucht: A besucht a 00 vor u. 31 / 36 Spieltheoretische Aspekte Untere Schranken für randomisierte Algorithmen 5.23 Satz Die erwartete Anzahl der Blätter, die ein randomisierter Algorithmus zur Auswertung von UOB mit n Blättern besucht, ist mindestens nlog2 ((1+ √ 5)/2) = n0.694... . 32 / 36 Spieltheoretische Aspekte Untere Schranken für randomisierte Algorithmen 5.24 Beweis I I I I Betrachte einen Algorithmus wie in Satz 5.22 Auswertung von ∨-Bäumen, deren Blätter unabhängig voneinander √ 3− 5 mit Wahrscheinlichkeit p = 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 I W (h) = (2 − p)h−1W (1) = (2 − p)h Einsetzen von h = log2 n und p ergibt W (T ) = (2 − p)log2 n = 2(log2 (2−p))(log2 n) = nlog2 (2−p) = n0.694... 33 / 36 Spieltheoretische Aspekte Untere Schranken für randomisierte Algorithmen 5.25 I Genauere (und schwierigere) Analyse liefert sogar untere Schranke von nlog4 3 ≈ n0.792... . I Die durch unseren randomisierten Algorithmus gegebene obere Schranke ist also optimal. 34 / 36 Spieltheoretische Aspekte Untere Schranken für randomisierte Algorithmen 5.26 I I Da Erwartungswert für Anzahl besuchter Blätter n0.792... gibt es eine Berechnung, die max. so viele Blätter besucht. 35 / 36 Spieltheoretische Aspekte Untere Schranken für randomisierte Algorithmen 5.26 I I I I I Da Erwartungswert für Anzahl besuchter Blätter n0.792... gibt es eine Berechnung, die max. so viele Blätter besucht. also: mit Wahrscheinlichkeit echt größer 0 findet randomisierter Algorithmus Teilmenge von ≤ n0.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 n0.5 35 / 36 Spieltheoretische Aspekte Untere Schranken für randomisierte Algorithmen 5.26 I I I I I I I Da Erwartungswert für Anzahl besuchter Blätter n0.792... gibt es eine Berechnung, die max. so viele Blätter besucht. also: mit Wahrscheinlichkeit echt größer 0 findet randomisierter Algorithmus Teilmenge von ≤ n0.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 n0.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 Spieltheoretische Aspekte Untere Schranken für randomisierte Algorithmen Zusammenfassung I 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. I Die Minimax-Methode von Yao liefert eine Möglichkeit, untere Schranken für die erwartete Laufzeit randomisierter Algorithmen herzuleiten. 36 / 36