Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für...

34

Transcript of Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für...

Page 1: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

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

Page 2: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

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 mitMIN (bzw. MAX) markiert.

Beispiel:MIN

MAX

2 5

MAX

MIN

1 2

MIN

8 3 MAX

4 7

4 Auswertungdes obigenSpielbaums

3

5

2 5

3

1

1 2

3

8 3 7

4 7

4

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 2 / 34

Page 3: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

Spieltheoretische Methoden

Hier: 2 Einschränkungen

Blätter sind mit 0 oder 1 beschriftet, d.h. MIN=̂AND und MAX=̂OR.=⇒ AND-OR-BäumeSei Td ,k der Baum mit:

Jedes Nicht-Blatt hat genau d Kinder.Jedes Blatt hat Distanz 2k zur Wurzel.

Zum Beispiel: T3,1 = , =⇒ Td ,k hat d2k Blätter

INPUT: Baum Td ,k und d2k 0/1-Werte für die Blätter ( =⇒ eindeutigerAND-OR-Baum)

Ziel: Werte Wurzel von Td ,k aus. Wir wollen dabei möglichst wenige der0/1-Werte an den Blättern lesen.

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 3 / 34

Page 4: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

Spieltheoretische Methoden

Beispiel:AND

OR

0 0

OR

1 1

Nach Lesen dieser beiden Blätter müssen

diese nicht mehr gelesen werden.

Man kann folgendes zeigen: Sei A ein beliebiger deterministischerAuswertungsalgorithmus. Dann gibt es eine 0/1-Beschriftung der Blättervon Td ,k , bei der A alle d2k Blätter lesen muss.

Im Folgenden: d = 2 =⇒ T2,k hat 4k Blätter

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 4 / 34

Page 5: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

Spieltheoretische Methoden

Algorithmus randEval

eval(v) % v ist ein Knoten von T2,k

if �v ist ein Blatt� then

return Wert von v

else

Seien v0 und v1 die Kinder von v .Wähle zufällig ein i ∈ {0, 1}.b := eval(vi )if �v ist ein AND-Knoten� then

if b = 0 then return (0)else return eval(v1−i )endif

elseif % v ist also ein OR-Knotenif b = 1 then return (1)else return eval(v1−i )endif

endif

endif

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 5 / 34

Page 6: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

Spieltheoretische Methoden

Satz

Für jede 0/1-Beschriftung der Blätter von Td ,k ist der Erwartungswert fürdie Anzahl der gelesenen Blätter in einem Ablauf von randEval höchstens3k .

k = 0 T2,0 = v (ein Blatt)=⇒ Anzahl der auszuwertenden Blätter bei Aufruf eval(v) = 1 = 30

k > 0

AND

OR

T2,k−1 T2,k−1

OR

T2,k−1 T2,k−1

T2,k :

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 6 / 34

Page 7: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

Spieltheoretische Methoden

Betrachte zuerst den folgenden Baum:

OR

T2,k−1 T2,k−1

x

y z

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 7 / 34

Page 8: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

Spieltheoretische Methoden

1. Fall: eval(x) = 1=⇒ eval(y) = 1 oder eval(z) = 1. Sei z.B. eval(y) = 1. Bei Aufrufeval(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)] ≤ 3k−1

=⇒ E [Anzahl der ausgewerteten Blätter bei Aufruf eval(x)]

≤ 1/2 · 3k−1 + 1/2 · 2 · 3k−1︸ ︷︷ ︸Kosten für den Fall eval(y) = 1,eval(z) = 0 und eval(z) wird als ers-tes aufgerufen.

= 3/2 · 3k−1 (1)

Bemerkung: Wir gehen hier von einem �Worst-Case-Input� aus: eval(y) = 1und eval(z) = 0. Der Fall eval(y) = eval(z) = 1 würde einenErwartungswert für die Anzahl der ausgewerteten Blätter bei Aufruf eval(x)von 3k−1 < 3/2 · 3k−1 liefern.

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 8 / 34

Page 9: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

Spieltheoretische Methoden

2. Fall: eval(x) = 0 =⇒ eval(y) = eval(z) = 0 =⇒

E [Anzahl der ausgewerteten Blätter bei Aufruf eval(x)] ≤ 2 · 3k−1 (2)

Nun betrachten wir T2,k :

AND

OR OR

u

v w

1. Fall: eval(u) = 1 =⇒ eval(v) = eval(w) = 1 =⇒

E [Anzahl der ausgewerteten Blätter bei Aufruf eval(u)]

≤ 3/2 · 3k−1︸ ︷︷ ︸Kosten für Auswertung von vund w nach (1)

+ 3/2 · 3k−1︸ ︷︷ ︸ = 3k−1

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 9 / 34

Page 10: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

Spieltheoretische Methoden

2. Fall: eval(u) = 0 =⇒ eval(v) oder eval(w) = 0Sei z.B. eval(v) = 0. Mit Wahrscheinlichkeit 1/2 wird eval(v) als erstesaufgerufen.

E [Anzahl der ausgewerteten Blätter bei Aufruf eval(u)]

≤ 1/2 · 2 · 3k−1︸ ︷︷ ︸Kosten fürAuswertungvon v nach

(2)

+1/2(2 · 3k−1︸ ︷︷ ︸Kosten fürAuswertungvon v nach

(2)

+ 3/2 · 3k−1︸ ︷︷ ︸Kosten fürAuswertungvon w , fallseval(w) = 1,nach (1)

)

= 3k−1 + 3k−1 + 3/4 · 3k−1 < 3k

randEval ist ein Las Vegas AlgorithmusIm Folgenden wollen wir eine untere Schranke für den Erwartungswertder Laufzeit eines beliebigen Las Vegas Algorithmus für ein Problemableiten.

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 10 / 34

Page 11: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

MinMax-Prinzip, Spieltheorie

Beispiel: Stein-Schere-Papier mit 2 Spielern: Roberta, CharlesDarstellung als Gewinn-Matrix:

Strategien von CharlesSchere Papier Stein

Strategien Schere 0 1 -1von 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

Page 12: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

MinMax-Prinzip, Spieltheorie

Jedes Null-Summen Spiel kann durch eine (n ×m) Gewinn-Matrix Mdargestellt 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

Mij = Gewinn für Roberta, falls sie Strategie i und Charles Strategie j wählt

Angenommen Roberta wählt Strategie i . =⇒ Sie wird mindestens Gewinnminj Mij machen. =⇒ i ist optimale Strategie für Roberta, falls minj Mij

maximal. Sei VR = maxi minj Mij = Mindestgewinn für Roberta, falls sieoptimal spielt.

j ist optimale Strategie für Charles, falls maxi Mij minimal. SeiVC = minj maxi Mij = Maximalbetrag den Charles zahlen muss, falls eroptimal spielt.

Übung: maxi minj Mij ≤ minj maxi Mij

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 12 / 34

Page 13: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

MinMax-Prinzip, Spieltheorie

Bemerkung: Es kann maxi minj Mij < minj maxi Mij gelten. FürStein-Schere-Papier gilt z.B. VR = maxi minj Mij = −1 undVC = minj maxi Mij = 1.

Falls VR = VC , dann existiert ein Paar (ρ, γ) mitminj Mρ,j = VR = VC = maxi Mi ,γ = Mρ,γ . (ρ, γ) ist eine reine Lösung desSpiels oder ein Sattelpunkt.

Beispiel:

1 2 3

1 0 1 22 −1 0 13 −2 −1 0

VR = 0, VC = 0

(1, 1) ist ein Sattelpunkt für dieses Spiel.

Vorsicht: M1,1 = M2,2 = M3,3, aber (2, 2)oder (3, 3) sind keine Sattelpunkte.

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 13 / 34

Page 14: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

MinMax-Prinzip, Spieltheorie

Eine randomisierte Strategie für Spieler A ∈ {Roberta,Charles} ist eineWahrscheinlichkeitsverteilung auf den möglichen Strategien von A.

randomisierte Strategie für Roberta: p = (p1, . . . , pn) ∈ [0, 1]n mit∑ni=1 pi = 1

pi = Prob[Roberta wählt Strategie i aus]

randomisierte Strategie für Charles: q = (q1, . . . , qm) ∈ [0, 1]m mit∑mj=1 qj = 1

qj = Prob[Charles wählt Strategie j aus]

Gewinn für Roberta (= Verlust für Charles) ist nun eine Zufallsvariable G

E [G ] =n∑

i=1

m∑j=1

pi ·Mij · qj = p ·M · qT

Wieder seien VR = maxp minq p ·M · qT und VC = minq maxp p ·M · qT .

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 14 / 34

Page 15: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

MinMax-Prinzip, Spieltheorie

Satz (von Neumann's MinMax Theorem)

Für jedes 2-Spieler Null-Summen Spiel mit Gewinnmatrix M gilt:

maxp

minq

p ·M · qT = minq

maxp

p ·M · qT

Ein Paar von randomisierten Strategien (p̂, q̂) mitminq p̂ ·M · qT = VR = VC = maxp p ·M · q̂T heiÿt ein Sattelpunkt. p̂ undq̂ sind optimale gemischte Strategien (sind nicht unbedingt eindeutig).

Beobachtung: Für eine feste Verteilung p (etwa p̂) ist p ·M · qT einelineare Funktion α1 · q1 + α2 · q2 + . . .+ αm · qm mit αi ∈ R, qi ∈ [0, 1],q1 + q2 + . . .+ qm = 1. Diese wird minimiert durch die Verteilungq = (q1, . . . , qm) mit

qi =

{1 falls αi = min{α1, . . . , αm}0 sonst

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 15 / 34

Page 16: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

MinMax-Prinzip, Spieltheorie

Sei ek = (0, . . . , 0, 1 , 0, . . . , 0). k-te Komponente

Also: maxp minq p ·M · qT = maxp minj p ·M · eTj .Analog: minq maxp p ·M · qT = minq maxi ei ·M · qT .

Konsequenz:

Satz (Loomis Theorem)

Für jedes 2-Spieler Null-Summen Spiel mit Gewinnmatrix M gilt:

maxp

minj

p ·M · eTj = minq

maxi

ei ·M · qT

Yaos PrinzipSei P ein Berechnungsproblem (z.B. Auswerten von AND-OR-Bäumen).Fixiere eine endliche Menge A von deterministischen Algorithmen zurLö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

Page 17: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

MinMax-Prinzip, Spieltheorie

Charles = Algorithmendesigner

Eine (reine) Strategie für Charles ist ein deterministischer AlgorithmusA ∈ A.Eine randomisierte Strategie für Charles ist eineWahrscheinlichkeitsverteilung q über der Menge A vondeterministischen Algorithmen. Diese kann als ein Las VegasAlgorithmus Aq betrachtet werden.

Roberta = Gegner (Adversary)

Eine (reine) Strategie für Roberta ist ein Input I ∈ I.Eine randomisierte Strategie für Roberta ist eineWahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei Ip einZufallsinput, der gemäÿ der Verteilung p aus I ausgewählt wird.

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 17 / 34

Page 18: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

MinMax-Prinzip, Spieltheorie

E [C (Ip,Aq)] = Erwartungswert für die Laufzeit des Las Vegas

Algorithmus Aq für einen Zufallsinput Ip

=∑I∈I

∑A∈A

pI · C (I ,A) · qA

pi = Prob[Roberta wählt Input I ], C (I ,A) = Laufzeit des determinisitschenAlgorithmus A bei Input I , qA = Prob[Charles wählt Algorithmus A]

=⇒ maxp

minq

E [C [Ip,Aq)] = minq

maxp

E [C (Ip,Aq)] (von Neumann)

maxp

minA∈A

E [C (Ip,A)] = minq

maxI∈I

E [C (I ,Aq)] (Loomi)

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 18 / 34

Page 19: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

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:

minA∈A

E [C (Ip,A)]︸ ︷︷ ︸erwartete laufzeit ei-

nes optimalen det. Al-

gorithmus für Input-

verteilung p

≤ maxI∈I

E [C (I ,Aq)]︸ ︷︷ ︸worst case Laufzeit

des Las Vegas Algo-

rithmus Aq

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 19 / 34

Page 20: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

MinMax-Prinzip, Spieltheorie

Allgemeines Vorgehen

Sei P ein Berechnungsproblem. Sei R ein beliebiger Las Vegas Algorithmuszur Lösung von P . R kann als eine Wahrscheinlichkeitsverteilung q übereiner endlichen Menge A von deterministischen Algorithmen angesehenwerden (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 ] ≥ minA∈A

E [C (Ip,A)] ≥ minA∈B

E [C (Ip,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

Page 21: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

MinMax-Prinzip, Spieltheorie

Anwendung von Yaos MinMax Prinzip auf das Auswerten vonAND-OR-Bäumen

Beobachtung: Folgende 2 Bäume werten sich zum gleichen Wert an derWurzel aus:

T2,k , wobei Knoten mit gerader (ungerader) Distanz zur Wurzel mitAND (OR) beschriftet sind.

T2,k , wobei alle Knoten mit NOR (NOT-OR) beschriftet sind.

NOR

NOR

u v

NOR

w x

=

NOR

NOT

OR

u v

NOT

OR

w x

=

AND

OR

u v

OR

w x

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 21 / 34

Page 22: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

MinMax-Prinzip, Spieltheorie

Im Folgenden betrachten wir T2,k wobei alle internen Knoten mit NOR

beschriftet sind. Sei p = 3−√5

2∈ [0, 1].

Markiere jedes Blatt von T2,k unabhängig mit Wahr-scheinlichkeit p mit 1 (und mit Wahrscheinlichkeit1− p mit 0).

(∗)

Beobachtung: Betrachte folgenden Baum:

z

x y

NOR

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 T2,k wertet sich mit Wahrscheinlichkeit p zu 1 aus.Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 22 / 34

Page 23: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

MinMax-Prinzip, Spieltheorie

Sei nun A ein beliebiger deterministischer Algorithmus zum Auswerten vonNOR-Bäumen. Wir �beweisen� eine untere Schranke fürE [Laufzeit von A, falls Input zufällig nach Methode (∗) gewählt wird].

Ein deterministischer Algorithmus A zum Auswerten von NOR-Bäumen istein depth-�rst pruning Algorithmus, falls für jeden Knoten v mit Kindernv0, v1 gilt: Es gibt ein i ∈ {0, 1}, so dass A erst nur Blätter unterhalb vonvi und danach nur Blätter unterhalb von v1−i besucht.

Satz (ohne Beweis)

Für jeden deterministischen Algorithmus A zum Auswerten vonNOR-Bäumen gibt es einen depth-�rst pruning Algorithmus B mit:

E

[Laufzeit von A, falls Input zu-fällig nach (∗) gewählt wird

]≥ E

[Laufzeit von B, falls Input zu-fällig nach (∗) gewählt 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

Page 24: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

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 Aus-

werten des �ersten�

Kinds der Wurzel

Wahrscheinlichkeit,

dass sich �erstes�

Kind der Wurzel zu 0

auswertet

Aufwand zum Aus-

werten des �zweiten�

Kinds der Wurzel

=⇒ w(h) = (2− p) · w(h − 1)

Da w(0) = 1, folgt w(h) = (2− p)h.

h = log2(n), wobei n = Anzahl der Blätter.

=⇒ w(h) = (2− p)log2(n) = nlog2(2−p) ≥ n0,694

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 24 / 34

Page 25: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

MinMax-Prinzip, Spieltheorie

Satz

Für jeden randomisierten Las Vegas Algorithmus R zum Auswerten vonAND-OR-Bäumen gibt es eine Belegung I der Blätter von T2,k mit0/1-Werten, so dass:

E

[Anzahl der Blätter von T2,k die R bei Bele-gung der Blätter gemäÿ I auswertet

]≥ n0,694

wobei n = 4k .

Erinnerung: Für randEval war der Erwartungswert für die Anzahl derausgewerteten Blätter von T2,k bei jeder Belegung der Blätter mit0/1-Werten ≤ 3k .

n = 4k =⇒ 3k ≤ n0,793

Kann Yaos Methode so angewendet werden, dass wir eine untere Schrankevon 3k erhalten? Ja: Wahrscheinlichkeitsverteilung auf Inputmenge muss�cleverer� gewählt werden.

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 25 / 34

Page 26: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

Derandomisierung und Nicht-Uniformität

Derandomisierung und Nicht-Uniformität

Ein Boolescher Schaltkreis mit n Inputs ist ein gerichteter azyklischerGraph mit den folgenden Eigenschaften:

1 Es gibt genau n Knoten mit Eingangsgrad 0 (Inputgatter), diese sindmit x1, . . . , xn 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 einen-stellige Boolesche Funktion f : {0, 1}n → {0, 1}.

Ein randomisierter Boolescher Schaltkreis mit n Inputs hat zusätzlich zuden n Inputgattern noch m weitere Zufallsgatter r1, . . . , rm (m ist hierbeliebig) mit Eingangsgrad 0.

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 26 / 34

Page 27: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

Derandomisierung und Nicht-Uniformität

Ein randomisierter Boolescher Schaltkreis B mit n Inputs berechnet eineFunktion f : {0, 1}n → {0, 1}, falls für jede Belegung von x1, . . . , xn mit0/1-Werten gilt:

f (x1, . . . , xn) = 0 =⇒ B wertet sich zu 0 aus für jede Belegung derZufallsgatter.

f (x1, . . . , xn) = 1 =⇒ B wertet sich zu 1 aus für mindestens dieHälfte aller Belegungen der Zufallsgatter, d.h.

Prob

[B wertet sich bei zufälliger Belegungder Zufallsgatter zu 1 aus

]≥ 1

2

Sei nun f : {0, 1}∗ → {0, 1}. Für n ≥ 0 sei fn die Einschränkung von f auf{0, 1}n, d.h. fn : {0, 1}n → {0, 1} und für alle x ∈ {0, 1}n : fn(x) = f (x).

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 27 / 34

Page 28: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

Derandomisierung und Nicht-Uniformität

Sei (Bn)n≥0 eine Folge von (randomisierten) Booleschen Schaltkreisen,wobei Bn n Inputgatter hat.

(Bn)n≥0 berechnet f : {0, 1}∗ → {0, 1}, falls für alle n ≥ 0 gilt: Bn

berechnet fn.

Die Folge (Bn)n≥0 ist polynomiell, falls ein Polynom p(n) existiert mit:Anzahl der Gatter von Bn ≤ p(n).

Satz (Adlemans Theorem)

Sei f : {0, 1}∗ → {0, 1} eine Funktion, die von einer polynomiellen Folgevon randomisierten Booleschen Schaltkreisen berechnet wird. Dann wird fvon einer polynomiellen Folge von Booleschen Schaltkreisen berechnet.

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 28 / 34

Page 29: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

Derandomisierung und Nicht-Uniformität

Beweis: Sei (Bn)n≥0 eine polynomielle Folge von randomisierten BooleschenSchaltkreisen, die f : {0, 1}∗ → {0, 1} berechnet.Betrachte Bn: n Inputgatter x1, . . . , xn, m Zufallsgatter r1, . . . , rm.

Eine 0/1-Belegung der Inputgatter x1, . . . , xn (bzw. Zufallsgatterr1, . . . , rm) wird mit einer Zahl x ∈ {0, . . . , 2n − 1} (bzw.r ∈ {0, . . . , 2m − 1}) identi�ziert. Wir schreiben Bn(x , r) = 1, falls sich derSchaltkreis Bn unter diesen Belegungen zu 1 auswertet.

De�niere Boolesche Matrix M wie folgt:

M = Mx ,r

r

x2n Zeilen

0, . . . , 2n − 1

2m Spalten 0, . . . , 2m − 1

Mx ,r =

{1 falls Bn(x , r) = 1

0 sonst

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 29 / 34

Page 30: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

Derandomisierung und Nicht-Uniformität

Lösche in M jede Zeile x mit f (x) = 0. =⇒ Danach sind in M in jederZeile mindestens die Hälfte aller Einträge 1. =⇒ Es existiert Spalter(1) ∈ {0, . . . , 2m − 1} in der mindestens die Hälfte aller Einträge 1 ist.

Sei Bn(1) der Schaltkreis, der aus Bn entsteht, indem die Zufallsgatterr1, . . . , rm entsprechend der Belegung r(1) ∈ {0, . . . , 2m − 1} gesetztwerden. Lösche nun in M

Spalte r(1)

jede Zeile x ∈ {0, . . . , 2n − 1} mit Mx ,r(1) = 1 (d.h. Bn(x , r(1)) = 1)

Danach ist immer noch die Hälfte aller Einträge in jeder Zeile x von Mgleich 1: Ist x eine Zeile, die nicht gelöscht wurde, so war Mx ,r(1) = 0, abervor dem Löschen war Mx ,r für mindestens die Hälfte aller r gleich 1.

Iteriere obigen Vorgang =⇒ Belegungen r(1), . . . , r(k) ∈ {0, . . . , 2m − 1}

(unrandomisierte) Schaltkreise Bn(1),Bn(2), . . . ,Bn(k): Bn(i) entsteht ausBn, indem Zufallsgatter r1, . . . , rm entsprechend der Belegung r(i) gesetztwerden.

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 30 / 34

Page 31: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

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 Bn(i) (polynomiell groÿer Schaltkreis). (B ′n)n≥0 ist einepolynomielle Folge von (unrandomisierten) Schaltkreisen, die f berechnet.

Bemerkung: Der Beweis von Adlemans Theorem ist ein Beispiel fürDerandomisierung: Wandle einen randomisierten Algorithmus in einendeterministischen Algorithmus um, wobei eine polynomielle Zeitschrankebeibehalten wird.

Ist Derandomisierung immer möglich?Antwort: Wahrscheinlich nicht.

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 31 / 34

Page 32: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

Derandomisierung und Nicht-Uniformität

Sei C eine Komplexitätsklasse (z.B. P, RP, NP). De�niere dienicht-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 ⇐⇒Es existiert eine polynomielle Folge von BooleschenSchaltkreisen, welche χl (charakteristische Funktionvon L) berechnet.

L ∈ RP/poly ⇐⇒Es existiert eine polynomielle Folge von randomisier-ten Booleschen Schaltkreisen, welche χl (charakteris-tische Funktion von L) berechnet.

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 32 / 34

Page 33: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

Derandomisierung und Nicht-Uniformität

Beweisidee:1 Sei (Bn)n≥0 eine polynomielle Folge von Booleschen Schaltkreisen,

welche χL berechnet. De�niere Advice-String α(n) wie folgt:α(n) = binäre Kodierung des Schaltkreises Bn

=⇒ {(x , α(|x |)) | x ∈ L} ∈ P =⇒ L ∈ P/poly

2 Sei L ∈ P/poly. =⇒ {(x , α(|x |)) | x ∈ L} ∈ P wobei α(n) ≤ p(n) fürein Polynom p(n). Für jedes n ≥ 0 kann ein polynomiell groÿerSchaltkreis B ′n mit n + p(n) Inputgattern konstruiert werden, der alleEingaben der Form x α(n) mit |x | = n, x ∈ L akzeptiert (und sonstnichts akzeptiert).Idee: Berechnungen von Turing-Maschinen können durch BoolescheSchaltkreise beschrieben werden (siehe Beweis für �SAT istNP-vollständig�). Belege nun die letzten α(n) vielen Inputgatter vonB ′n mit dem Advice-String α(n). =⇒ Schaltkreis Bn

(Bn)n≥0 ist eine polynomielle Folge von Booleschen Schaltkreisen,welche χL berechnet.

Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006 33 / 34

Page 34: Randomisierte Algorithmen - Kapitel 2lohrey/RAND/Kapitel2.pdf · Eine randomisierte Strategie für Roberta ist eine Wahrscheinlichkeitsverteilung p auf der Inputmenge I. Sei I p ein

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