10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen...

39
26.06.22 Kapitel 2 1 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009

Transcript of 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen...

Page 1: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

11.04.23 Kapitel 2 1

Methoden des Algorithmenentwurfs

Kapitel 2.2: RandomisierteOnline Algorithmen

Christian Scheideler

SS 2009

Page 2: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Übersicht

• Notation

• Paging

• Selbstorganisierende Suchstrukturen

• Finanzielle Spiele

11.04.23 Kapitel 2 2

Page 3: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Notation

2.1 Definition: Sei ein Optimierungs-problem und A ein Online Algorithmus für . Für eine beliebige Eingabesequenz =((1),(2),…,(t)) seien E[A()] die erwarteten Kosten von A für . A heißt c-kompetitiv, wenn es einen von t unabhängigen Parameter a gibt, so dass für alle Eingabesequenzen gilt: E[A()] cOPT() + a

11.04.23 Kapitel 2 3

Page 4: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Übersicht

• Notation

• Paging

• Selbstorganisierende Suchstrukturen

• Finanzielle Spiele

11.04.23 Kapitel 2 4

Page 5: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Paging

Problem: Eine online eintreffende Folge von Seitenanfragen =(x1,…,xn) muss durch ein zweistufiges Speichersystem (Cache und Hauptspeicher) bearbeitet werden. Ist eine Seite nicht im Cache vorhanden (Cache-Miss), muss sie vom Hauptspeicher dorthin geladen werden (und verdrängt bei vollem Cache eine dort vorhandene Seite).

Ziel: minimiere die Anzahl der Cache-Misses

Algorithmus RANDOM:Entferne bei jedem Seitenfehler eine zufällig gemäß der Gleichverteilung gewählte Seite aus dem Cache.

11.04.23 Kapitel 2 5

Page 6: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Paging

2.2 Satz: RANDOM ist nicht besser als k-kompetitiv im Erwartungswert.

Beweis:• Wähle für N>>k die folgende Eingabesequenz:

=b0 a1…ak-1 (b1 a1…ak-1)N(b2 a1…ak-1) N…

• In jeder Phase Pi,i1, ist die Wkeit für das Aus-lagern der Seite bi-1 bei jedem Cache-Miss 1/k.

• Also macht RANDOM in jeder Phase im Erwar-tungswert k Fehler, bis er sich von bi-1 trennt.

11.04.23 Kapitel 2 6

P0 P1 P2

Page 7: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Paging

Algorithmus MARKING:• Die Anfragesequenz wird in Phasen bedient. Zu

Beginn einer Phase sind alle Seiten unmarkiert. • Wird eine Seite angefragt, so wird sie markiert. • Bei einem Seitenfehler wird eine zufällig gleichverteilt

ausgewählte unmarkierte Seite entfernt.• Eine Phase endet unmittelbar vor einem Seitenfehler,

wenn alle Seiten im schnellen Speicher markiert sind.

2.3 Satz: MARKING ist 2Hk-kompetitiv, wobei Hk = i=1

k 1/i die k-te harmonische Zahl ist.

Bemerkung: Es gilt ln(k+1) Hk ln(k) + 1.11.04.23 Kapitel 2 7

Page 8: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Paging

Algorithmus MARKING:

:

11.04.23 Kapitel 2 8

7

1Cache

Hauptspeicher

2 3 4 5 6

7 8

4 8 1 6 4 23

Page 9: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Paging

Algorithmus MARKING:

:

11.04.23 Kapitel 2 9

7

1Cache

Hauptspeicher

2

3

4 5 67

8

4 8 1 6 4 23

Page 10: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Paging

Algorithmus MARKING:

:

11.04.23 Kapitel 2 10

7

1Cache

Hauptspeicher

2

3

4 5 67

8

84 1 6 4 23

Page 11: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Paging

Algorithmus MARKING:

:

11.04.23 Kapitel 2 11

7

1Cache

Hauptspeicher

2

3

4 5

6

7 8

34 8 1 6 4 2

Page 12: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Paging

Algorithmus MARKING:

:

11.04.23 Kapitel 2 12

7

1Cache

Hauptspeicher 2

3 4 5

6

7 8

14 38 6 4 2

Page 13: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Paging

Algorithmus MARKING:

:

11.04.23 Kapitel 2 13

7

1Cache

Hauptspeicher 2

3 4 5

6

7 8

4 38 61 4 2

Page 14: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Paging

Algorithmus MARKING:

:

11.04.23 Kapitel 2 14

7

1Cache

Hauptspeicher 2

3 4

5

67 8

4 38 41 6 2

Page 15: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Paging

Algorithmus MARKING:

:

11.04.23 Kapitel 2 15

7

1Cache

Hauptspeicher 2

3 4

5

67 8

4 38 21 6 4

Page 16: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Paging

Algorithmus MARKING:

:

11.04.23 Kapitel 2 16

7

1Cache

Hauptspeicher 2

3 4

5

67 8

4 38 21 6 4

neue Phase

Page 17: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Paging

Beweis:• Sei eine beliebige Anfragesequenz.• MARKING zerlegt in Phasen P1,P2,…,Pm.• Jede Phase Pi enthält genau k verschiedene Seiten-

anfragen, und die erste Anfrage von Pi ist verschieden von allen Seitenanfragen in Pi-1.

• ni: Anzahl der neuen Seitenanfragen in Pi (d.h. Seiten, die nicht in Pi-1 angefragt wurden)

• Wir zeigen, dass OPT amortisierte Kosten von mindestens ni/2 in Pi erzeugt und MARKING mit erwarteten Kosten von niHk auskommt.

• Dann ergibt sich als Kompetitivitätsfaktor c niHk/(ni/2) = 2Hk

11.04.23 Kapitel 2 17

Page 18: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Paging

Beweis (Fortsetzung):• Wir zeigen zunächst, dass OPT amortisierte Kosten von

mindestens ni/2 pro Phase Pi erzeugt.• Wir betrachten zwei aufeinanderfolgende Phasen Pi und Pi+1.• Pi und Pi+1 enthalten zusammen genau k+ni paarweise

verschiedene Seiten.• OPT macht also in diesem Phasenpaar mindestens ni Fehler.• Es gilt also:

OPT n2+n4+n6+… = i gerade nisowie OPT n1+n3+n4+… = i ungerade ni

• Insgesamt erhalten wir als amortisierte Kosten 2OPT i gerade ni + i ungerade ni

OPT (1/2) i ni 11.04.23 Kapitel 2 18

Page 19: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

PagingBeweis (Fortsetzung):• MARKING erzeugt in Phase Pi genau ni Seitenfehler für die Anfragen auf

neue Seiten.• Es kann aber auch Seitenfehler für Seiten geben, die nicht neu in Pi sind!• Die Anzahl der in Pi angefragten alten Seiten sei oi. Es gilt oi+ni=k.• Wir betrachten die erste Anfrage auf die j-te alte Seite, joi.• Unmittelbar vorher enthält der Cache ni

j neue Seiten, die bisher angefragt worden sind, ni

jni.• Es gibt k-(j-1) alte Seiten, die vor der Anfrage auf die j-te alte Seite noch

nicht angefragt wurden. Von diesen alten Seiten sind nij nicht mehr im

Cache.• Die Wahrscheinlichkeit für einen Seitenfehler ist also

nij/(k-(j-1)) ni/(k-(j-1))

• Da ni1 ist, gilt oik-1 und damit 1/(k-oi+1) ½. Als erwartete Kosten für die alten Seiten ergibt sich also j=1

oi ni/(k-(j-1)) ni(1/k+…+1/2) = ni(Hk-1)• Die Gesamtkosten in Phase Pi sind also cost(Pi) ni+ni(Hk-1) = niHk.

11.04.23 Kapitel 2 19

Page 20: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Paging2.4 Satz: Sei A ein randomisierter Online-Paging-Algorithmus, der c-kompetitiv

ist. Dann ist c Hk.Beweis:• Sei A ein Online-Paging-Algorithmus.• Die Menge der angefragten Seiten sei {p1,…,pk+1}.• Der Gegner verwaltet einen Vektor von Wahrscheinlichkeitswerten Q=(q1,

…,qk+1). qi ist die Wahrscheinlichkeit, dass die Seite pi nicht im Cache von A ist.

• Es gilt i=1k+1 qi = 1. Die Einträge im Vektor Q werden vom Gegner in jedem

Schritt aktualisiert.• Wir unterteilen die Anfragesequenz in Phasen, die jeweils aus k

Subphasen bestehen. Der Gegner markiert die angefragten Seiten wie bei MARKING und unterteilt in entsprechende Phasen. Mit jeder neu markierten Seite beginnt eine neue Subphase.

• In jeder Subphase j wollen wir für A erwartete Kosten von 1/(k+1-j) erzeugen, so dass sich die Kosten pro Phase für A berechnen zu j=1

k 1/(k+1-j) = 1/k + 1/(k-1) + … + 1 = Hk

• Der Gegner soll pro Phase Kosten von 1 erzeugen. Dann folgt Satz 2.4.11.04.23 Kapitel 2 20

Page 21: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

PagingBeweis (Fortsetzung):• Zu Beginn einer Subphase j gibt es j markierte Seiten.• Sei M die Menge der markierten Seiten. Wir setzen = piM qi und

unterscheiden zwei Fälle.• Ist =0, dann gibt es k+1-j unmarkierte Seiten, von denen wir eine

unmarkierte Seite pi mit qi 1/(k+1-j) auswählen.• Diese Seite wird vom Gegner angefragt und markiert. Damit endet

Subphase j.• Ist >0, dann gibt es ein piM mit qi=>0. Der Gegner fragt pi an und

erzeugt somit bei A erwartete Kosten .• Solange die erwarteten Kosten für Subphase j kleiner als 1/(k+1-j)

sind und > ist, fragt der Gegner die markierte Seite piM mit dem größten qi an.

• Nach dem Ende dieser Schleife fragen wir die unmarkierte Seite pi mit größtem qi an und markieren sie, womit Subphase j beendet wird.

11.04.23 Kapitel 2 21

Page 22: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Paging

Beweis (Fortsetzung):• Wird die Schleife verlassen, dann sind die erwarteten

Kosten entweder mindestens 1/(k+1-j) oder es gilt • Die erwarteten Kosten am Ende der Schleife sind also

mindestens 1-piM qi 1- 1- 1 k+1-j k+1-j k+1-j k+1-j

• Am Phasenende bleibt die zuletzt markierte Seite für die neue Phase markiert.

• Am Anfang einer Phase entfernt der Gegner gerade die Seite aus dem Cache, die zu Beginn der folgenden Phase angefragt wird. So erreicht er Kosten 1 pro Phase.

11.04.23 Kapitel 2 22

Page 23: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Übersicht

• Notation

• Paging

• Selbstorganisierende Suchstrukturen

• Finanzielle Spiele

11.04.23 Kapitel 2 23

Page 24: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

11.04.23 Kapitel 2 24

Erinnerung: Suchstruktur

S: Menge von Elementen

Jedes Element e identifiziert über key(e).

Operationen:

• S.insert(e: Element): S:=S {e}

• S.delete(k: Key): S:=S\{e}, wobei e das Element ist mit key(e)=k

• S.lookup(k: Key): gibt eS aus mit key(e)=k, falls es ein solches e gibt, und sonst

Page 25: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

11.04.23 Kapitel 2 25

Erinnerung: Suchstruktur

Effektive Regel für Listen: Move-to-Front

Frage: geht es besser mit randomisierter Regel?

31

…19

Page 26: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Selbstorganisierende Liste• Sei eine beliebige lookup-Anfragefolge gegeben.• Bei einem Zugriff auf ein Listenelement entstehen Kosten, die

von der Position des Elements abhängen.

• Das angefragte Element kann nach seiner Anfrage an eine beliebige Position weiter vorne in der Liste bewegt werden (mit keinen Zusatzkosten).

• Außerdem ist es möglich, zwei benachbarte Elemente mit Kosten 1 zu vertauschen.

11.04.23 Kapitel 2 26

Kosten 7

x x

Page 27: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Selbstorganisierende Liste

Algorithmus BIT:• Halte für jedes Listenelement x ein Bit b(x).

Anfangs werden diese Bits zufällig und unabhängig voneinander mit 0 oder 1 initialisiert.

• Bei jeder Anfrage x wird b(x) komplementiert. Wechselt b(x) dabei auf 1, so wird x an den Kopf der Liste bewegt, andernfalls wird die Position von x nicht geändert.

2.5 Satz: BIT ist 1,75-kompetitiv.11.04.23 Kapitel 2 27

Page 28: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Selbstorganisierende Liste

Beweis:• Sei beliebig. Zu jedem Zeitpunkt von gilt:

b(x) = (Startwert+#(Anfragen auf x)) mod 2.• Wir führen eine amortisierte Analyse durch, wobei wir die

Anzahl der Inversionen betrachten (siehe die MTF-Analyse im vorigen Kapitel).

• Bei einer Inversion (x,y) ist x vor y in OPTs Liste, aber y vor x in BITs Liste.

• Wir unterscheiden Inversionen, bei denen b(x)=0 ist (Typ 1) und bei denen b(x)=1 ist (Typ 2).

• Als Potentialfunktion verwenden wir = #(Inversionen vom Typ 1) + 2#(Inversionen vom Typ 2)

• Wir wollen zeigen: BIT((t)) + E[(t)-(t-1)] 1,75 OPT((t))

11.04.23 Kapitel 2 28

Page 29: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Selbstorganisierende Liste

Beweis (Fortsetzung):• OPT bearbeite die Anfragen vor BIT. Wir

betrachten nun die Fälle, in denen eine Inversion aufgehoben bzw. neu erzeugt werden kann.

• Sei k die Position in OPTs Liste direkt vor dem aktuell angefragten Listenelement x und i die Position direkt vor der neuen Position von x.

• Für die Aktionen von OPT gilt OPT((t))=k+1 und

E[OPT] (k-i)((1/2)(1+2)) = 1,5(k-i)11.04.23 Kapitel 2 29

i k xOPT:

Page 30: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Selbstorganisierende Liste

Beweis (Fortsetzung):• In BITs Liste sei x an Position l+1.

• Für die Potentialänderung durch BITs Bedienen der Anfrage unterscheiden wir zwei Fälle.

11.04.23 Kapitel 2 30

i l xBIT:

b(x):10

b(x):01

Page 31: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Selbstorganisierende ListeErster Fall: li.(a) Ist b(x)=1 vor dem Zugriff, dann wechelt b(x) auf 0. Die Position von

x wird nicht verändert, es können also keine neuen Inversionen entstehen. Damit ist BITa=0.

(b) Ist b(x)=0, dann können höchstens l neue Inversionen entstehen, die jeweils entsprechend des Bitwerts des übersprungenen Listenelements bewertet werden. Damit ergibt sich E[BITb] l ((1/2)(1+2)) = 1,5 l

Da (a) und (b) mit Wkeit 0,5 auftreten, gilt:BIT((t)) + E[] = = BIT((t)) + E[OPT] + 0,5(E[BITa] + E[BITb]) l+1+1,5(k-i) + 0,50 + 0,51,5 l = l+1 + 0,75l + 1,5(k-i) = 1,75l + 1,5(k-i) + 1 1,75i + 1,5(k-i) + 1 1,75(k+1) = 1,75 OPT((t))

11.04.23 Kapitel 2 31

Page 32: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Selbstorganisierende ListeZweiter Fall: i<l.(a) Ist b(x)=1, dann ändert sich die Position von x nicht. Da x in OPT

jetzt an Position i+1 ist, gibt es l-i Inversionen, deren Typ von 2 auf 1 wechselt. Damit ergibt sich BITa –(l-i).

(b) Ist b(x)=0, dann kommt x an den Kopf der Liste, womit l-i Inversionen aufgehoben werden. Hier sinkt mindestens um l-i. Außerdem werden höchstens i neue Inversionen (y,x) erzeugt, die im Erwartungswert mit 1,5 zu beitragen. Also ist E[BITb] 1,5i - (l-i).

Da (a) und (b) mit gleicher Wkeit auftreten, gilt BIT((t)) + E[] = = BIT((t)) + E[OPT] + 0,5(E[BITa] + E[BITb]) l+1+1,5(k-i) + 0,5(l-i) + 0,5(1,5i – l + i) = l+1 + 1,5k – 1,5i – 0,5l + 0,5i + 0,75i – 0,5l + 0,5i = 1 + 1,5k + 0,25i 1 + 1,75k 1,75(k+1) = 1,75 OPT((t))

11.04.23 Kapitel 2 32

Page 33: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Übersicht

• Notation

• Paging

• Selbstorganisierende Suchstrukturen

• Finanzielle Spiele

11.04.23 Kapitel 2 33

Page 34: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Finanzielle Spiele

Sei = p1, p2, p3,… eine Sequenz von Preisen für ein Gut.

Problem: wähle das Maximum (Minimum) in . Akzeptieren wir den i-ten Preis, dann ist unser Ertrag pi. Andernfalls spielen wir weiter und das Angebot pi ist verfallen.

Beispiele: Hausverkauf, Gehaltsverhandlung, Aktienkauf

Einschränkung: Wir beschränken uns auf Suchprobleme mit einer beschränkten Preisspanne [m,M] mit 0<mM, die dem Online-Spieler bekannt ist.

11.04.23 Kapitel 2 34

Page 35: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Finanzielle Spiele

Algorithmus RPP (Reservation-Price-Policy):Wir setzen einen Reservation Price p*= mM und akzeptieren den ersten Preis p mit pp*. Falls wir am Ende noch kein Angebot angenommen haben, geben wir uns mit dem letzten Angebot zufrieden.

2.6 Satz: RPP ist -kompetitiv, wobei =M/m ist.Beweis:• Sei beliebig und pmax der maximale Preis der Sequenz.• Ist p*pmax, dann ist

OPT()/RPP() pmax/m p*/m = Mm/m = • Ist p*<pmax, dann ist

OPT()/RPP() pmax/p* M/ Mm = In beiden Fällen ist also RPP –kompetitiv.

11.04.23 Kapitel 2 35

Page 36: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Finanzielle Spiele

2.7 Satz: Kein deterministischer Online-Algorithmus A ist besser als -kompetitiv.

Beweis:• Der Gegner bietet als ersten Preis mM .• Akzeptiert A das Angebot, dann bieten wir als

nächstes M und erhalten als Verhältnis . • Akzeptiert A das Angebot nicht, dann bieten

wir als nächstes m und erhalten ebenfalls als Verhältnis .

11.04.23 Kapitel 2 36

Page 37: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Finanzielle Spiele

Wie wir sehen werden, können randomisierte online Algorithmen deutlich besser sein.

Algorithmus EXPO:Sei M=m2k mit kIN, also =2k. Sei RPPi der RPP Algorithmus mit p*=m2i. Wähle mit Wahrscheinlichkeit 1/k die Strategie RPPi für i{1,…,k}.

2.8 Satz: EXPO ist c()log –kompetitiv mit c()1 für .

11.04.23 Kapitel 2 37

Page 38: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

Finanzielle Spiele

Beweis:• Sei eine beliebige Preisfolge gegeben und jIN so, dass

m2j pmax < m2j+1.• Hat EXPO die Strategie RPPi gewählt, dann ist für ij der

Ertrag mindestens m2i. Für i>j und damit p*>pmax ist der Ertrag von EXPO mindestens m. Als erwarteter Ertrag von EXPO ergibt sich darausE[EXPO()] = (1/k)(i=1

j m2i + (k-j)m) = (m/k)(2j+1-2+k-j)

• Also ist OPT()/E[EXPO()] m2j+1/[(m/k)(2j+1-2+k-j)] k/(1+(k-j-2)/2j+1) = log /(1+(k-j-2)/2j+1)

• Der Term 1/(1+(k-j-2)/2j+1) wird maximiert für j*=k-2+1/log 2, wodurch dieser für k gegen 1 konvergiert.

11.04.23 Kapitel 2 38

Page 39: 10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009.

11.04.23 Kapitel 2 39

Fragen?