Seminar: Randomisierte Algorithmen Auswerten von Spielbäumen

Werbung
Seminar: Randomisierte Algorithmen
Auswerten von Spielbäumen
Nele Küsener
In diesem Vortrag wird die Laufzeit von Las-Vegas-Algorithmen analysiert. Das Ergebnis ist eine obere und eine untere Schranke für die maximal erwartete Laufzeit.
Als Beispiel schauen wir uns einen randomisierten Algorithmus an, der Spielbäume auswertet.
Inhaltsverzeichnis
1 Das Auswerten von Spielbäumen
2 Das
2.1
2.2
2.3
2.4
Minimax-Prinzip
Grundlegende Begriffe aus der Spieltheorie
Beispiel . . . . . . . . . . . . . . . . . . .
von Neumann’s Minimax-Theorem . . . .
Anwendung des Minimax-Prinzip . . . . .
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 Berechnung der unteren Schranke für den Algorithmus von Snir
1
.
.
.
.
.
.
.
.
3
3
5
5
6
7
Das Auswerten von Spielbäumen
Was ist ein Spielbaum? Ein Spielbaum ist ein verwurzelter und beschrifteter Baum
mit einer gerade Anzahl von Generationen. Die Knoten, die einer geradzahligen Generation angehören, werden mit MIN beschriftet, die inneren Knoten aus einer ungeraden
Generation werden mit MAX beschriftet. An jedem Blatt steht ein reeller Wert. Die
Auswertung eines Spielbaumes ist das Bestimmen des Wertes an der Wurzel. Ein Knoten der mit MAX beschriftet ist, nimmt den maximalen Wert seiner Kinder an. Ein
Knoten, der mit MIN beschriftet ist, entsprechend den minimalen Wert.
Wir betrachten Binäre Spielbäume. Dort haben die Blätter entweder den Wert 0 oder 1.
Die Boolschen Operationen AND und OR ersetzen dort die Funktionen MIN und MAX.
k
Notation tk = (v1 , . . . , v4k ) ∈ {0, 1}4 ist der Spielbaum der Höhe 2k. vi ist der Wert
des i-ten Blattes bzgl. einer beliebigen, aber festen Abzählung der Blätter. Den Wert
der Wurzel bezeichnet man mit w (tk ).
Ein Spielbaum beschreibt folgendes Spiel: Spieler A und Spieler B bestimmen abwechselnd von Knoten zu Knoten einen Weg von oben nach unten durch den Spielbaum.
Den Wert des ausgewählten Blattes muss Spieler B an Spieler A bezahlen.
Spieler B beginnt. Die inneren Knoten bezeichnen den maximalen Gewinn bzw. minimalen Verlust bei geschickter Spielweise.
Ein Algorithmus zur Auswertung eines Spielbaums liest bei jedem Schritt den
Wert eines Blattes ein, wobei die Wahl des als nächstes einzulesenden Blattes von den
Werten der bereits inspizierten Blätter abhängen darf. Als Maß für die Laufzeit eines
solchen Algorithmus nimmt man nur die Anzahl der eingelesenen Werte, da das Berechnen von Minimum und Maximum sehr schnell geht.
Wir betrachten randomisierte Algorithmen, da diese den Vorteil haben, dass man ihnen
keine gezielte Eingabebelegung geben kann, die sie zwingt alle Eingaben zu prüfen. Die
deterministische Komplexität eines Algorithmus zum Auswerten eines Spielbaums ist
n = 4k . Man kann diese Laufzeit erzwingen, indem man dem Algorithmus an einem
MAX/OR Knoten zuerst eine 0 liefert und bei einem MIN/AND Knoten zuerst eine 1.
Randomisierter Algorithmus von Snir zur Auswertung eines Spielbaums Zur
Auswertung eines AND-Knoten wähle man rein zufällig eines der beiden Kinder und
bestimme rekursiv dessen Wert (= Wert eines in einem OR-Knoten verwurzelten Teilbaums). Ist der Wert des Kindes 0, so ist dies auch der zu bestimmende Wert des
AND-Knoten. Ist der Wert des Kindes 1, dann bestimme man auch noch den Wert
des anderen Kindes. Die Auswertung eines OR-Knoten verläuft analog mit vertauschten
Rollen von 0 und 1.
Der nächste Satz gibt eine obere Schranke für die maximal erwartete Anzahl der inspizierten Blätter an:
Satz 1.1: Sei L (tk ) die Anzahl der bei der Auswertung des Spielbaums tk inspizierten
Blätter, dann gilt
max EL (tk ) ≤ 3k , k ∈ N.
k
tk ∈{0,1}4
Beweis Wir beweisen den Satz per Induktion und fangen an mit k = 1. Unterteilung
in zwei Fälle: w (t1 ) = 0 und w (t1 ) = 1:
Im Fall, dass die Wurzel den Wert 0 annimmt, wählt der Algorithmus mit einer Wahrscheinlichkeit von p ≥ 12 zuerst ein Kind mit dem Wert 0 und muss dann das zweite
Kind nicht mehr auswerten.
Jedes Kind der Wurzel hat zwei Blätter. Man kann also folgende Abschätzung machen:
L (t1 ) ≤ 2 ∗ (#inspizierte Kinder).
E [L (t1 )] ≤ 2 ∗ E [#insp. Kinder]
= 2 ∗ (P (ein insp. Kind) ∗ 1 + P (zwei insp.Kinder) ∗ 2)
= 2 ∗ (1 ∗ p + 2 ∗ (1 − p))
= 2p + 4 − 4p
= 4 − 2p
≤4−2∗
1
2
≤ 31
Im Fall, dass die Wurzel den Wert 1 annimmt, müssen beide Kinder ausgewertet
werden. Sie haben beide den Wert 1 und mit einer Wahrscheinlichkeit p ≥ 12 ist das
erste Blatt eines Kindes eine 1.
E [L (t1 )] = 2 ∗ E [#insp. Blätter pro Kind]
= 2 ∗ (1 ∗ p + 2 ∗ (1 − p))
3
≤2∗
2
1
=3
(i)
Nun folgt der Induktionsschritt von k zu k + 1: Seien tk , i = 1, . . . , 4, die in den Enkeln
der Wurzel von tk+1 verwurzelten binären Spielbäume der Höhe 2k.
E [L (tk+1 )] =
=
≤
4
X
¡
¢
E #ins. Blätter in Teilbaumi ∗ I{Teilbaum i ausgew.}
i=1
4
X
i=1
4
X
E [#ins. Blätter in TB i] ∗ P (TB i insp.)
3k ∗ P (TB i insp.)
i=1
=
4
X
3k ∗
i=1
= 3k ∗
3
4
3
∗4
4
= 3k+1
Bemerkung: Die Eingabe hat die Länge n = 4k . Die erwarteten Kosten des rand.
Algorithmus sind also durch nlog4 3 nach oben beschränkt. (log4 3 = 0.7924)
2
Das Minimax-Prinzip
Wie ist die Güte des Algorithmus von Snir zu beurteilen? Was ist die randomisierte
Komplexität? Im folgenden Abschnitt wird allgemein eine Technik zur Herleitung einer
unteren Schranke für die maximale erwartete Laufzeit von Las-Vegas-Algorithmen dargestellt.
2.1
Grundlegende Begriffe aus der Spieltheorie
Bei einem Zwei-Personen-Nullsummen-Spiel gewinnt der eine Spieler genau den Betrag,
den der andere Spieler verliert.
Spieler A verfügt über die reinen Strategien ai , 1 ≤ i ≤ n und Spieler B über die
reinen Strategien bj , 1 ≤ j ≤ m. Bei Spielen der Strategien ai und bj , erhält Spieler
A von Spieler B den Betrag cij . cij ist die Auszahlungs- oder Gewinnmatrix. Bei dem
bekannten Spiel Schere, Stein, Papier“ ist eine Strategie die Auswahl von z.B. Schere.
”
Wenn eine Strategie ai bzw. bj zufällig (mit Wahrscheinlichkeit pi bzw. qj ) ausgewählt
wird, spricht man von einer gemischten Strategie.
Spieler A wählt die Strategien (ai )1≤i≤n mit den Wahrscheinlichkeiten p = (p1 , . . . , pn )
und Spieler B davon unabhängig
die Strategien (bj )1≤j≤m mit den Wahrscheinlichkeiten
P
P
p = (q1 , . . . , qm ). Es gilt i pi = j qj = 1.
Beispiel: Bei Schere, Stein, Papier“ ist eine mögliche gemischte Strategie:
”
¡
¢
p = q = 31 , 13 , 13
D.h. jeder Spieler bestimmt vor jeder Runde durch Zufall welche Strategie er spielt. In
diesem Fall wählt er jede der Möglichkeiten mit der Wahrscheinlichkeit 13 .
Was ist der erwartete Gewinn von Spieler A?
Ep⊗q c (I, J) =
X
pi qj cij , wobei p = (p1 , . . . , pn ) und q = (q1 , . . . , qn ) .
i,j
A gewinnt in Erwartung mindestens minq Ep⊗q c (I, J) (∗)
VA := max min Ep⊗q c (I, J) ist der untere Wert des Spiels.
p
q
In Worten bedeutet dies: Spieler B bemüht sich die Auszahlung so klein wie möglich zu
halten und Spieler A versucht dies zu maximieren.
Eine Strategie p*, die (∗) maximiert, nennt man eine optimale gemischte Strategie
für Spieler A. VA ist bei Verwendung von p* eine untere Schranke für den erwarteten
Gewinn von Spieler A.
Für Spieler B sieht es ähnlich aus: maxp Ep⊗q c (I, J) (∗∗) ist die maximale Höhe der
zu leistenden Zahlung bei Verfolgen der Strategie q.
VB := min max Ep⊗q c (I, J) ist der obere Wert des Spiels.
q
p
Eine Strategie q*, die (∗∗) minimiert, ist eine optimale gemischte Strategie für B. Bei
Verwendung von q* muss Spieler B in Erwartung einen maximalen Betrag in Höhe von
VB an Spieler A bezahlen.
VA ≤ VB , denn: minq Ep⊗q ≤ Ep⊗q ⇒ maxp minq Ep⊗q ≤ maxp Ep⊗q
Bemerkung: Existieren Strategien p’ und q’, so dass
Ep⊗q0 c (I, J) ≤ Ep0 ⊗q0 c (I, J) ≤ Ep0 ⊗q c (I, J) für alle p und q
gilt, dann kann man zeigen, dass auch VB ≤ VA gilt
VB ≤ max Ep⊗q0 c (I, J) ≤ Ep0 ⊗q0 c (I, J) ≤ min Ep0 ⊗q c (I, J) ≤ VA
p
q
⇒ VA = VB
Wenn VA = VB gilt, dann ist das Spiel optimal und es hat die Lösung (p0 , q 0 ); VA bzw.
VB werden als der Wert des Spiels bezeichnet.
2.2
Beispiel
Das Spiel
 ”Schere, Stein,
 Papier“ hat die Gewinnmatrix:
0 −1 1
0 −1 Sie beschreibt den Gewinn/Verlust aus der Sicht von Spieler A.
cij =  1
−1 1
0
Die erste Zeile steht für die Strategie Schere, die zweite für Stein und die dritte für
Papier. Die Strategien von Spieler B zeigen die Spalten an.
Wie hoch ist der erwartete Gewinn? p = (p1 , p2 , p3 ), q = (q1 , q2 , q3 )
Ep⊗q c (I, J) = 0 ∗ p1 q1 − p1 q2 + p1 q3 + p2 q1 − p2 q3 − p3 q1 + p3 q2
= q1 (p2 − p3 ) + q2 (p3 − p1 ) + q3 (p1 − p2 )
µ
¶
1 1 1
= 0, falls p =
, ,
3 3 3
< 0, sonst
Ein symmetrisches Zwei-Personen-Nullsummenspiel ist optimal, wenn der Erwartungswert 0 ist.
Bei reinen Strategien können VA und VB unterschiedlich sein:
min c (i, j) = −1
für alle i
⇒ max min c (i, j) = −1 = VA
max c (i, j) = 1
für alle j
⇒ min max c (i, j) = 1 = VB
j
i
2.3
i
j
j
i
von Neumann’s Minimax-Theorem
Satz 2.1 (von Neumann’s Minimax-Theorem) Jedes durch eine endliche Matrix
(cij ) beschriebene Zwei-Personen-Nullsummen-Spiel mit gemischten Strategien besitzt
eine Lösung und hat den Wert
max min Ep⊗q c (I, J) = min max Ep⊗q c (I, J)
p
q
q
p
P P
Bei festem p ist die Funktion Ep⊗q c (I, J) =
jq
i pcij linear in q und nimmt ihr
Minimum in einem der Extremalpunkte des Simplex der Verteilung auf {1, . . . , m} an.
Also gilt: minq Ep⊗q c (I, J) = minj Ep c (I, j).
In Worten: Wenn der Spieler B die gemischte Strategie p von A kennt, kann er eine reine
Strategie spielen um seinen Verlust zu minimieren. (Entsprechendes gilt für Spieler A,
wenn er die Strategie von B kennt.)
Am Beispiel von Schere, Stein, Papier“ bedeutet dies, dass Spieler B immer Stein spielt,
”
wenn in der Strategie von Spieler A Papier die größte Wahrscheinlichkeit hat.
Eine Variante des Minimax-Theorems ist der
Satz von Loomis
max min Ep c (I, j) = min max Eq c (i, J) .
p
q
j
i
j und i sind die reinen und p und q die gemischten Strategien.
2.4
Anwendung des Minimax-Prinzip
Nun wollen wir das Minimax-Prinzip zur Analyse der Güte von Las-Vegas-Algorithmen
benutzen.
Die Kosten des Algorithmus soll die Höhe der Zahlung sein, die der Spieler, der den
Algorithmus entwirft, an den Spieler zahlen muss, der die Eingabe wählt.
Bei den folgenden Überlegungen soll die Zahl der möglichen Eingaben und die Zahl
der deterministischen Algorithmen (immer korrekt, in endlicher Zeit terminierend) zur
Lösung des Problems endlich sein.
A sei die Menge der deterministischen Algorithmen zur Lösung eines Problems und I
die Menge der möglichen Eingaben. Für a ∈ A und i ∈ I bezeichne c (i, a) die Kosten
des Algorithmus a bei Eingabe i.
Kleiner Einschub: In diesem Abschnitt ist es zweckmäßig einen randomisierten Algorithmus als eine Wahrscheinlichkeitsverteilung auf einer Menge von deterministischen
Algorithmen aufzufassen.
Salopp ausgedrückt: Bei einem randomisierten Algorithmus wird zufällig ein Weg für
”
die Auswertung bestimmt. Danach kann man sagen, dass es genau einen deterministischen Algorithmus gibt, der diesen Weg geht.“
Wie sehen VA und VB jetzt aus und was bedeuten sie?
Die Komplexität in Verteilung ist definiert als
cdist := max min Ep c (I, a) = VA
p
a
Es wird das Maximum über alle Verteilungen p auf I gebildet (also die schlimmste
”
Eingabe“), bei dem Algorithmus, der die erwarteten Kosten minimiert.
Die randomisierte Komplexität ist definiert als
crand := min max Eq c (i, A) = VB
q
i
Das ist das Minimum über alle Verteilungen q auf A, bzw. bestes Worst-case-Verhalten“
”
eines zufälligen Algorithmus.
Das Minimax-Prinzip in der Form des Satz von Loomis besagt, dass die beiden Komplexitätsbegriffe übereinstimmen. Insbesondere gilt:
Proposition 2.2 (Yao’s Minimax-Theorem) Für alle Verteilungen p auf der Menge
I der möglichen Eingaben und alle Verteilungen q auf der Menge A der deterministischen Algorithmen zur Lösung eines endlichen Problems gilt
min Ep c (I, a) ≤ max Eq c (i, A) .
a∈A
i∈I
Wir können also sagen: Die erwartete Laufzeit eines randomisierten Algorithmus bei
schlechtester Eingabe ist nach unten abgeschätzt durch die erwartete Laufzeit eines optimalen Algorithmus bei beliebiger aber fest gewählter Eingabe. Wir haben jetzt also
eine untere Schranke für die maximal erwartete Laufzeit.
3
Berechnung der unteren Schranke für den Algorithmus
von Snir
Nun schauen wir uns wieder die Spielbäume an und berechnen eine untere Schranke für
die maximal erwartete Laufzeit des Algorithmus von Snir.
Zuerst müssen einige Dinge festgelegt werden. Man kann leicht zeigen, dass die Werte
der Wurzel eines Spielbaums gleich bleiben, wenn man die AND/OR-Operationen durch
NOR-Operationen ersetzt. Diese logische Operation gibt nur dann eine 1 aus, wenn beide Eingaben 0 sind. Für Bäume der Höhe 2 ist dies leicht zu zeigen und dann erinnere
man sich daran, dass Bäume der Höhe 2 (k + 1) im Prinzip Bäume der Höhe 2 sind, an
deren 4 Blättern Bäume der Höhe 2k hängen.
Um eine untere Schranke für die maximal erwartete Anzahl der durch einen zufälligen Algorithmus inspizierten Blätter herzuleiten, brauchen wir eine bestimmte Verteilung der
Blattbelegung und wir müssen eine untere Schranke für die maximal erwartete Anzahl
der inspizierten Blätter bei einem optimalen deterministischen Algorithmus beweisen.
Die Blattbelegung: Den Blättern wird unabhängig mit Wahrscheinlichkeit p̄ der Wert
1 zugewiesen. p̄ = (1 − p̄)2 ⇒ p̄ = 0.3819. Wir wählen p̄ so, da jetzt die Wahrscheinlichkeit, dass ein innerer Knoten den Wert 1 annimmt, auch p̄ ist. Die Werte von Knoten,
die nicht in einer Vorfahr-Nachkomme-Beziehung stehen, sind unabhängig. Dies gilt insbesondere für benachbarte Knoten in einer Generation.
Wie sollte ein optimaler deterministischer Algorithmus vorgehen?
Der Algorithmus sollte immer zuerst den Nachbar eines Knoten angucken, bevor er den
Rest des Baumes anschaut. Der Baum wird also nach einer Depth-first-search“ durch”
laufen. Wenn der Wert eines Teilbaums bestimmt ist, werden die anderen Blätter nicht
mehr eingelesen.
Was ist die erwartete Laufzeit dieses Algorithmus?
Sei Zh := # Blätter, die der Algorithmus zur Bestimmung des Wertes eines Knotens in
der Generation 2k − h inspiziert. Dann gilt:
(1)
(2)
Zh = Zh−1 + Zh−1 IAh−1
(i)
und Zh−1 , i = 1, 2 unabh. Kopien von Zh−1
Die Anzahl der inspizierten Blätter in Generation 2k − h setzt sich zusammen aus der
Anzahl der inspizierten Blätter in einem Teilbaum der Generation 2k − h − 1 und, falls
dieser den Wert 0 annimmt, auch noch aus der Anzahl der inspizierten Blätter im anderen Teilbaum.
(2)
Das Ereignis Ah−1 ist unabhängig von Zh−1 . Man kann also den Erwartungswert berechnen:
EZh = EZh−1 + EZh−1 ∗ EIAh−1 = EZh−1 + (1 − p̄)EZh−1 = (2 − p̄)EZh−1
Durch Induktion kann man zeigen, dass EZ2k = (2 − p̄)2k gilt.
Aus Yao’s Minimax-Prinzip folgt nun:
Satz 3.1 Die maximale erwartete Anzahl der von einem zufälligen Algorithmus bei der
Auswertung eines binären 0-1 Spielbaums inspizierten Blätter ist mindestens nα . Dabei
ist n die Anzahl der Blätter des Baums und α = log2 (2 − p̄) = 0.6942 . . . Dabei ist n
die Anzahl.
Nun kennen wir also eine obere und eine untere Schranke für die maximal erwartete
Laufzeit von randomisierten Algorithmen.
Für den Algorithmus von Snir kann man man die Komplexität des Auswertens exakt
berechnen:
Satz 3.2 Der randomisierte Algorithmus von Snir zur Auswertung binärer 0-1 Spielbäume
ist optimal. Die Komplexität
des Auswertens eines binären Spielbaums mit n Blättern
³ √ ´
1+ 33
β
= 0.7537 . . .
ist n , wobei β = log2
4
Herunterladen