Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "10.11.2013Kapitel 21 Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009."—  Präsentation transkript:

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

2 Übersicht Notation Paging Selbstorganisierende Suchstrukturen Finanzielle Spiele Kapitel 22

3 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( )] c OPT( ) + a Kapitel 23

4 Übersicht Notation Paging Selbstorganisierende Suchstrukturen Finanzielle Spiele Kapitel 24

5 Paging Problem: Eine online eintreffende Folge von Seitenanfragen =(x 1,…,x n ) 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 Kapitel 25

6 Paging 2.2 Satz: RANDOM ist nicht besser als k-kompetitiv im Erwartungswert. Beweis: Wähle für N>>k die folgende Eingabesequenz: =b 0 a 1 …a k-1 (b 1 a 1 …a k-1 ) N (b 2 a 1 …a k-1 ) N … In jeder Phase P i,i 1, ist die Wkeit für das Aus- lagern der Seite b i-1 bei jedem Cache-Miss 1/k. Also macht RANDOM in jeder Phase im Erwar- tungswert k Fehler, bis er sich von b i-1 trennt Kapitel 26 P0P0 P1P1 P2P2

7 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 2H k -kompetitiv, wobei H k = i=1 k 1/i die k-te harmonische Zahl ist. Bemerkung: Es gilt ln(k+1) H k ln(k) Kapitel 27

8 Paging Algorithmus MARKING: : Kapitel Cache Hauptspeicher

9 Paging Algorithmus MARKING: : Kapitel Cache Hauptspeicher

10 Paging Algorithmus MARKING: : Kapitel Cache Hauptspeicher

11 Paging Algorithmus MARKING: : Kapitel Cache Hauptspeicher

12 Paging Algorithmus MARKING: : Kapitel Cache Hauptspeicher

13 Paging Algorithmus MARKING: : Kapitel Cache Hauptspeicher

14 Paging Algorithmus MARKING: : Kapitel Cache Hauptspeicher

15 Paging Algorithmus MARKING: : Kapitel Cache Hauptspeicher

16 Paging Algorithmus MARKING: : Kapitel Cache Hauptspeicher neue Phase

17 Paging Beweis: Sei eine beliebige Anfragesequenz. MARKING zerlegt in Phasen P 1,P 2,…,P m. Jede Phase P i enthält genau k verschiedene Seiten- anfragen, und die erste Anfrage von P i ist verschieden von allen Seitenanfragen in P i-1. n i : Anzahl der neuen Seitenanfragen in P i (d.h. Seiten, die nicht in P i-1 angefragt wurden) Wir zeigen, dass OPT amortisierte Kosten von mindestens n i /2 in P i erzeugt und MARKING mit erwarteten Kosten von n i H k auskommt. Dann ergibt sich als Kompetitivitätsfaktor c n i H k /(n i /2) = 2H k Kapitel 217

18 Paging Beweis (Fortsetzung): Wir zeigen zunächst, dass OPT amortisierte Kosten von mindestens n i /2 pro Phase P i erzeugt. Wir betrachten zwei aufeinanderfolgende Phasen P i und P i+1. P i und P i+1 enthalten zusammen genau k+n i paarweise verschiedene Seiten. OPT macht also in diesem Phasenpaar mindestens n i Fehler. Es gilt also: OPT n 2 +n 4 +n 6 +… = i gerade n i sowie OPT n 1 +n 3 +n 4 +… = i ungerade n i Insgesamt erhalten wir als amortisierte Kosten 2OPT i gerade n i + i ungerade n i OPT (1/2) i n i Kapitel 218

19 Paging Beweis (Fortsetzung): MARKING erzeugt in Phase P i genau n i 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 P i angefragten alten Seiten sei o i. Es gilt o i +n i =k. Wir betrachten die erste Anfrage auf die j-te alte Seite, j o i. Unmittelbar vorher enthält der Cache n i j neue Seiten, die bisher angefragt worden sind, n i j n i. 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 n i j nicht mehr im Cache. Die Wahrscheinlichkeit für einen Seitenfehler ist also n i j /(k-(j-1)) n i /(k-(j-1)) Da n i 1 ist, gilt o i k-1 und damit 1/(k-o i +1) ½. Als erwartete Kosten für die alten Seiten ergibt sich also j=1 o i n i /(k-(j-1)) n i (1/k+…+1/2) = n i (H k -1) Die Gesamtkosten in Phase P i sind also cost(P i ) n i +n i (H k -1) = n i H k Kapitel 219

20 Paging 2.4 Satz: Sei A ein randomisierter Online-Paging-Algorithmus, der c-kompetitiv ist. Dann ist c H k. Beweis: Sei A ein Online-Paging-Algorithmus. Die Menge der angefragten Seiten sei {p 1,…,p k+1 }. Der Gegner verwaltet einen Vektor von Wahrscheinlichkeitswerten Q=(q 1,…,q k+1 ). q i ist die Wahrscheinlichkeit, dass die Seite p i nicht im Cache von A ist. Es gilt i=1 k+1 q i = 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 = H k Der Gegner soll pro Phase Kosten von 1 erzeugen. Dann folgt Satz Kapitel 220

21 Paging Beweis (Fortsetzung): Zu Beginn einer Subphase j gibt es j markierte Seiten. Sei M die Menge der markierten Seiten. Wir setzen = p i M q i und unterscheiden zwei Fälle. Ist =0, dann gibt es k+1-j unmarkierte Seiten, von denen wir eine unmarkierte Seite p i mit q i 1/(k+1-j) auswählen. Diese Seite wird vom Gegner angefragt und markiert. Damit endet Subphase j. Ist >0, dann gibt es ein p i M mit q i = >0. Der Gegner fragt p i 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 p i M mit dem größten q i an. Nach dem Ende dieser Schleife fragen wir die unmarkierte Seite p i mit größtem q i an und markieren sie, womit Subphase j beendet wird Kapitel 221

22 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- p i M q i 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 Kapitel 222

23 Übersicht Notation Paging Selbstorganisierende Suchstrukturen Finanzielle Spiele Kapitel 223

24 Kapitel 224 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 e S aus mit key(e)=k, falls es ein solches e gibt, und sonst

25 Kapitel 225 Erinnerung: Suchstruktur Effektive Regel für Listen: Move-to-Front Frage: geht es besser mit randomisierter Regel? 3 1 … 19

26 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 Kapitel 226 Kosten 7 xx

27 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 Kapitel 227

28 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)) Kapitel 228

29 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) Kapitel 229 ikx OPT:

30 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 Kapitel 230 ilx BIT: b(x):1 0 b(x):0 1

31 Selbstorganisierende Liste Erster Fall: l i. (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, ,5 1,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)) Kapitel 231

32 Selbstorganisierende Liste Zweiter Fall: i

33 Übersicht Notation Paging Selbstorganisierende Suchstrukturen Finanzielle Spiele Kapitel 233

34 Finanzielle Spiele Sei = p 1, p 2, p 3,… 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 p i. Andernfalls spielen wir weiter und das Angebot p i ist verfallen. Beispiele: Hausverkauf, Gehaltsverhandlung, Aktienkauf Einschränkung: Wir beschränken uns auf Suchprobleme mit einer beschränkten Preisspanne [m,M] mit 0

35 Finanzielle Spiele Algorithmus RPP (Reservation-Price-Policy): Wir setzen einen Reservation Price p*= m M und akzeptieren den ersten Preis p mit p p*. 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 p max der maximale Preis der Sequenz. Ist p* p max, dann ist OPT( )/RPP( ) p max /m p*/m = Mm/m = Ist p*


36 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 Kapitel 236

37 Finanzielle Spiele Wie wir sehen werden, können randomisierte online Algorithmen deutlich besser sein. Algorithmus EXPO: Sei M=m 2 k mit k IN, also =2 k. Sei RPP i der RPP Algorithmus mit p*=m 2 i. Wähle mit Wahrscheinlichkeit 1/k die Strategie RPP i für i {1,…,k}. 2.8 Satz: EXPO ist c( )log –kompetitiv mit c( ) 1 für Kapitel 237

38 Finanzielle Spiele Beweis: Sei eine beliebige Preisfolge gegeben und j IN so, dass m2 j p max < m2 j+1. Hat EXPO die Strategie RPP i gewählt, dann ist für i j der Ertrag mindestens m2 i. Für i>j und damit p*>p max ist der Ertrag von EXPO mindestens m. Als erwarteter Ertrag von EXPO ergibt sich daraus E[EXPO( )] = (1/k)( i=1 j m2 i + (k-j)m) = (m/k)(2 j+1 -2+k-j) Also ist OPT( )/E[EXPO( )] m2 j+1 /[(m/k)(2 j+1 -2+k-j)] k/(1+(k-j-2)/2 j+1 ) = log /(1+(k-j-2)/2 j+1 ) Der Term 1/(1+(k-j-2)/2 j+1 ) wird maximiert für j*=k-2+1/log 2, wodurch dieser für k gegen 1 konvergiert Kapitel 238

39 Kapitel 239 Fragen?


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

Ähnliche Präsentationen


Google-Anzeigen