Randomisierte Algorithmen - 5. Zwei spieltheoretische Aspekte

Werbung
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
Herunterladen