Distributionales Paging

Werbung
Seminar „Online-Algorithmen“
Thema: Distributionales Paging
Rainer Penninger
Inhalt:
1. Einleitung ............................................................................................................................ 2
2. Modelle für distributionales Paging: Das Markov-Ketten-Modell ..................................... 3
2.1 Negative Ergebnisse ...................................................................................................... 5
2.1.1 Untere Schranke für Markierungsaglorithmen .................................................. 5
2.1.2 Analyse von MHT auf Markov-Ketten ............................................................. 7
2.1.3 Analyse von LAST auf Markov-Ketten ............................................................ 8
3. Das Markov-Prozess-Paging ............................................................................................. 10
3.1 Dominierende Verteilung und zugehöriger 4-kompetitiver Algorithmus ................... 10
3.2 4-kompetitiver Algorithmus DOM ..............................................................................13
4. Zusammenfassung ............................................................................................................. 14
1
1. Einleitung:
Die kompetitive Analyse von Online-Algorithmen ist eine bedeutende Art der „worst-case"Analyse, ohne eine Wahrscheinlichkeitsverteilung der Eingaben anzunehmen. Dies hat uns zu
neuen Erkenntnissen für das Design von Online-Algorithmen geführt genauso wie bei der
Entscheidungsfindung mit unvollständigen Informationen.
Das schon vorgestellte Thema Paging ist sehr anwendungsorientiert und es wurden schon
viele der besprochenen Algorithmen implementiert und oft genutzt; manche schon lange
bevor die kompetitive Analyse existierte.
Das Modell der kompetitiven Analyse ist jedoch sehr „unrealistisch“ pessimistisch. Da viele
Algorithmen in diesem Modell gleich schlecht bewertet werden, het ein Algorithmus wie z.B.
LRU, der in der Praxis viel besser abschneidet als FIFO oder FWF, denselben kompetitiven
Faktor wie die anderen beiden. Die Diskrepanz zwischen Theorie und Praxis ist in diesem
Fall besonders störend und man wünscht sich daher eine ander Modellierung. Ein Grund für
diese Diskrepanz ist einerseits der, dass ein Online-Algorithmus, der nichts von der Zukunft
weiß, an einem bezüglich Rechenkapazität und Informationen unbeschränkten Algorithmus
gemessen wird. Andererseits werden die Lokalitäten der Referenzen nicht berücksichtigt.
Wenn man jedoch zum Beispiel weiß, dass eine Datenstruktur wie ein Baum aufgebaut ist,
dann sollte man hier die LRU-Strategie anwenden.
Man könnte, um die Theorie der Praxis näherzubringen, den Gegenspieler einschränken oder
den Online-Algorithmus mit mehr Informationen ausstatten.
Kritiker betonen immer wieder, dass FIFO und LRU gleich kompetitiv sind, obwohl LRU
in der Praxis viel besser ist, und dass überhaupt der beobachtete kompetitive Faktor von LRU
viel besser ist als der theoretische.
Eine Alternative ist es, „average-case“-Analyse zu betreiben. Eine feste Wahrscheinlichkeitsverteilung für die Anforderungssequenz ist nicht sehr realistisch, jedoch wurden früher
viele Analysen von Algorithmen unter der Annahme einer festen Verteilung gemacht.
Man beachte, dass der Online-Algorithmus (in der Analyse) nur durch fehlende Informationen
beschränkt wird. Wie sich der kompetitive Faktor ändert, wenn man rechentechnische
Einschränkungen macht, ist ein interessantes und weitgehend unerforschtes Gebiet.
Ein Aspekt werden Algorithmen sein, wo die Anfragesequenz von einer Markov-Kette
generiert wird. Wahrscheinlichkeiten entsprechen Gewichten der Kanten eines Graphen. Die
Seiten entsprechen den Knoten des Graphen. Das Ziel ist das Minimieren der erwarteten
Seitenfehlerrate bzw. der erwarteten Anzahl von Seitenfehlern. Auch wenn man einen
optimalen Algorithmus theoretisch berechnen kann, so ist dies in der Praxis nicht üblich, da es
ineffizient ist. Deshalb suchen wir einen natürlichen und effizienten Weg einen solchen
kompetitiven Algorithmus zu konstruieren (approximieren).
Markov-Ketten sind Spezialfälle der Markov Prozesse. Im Zusammenhang mit Markov
Prozessen wird der Algorithmus „Dominierende Verteilung“ vorgestellt.
2
2. Das Markov-Ketten-Modell
Wir wollen eine Annäherung an zufällige Eingabesequenzen durch Wahrscheinlichkeitsverteilungen erreichen und den Vergleichsaspekt der kompetitven Analyse beibehalten.
Eine Markov-Kette ist eine Menge von Zuständen (si ∈ S), für die gilt: Ein Wechsel von
einem Zustand si nach sj tritt mit einer Wahrscheinlichkeit pij auf, die nur vom aktuellen
Zustand (si) abhängig ist.
Wir nehmen das Access-Graph-Modell als Basis für einen einfachen distributiven Ansatz.
Man kann die Kante < u, v > in einem Access-Graphen mit der Wahrscheinlichkeit gewichten, dass v die nächste Anfrage nach u ist. So ein gewichteter Graph repräsentiert offensichtlich eine Markov-Kette. Ein Markov-Ketten-Modell liefert möglicher Weise das einfachste
auf Wahrscheinlichkeiten basierende Modell, um Lokalitäten von Referenzen auszudrücken.
Sobald wir einen distributiven Blickpunkt annehmen, ist ein sinnvolles Maß der Performance
die erwartete Seitenfehlerrate. Diese ersetzt die Seitenfehlerrate von deterministischen
Algorithmen durch einen vom Access-Graphen und vom Algorithmus abhängigen Erwartungswert. Einen Aspekt der kompetitiven Analyse behalten wir bei und vergleichen die
erwartete Seitenfehlerrate mit der des optimalen Online-Algorithmus. In diesem Abschnitt
nehmen wir an, dass die Anfragesequenz von einer Markov-Kette generiert wird, die der
Online-Spieler kennt. Sollte die Markov-Kette nicht bekannt sein, könnte sie natürlich
(annähernd) gelernt werden, z.B. indem man die Häufigkeiten der Seitenanfragen in einem
ausreichend großen Präfix der Anfragesequenz zählt.
Eine Matrix M = (pij) mit 0 ≤ pij ≤ 1 für 1 ≤ i, j ≤ n und ∑j=1..n pij = 1 für alle i = 1..n beschreibt
ein Markov-Ketten-Modell. pij repräsentiert die Wahrscheinlichkeit, dass j direkt nach der
Seite i angefragt wird und n ist die Anzahl der Zustände. Sei ALG ein Paging-Algorithmus.
Definition:
ALG( M ) = lim sup n → ∞ E [ ALG ( σ) ] / n,
wobei σ eine Sequenz der Länge n ist, die von der Markov-Kette M generiert wurde.
Daher misst ALG( M ) eine obere Schranke für die erwarteten Kosten pro Anfrage (z.B.:
die Seitenfehlerrate).
Wie wir es in der Entwicklung des Access-Graphen-Modells tun, so können wir auch hier das
Konzept eines optimalen Online-Algorithmus definieren. Genauer gesagt wollen wir einen
Online-Algorithmus, welcher die erwarteten Kosten pro Anfrage minimiert. Diese
Optimierung kann im Rahmen der Markov-Entscheidungstheorie formuliert werden. Man
kann das folgende Ergebnis aus einem fundamentalen Ergebnis der Markov-Entscheidungstheorie ableiten.
Theorem 1 (berechenbarer deterministischer optimaler Algorithmus):
Betrachte ein Paging-Problem, wobei N und k die Anzahl von langsamen und schnellen
Speicherseiten darstellen. Sei M eine Markov-Kette auf N Knoten. Es existiert ein
berechenbarer deterministischer Online-Algorithmus ON-OPT s.d.
ON-OPT( M ) ≤ ALG( M )
für alle deterministischen oder randomisierten Online-Algorithmen ALG für dieses PagingProblem. Des Weiteren kann jede Paging-Entscheidung durch Lösung eines linearen
Gleichungssystems mit
N
Variablen bestimmt werden.
N·
k
( )
3
Theorem 1 zeigt, dass der Algorithmus ON-OPT aus der Matrix M berechnet werden kann.
Die Lösung der Gleichungssysteme ist jedoch sehr kostspielig. Gewünscht wäre ein
natürlicher und effizienter Online-Algorithmus, welcher für alle Matrizen M innerhalb eines
konstanten Faktors von ON-OPT ist. Wir wollen also ein Ergebnis, welches vergleichbar ist
mit der Existenz des einheitlich kompetitiven Algorithmus FAR (im Zusammenhang des
Access-Graphen-Models).
Wichtige Begriffe:
Für den Beweis der unteren Schranke für Markierungsalgorithmen und die Analyse von
LAST und MHT auf Markov-Ketten werden noch ein paar Begriffe benötigt.
Random Walk:
Eine stochastische Matrix M = pij definiert eine Wahrscheinlichkeitsverteilung an den
ausgehenden Kanten jedes Knotens. Für jeden Knoten muss gelten: Σ j ∈ N(i) pij = 1, wobei N(i)
die Nachbarschaft der zu i benachbarten Knoten ist. Eine solche Matrix definiert einen
random walk auf dem Graphen G. Man könnte sich einen Zeiger vorstellen, der an Hand der
Wahrscheinlichkeiten von P auf dem Graphen entlangläuft.
Weighted Hitting Time
Der Erwartungswert des Weges, der zurückgelegt wird, wenn man bei Knoten i startet, bis
man bei Knoten j angekommen ist. Dieser Erwartungswert, hij, weicht meist von der minimalen Distanz ab, da man den optimalen Weg zu einer gewissen Wahrscheinlichkeit verlassen
kann.
Cover Time:
Von einem Knoten i0 aus ist eine andere Größe die erwartete Distanz, die zurückgelegt wird,
bis jeder andere Knoten besucht wurde.
Bemerkung: Wollen wir „hitting time“ oder „cover time“ klein halten, so empfiehlt sich ein
Graph, welcher kleine Wahrscheinlichkeiten zu den Kanten zugeordnet hat, welche großes
Gewicht haben. Sind die Wahrscheinlichkeiten invers proportional zu den Gewichten der
Kanten, so handelt es sich um einen
„harmonic random walk“: (gewichtete Kanten)
(1 / dij )
pij = Pr[i → j | bei i] =
Σ w ∈ N(i) ( 1 / diw )
wobei dij das Gewicht der Kante < i, j > von i nach j ist.
Ist G ungerichtet, dann nehmen wir an, dass d symmetrisch ist d.h. dij = dji.
„uniform random walk“: (ungewichtete Kanten)
Für einen ungewichteten Graphen G ist der „uniform random walk“ definiert durch:
pij = 1 / Grad( i ).
Betrachtet man die hitting times für einen random walk auf einem ungerichteten Graphen G,
so stellt man fest, dass hij ≠ hji sein kann. Manchmal ist es einfacher, die symmetrische
„commute time“: cij = cji = hij + hji zu betrachten. Per Konvention sei falls i = j: cii = hii = die
erwartete Zeit, bis man zu i zurückgekehrt ist, wenn man bei i gestartet ist.
4
Um cij zu analysieren, benutzen wir eine Analogie zwischen gewichteten ungerichteten
Graphen und elektrischen Systemen. Wir betrachten die Gewichte der Kanten von G als
elektrischen Widerstand zwischen den beiden Knoten. D.h. der elektrische Widerstand (in
Ohm) zwischen zwei benachbarten Knoten i und j ist dij. Wir definieren den effektiven
Widerstand zwischen zwei beliebigen Knoten i und j als den Potentialunterschied, welcher
entstehen würde, wenn man 1 Ampere Strom an i anlegen würde und an j abnehmen würde.
Dies bezeichnen wir als Rij Beachte: Rij = Rji ≤ dij = dji, wobei hier dij die minimale Distanz
zwischen den beiden Knoten ist. Man stelle sich die Kanten auf einem Pfad minimaler Länge
von i nach j als Serienschaltung vor. Dann ist Rij = Rji = dij = dji. Pfade, die von diesem Pfad
ausgehen und nicht wieder zurückkehren, haben keinen Einfluss auf den Widerstand, da der
Strom auf direktem Weg fließt. Pfade, die mit dem minimalen Pfad einen Kreis bilden, sind
als Parallelschaltung zu verstehen und eine solche verringert den Widerstand nur, da sich hier
die Kehrwerte (= die Leitfähigkeit) der Widerstände addieren.
Theorem C.1:
Das Theorem wird im Anhang C von [1] bewiesen.
Sei G = (V, E, d) ein ungerichteter gewichteter Graph G und betrachte einen „harmonic walk“
auf G. Dann ist
cij = 2 · |E| · Rij
2.1 Negative Ergebnisse
2.1.1 Eine untere Schranke für Markierungsalgorithmen
Es überrascht uns, dass viele vernünftige Online-Algorithmen im Markov-Ketten-Modell
nicht gut abschneiden. Z.B. kann kein Markierungsalgorithmus (im allgemeinen) besser als
MARK (welcher eine zufällige unmarkierte Seite verdrängt) abschneiden und viele natürliche
(online) Approximationen an LFD sind eher schlecht. Um ein paar Beispiele von MarkovKetten zu geben, welche Probleme für bestimmte Algorithmen bedeuten, betrachten wir die
Markov-Kette zu einem „uniform random walk“ auf einem Graph.
Wir definieren zwei problematische Graphen, den Lollipop L(m, n) und den geteilten
Lollipop FL(m, n):
Der Lollipop-Graph L(m, n) ist ein Graph mit (m + n) Knoten bestehend aus einer n-Clique
inklusive Verbindungsknoten w und einem einfachen Pfad der Länge m (Griff genannt)
zwischen Knoten w und dem Ende y des Griffes. Der geteilte Lollipop-Graph FL(m, n) ist
5
dem Lollipop-Graph ähnlich, hat jedoch zwei Knoten x und y, benachbart zum Ende eines
Griffes mit (m – 1) Knoten.
Das folgende technische Lemma benutzen wir für den Beweis der unteren Schranke. Es sei
hier ohne Beweis angeführt:
Lemma 1:
Man betrachte einen random walk auf dem Lollipop-Graph G = L(m, n), welcher bei w
beginnt. Sei fc(m, n) die Wahrscheinlichkeit, dass y vor allen Knoten im Cliqueteil angefragt
wird. Man kann zeigen, dass
fc (m, n) = Θ ( log n / ( m · n ) ).
Hiermit kann man folgende untere Schranke für beliebige Markierungsalgorithmen beweisen:
Theorem 2:
Sei k gerade. Dann gibt es eine Markov-Kette M mit (k + 1) Zuständen, s.d. für jeden
beliebigen (deterministischen oder randomisierten ) Online-Markierungsalgorithmus ALG
gilt:
ALG( M ) ≥ dk · Hk/2 · ON-OPT ( M ),
wobei lim k → ∞ d k = 1 und Hm die m-te harmonische Zahl ist.
Beweis:
Sei M die Markov-Kette, die zu einem uniform random walk auf dem Lollipop-Graph
G = L(k/2 + 1, k/2) korrespondiert, und y sei der Knoten am Ende des Lollipop-Griffs.
Betrachte die k-Phasen-Einteilung einer Eingabesequenz σ, welche durch M generiert wurde.
Sei ALG (φM) die erwarteten Kosten von ALG um eine zufällige Phase φM von σ
abzuarbeiten.
Da die k-Phasen-Einteilung unabhängig vom Algorithmus ist, ist
ALG ( M )
ALG (φM )
=
ON-OPT ( M )
ON-OPT (φM )
Angenommen y sei der Knoten, der eine neue k-Phase beginnt. Dann wird sicher die nächste
Phase an einem Knoten z im Cliqueteil von G gestartet.
Wie schon (aus der Vorlesung) bekannt ist, ist die erwartete Anzahl von Seitenfehlern, die
durch ALG im Cliqueteil verursacht werden, mindestens Hk/2 .
Betrachte eine Phase, die an einem Knoten im Cliqueteil von G startet, und sei
fy = 1 - fc ( k/2 + 1, k/2 )
eine untere Schranke für die Wahrscheinlichkeit, dass alle Knoten im Cliqueteil vor y
angefragt werden. D.h. mit Wahrscheinlichkeit von mindestens fy wird y der Knoten sein, der
die nächste Phase beginnt. Wir haben also:
ALG (φM)
= erwartete Kosten pro Phase
≥ (Wahrscheinlichkeit das die Phase an Knoten y startet) · Hk/2
= ( fy / 1+fy ) · Hk/2.
Wir vergleichen dieses Ergebnis mit dem Online-Algorithmus ALTR, welcher statt dessen y
und einen zufälligen ( festen ) Knoten z im Cliqueteil von G verdrängt:
Wir definieren die Anzahl von Fehlern in einer Phase wie folgt: Wir zählen den Fehler, der
die nächste Phase beginnt, mit, aber nicht den Fehler, der die aktuelle Phase begonnen hat.
Wenn eine Phase bei y beginnt, macht ALTR einen Fehler in dieser Phase und startet die
nächste Phase mit dem Loch bei y. Eine Phase beginnend bei einem Knoten v in der Clique ist
eine schlechte Phase, wenn die nächste Phase auch bei einem Knoten in der Clique beginnt.
6
Bei einer schlechten Phase macht ALTR zwei Fehler. Die Wahrscheinlichkeit für eine
schlechte Phase ist ( 1- fy ) · ( 1 / ( 1+ fy ) ). Daher ist
ALTR (φM )
≤ fy / (1 + fy) · 1 + (1 – fy) / (1 + fy) · 2
Setzen wir dk = fy / (2 - fy), dann gilt
ALG (φM ) ≥ dk · Hk/2 · ALTR (φM) ≥ dk · Hk/2 · ON-OPT (M).
Da lim k → ∞ fk = 1 ist, haben wir lim k → ∞ dk = 1, wie gewünscht.
q.e.d.
2.1.2 Analyse von MHT auf Markov-Ketten
Wir betrachten nun zwei natürliche Approximationen an LFD, den optimalen offline Algorithmus, welche ziemlich schlecht bei gewissen Markov-Ketten sind. Im nächsten Abschnitt
stellen wir eine einheitlich kompetitive Strategie in einem allgemeineren Umfeld vor.
Algorithmus MHT (Maximum Hitting Time) Bei einem Seitenfehler an Seite r verdrängt
MHT die Seite, deren erwartete Erreichzeit von r aus am größten ist.
Algorithmus LAST (Highest probability to be last) verdrängt bei einem Seitenfehler die
Seite, die die höchste Chance hat, die letzte der k Seiten im Cache zu sein, die angefragt wird.
Theorem 3.1:
Es gibt eine Konstante c, s.d. für alle k gilt:
Es gibt eine Markov-Kette M mit (k + 1) Zuständen, s.d. MHT( M ) ≥ c · k · ON-OPT( M )
Beweis:
Sei M die Markov-Kette, welche durch einen random walk auf einem geteilten LollipopGraph G = FL(k/3, 2k/3) mit k+1 Knoten induziert wird. Wenn man die Charakterisierung der
„commute time“ von elektronischen Netzwerken benutzt, ergibt sich, dass
huv + hvu = 2 · | E | · R uv
wobei huv die „hitting time“ von u nach v ist und Ruv der effektive Widerstand zwischen u und
v ist.
7
Für die Knoten x und y am Ende des Griffes des geteilten Lollipop gilt: Rxy = Rxz + Rzy = 2.
Es ist klar dass |E| = 4k2 + O( k ). Da hxy = hyx (folgend aus der Symmetrie des Graphen ),
haben wir hxy = hyx = ( 8k2 ) / 9 + O ( k ).
Wir betrachten nun die Erreichzeit von entweder x oder y zu irgendeinem anderen Knoten u
in G. Die Erreichzeit zum Knoten w ist in etwa die Erreichzeit für einen random walk auf
einer Linie der Länge k / 3. D.h.: hxw = hyw = k2 / 9 + O ( k ).
Es ist klar, dass irgendein anderer Knoten auf dem Griff eine kürzere Erreichzeit hat.
Außerdem, wenn w erreicht ist, ist für einen beliebigen Knoten u die Wahrscheinlichkeit, dass
der random walk u vor dem Vorgänger von w auf dem Griff erreicht = ½. Es folgt daraus,
dass die Erreichzeit von entweder x oder y zu u 2 · k2 / 9 + O ( k ) ist.
Daher wird MHT immer sein Loch zwischen x und y alternieren lassen mit einer Fehlerrate
von 1 / ( hxy + hyx ) = Ω ( 1 / k2 ).
Andererseits betrachten wir noch mal Algorithmus ALTR, welcher das Loch zwischen z.B. x
und einem zufälligen (festen) Knoten u im Cliqueteil alternieren lässt.
ALTR wird eine Fehlerrate von 1 / (hxu + hux) = O (1 / k3) haben, wenn man dieselbe Analyse
benutzt um die „commute time“ hxu + hux zu berechnen und berücksichtigt, dass R xu in etwa
k/3 ist.
2.1.3 Analyse von LAST auf Markov-Ketten
Theorem 3.2:
Es gibt eine Konstante c, s.d. für alle k gilt:
Es gibt eine Markov-Kette M mit (k + 1) Zuständen, s.d. LAST( M ) ≥ c · k · ON-OPT( M )
Beweis:
Betrachte die Markov-Kette welche durch einen random walk auf einem ungerichteten Kreis
mit (k + 1) Knoten induziert wird. Es ist vielleicht überraschend, aber es kann gezeigt
werden, dass wenn man bei irgendeinem Knoten des Kreises startet, jeder andere Knoten die
gleiche Wahrscheinlichkeit besitzt, als letztes erreicht zu werden. Wenn die Wahrscheinlichkeiten leicht abgeändert werden (z.B.: durch eine ε-Abschrägung mit ε > 0 im Uhrzeigersinn),
dann ist der Nachbar im Gegenuhrzeigersinn der am meisten wahrscheinliche als letztes
erreicht zu werden.
8
Für den „uniform random walk“ zeigt die commute-time-Charakterisierung, dass die
Erreichzeit zu einem Nachbar O ( k ) ist. Dies ändert sich mit der ε – Abschrägung nicht,
daher ist die erwartete Seitenfehlerrate von LAST Θ (1 / k). Andererseits, indem man Löcher
an zwei fixen antipolaren Knoten alternieren lässt, ist die Erreichzeit O ( k2 ) und die erwartete
Seitenfehlerrate Θ ( 1/ k2 ).
q.e.d.
9
3. Markov-Prozess-Paging
Das Markov-Ketten-Paging-Modell ist ein Spezialfall des Markov-Prozess-Paging-Modells.
Das Markov-Prozess-Paging-Modell nimmt eine Menge von Zuständen an (endlich oder
unendlich viele). Für jedes Paar von Zuständen (si, sj) und Seite r ist die Wahrscheinlichkeit
p( si, sj, r ), dass wenn der Prozess im Zustand si ist und die nächste Seitenanfrage r ist, der
Prozess in Zustand sj wechseln wird. Typischerweise würden wir die Aufmerksamkeit auf
ein endliches n-stufiges Markov-Prozess-Paging-Modell einschränken, wobei die Menge von
Zuständen S = { s | s korrespondiert zum Vektor der letzten n Seitenanfragen } und die
nächste Seitenanfrage (und daher der nächste Zustand ) eine Wahrscheinlichkeitsfunktion des
aktuellen Zustandes ist. Es ist klar, dass Markov-Ketten-Paging ein 1-stufiges MarkovProzess-Paging-Modell ist. Ein Markov-Modell mit endlich vielen Zuständen liefert ( für
kleine n ) ein besseres Wahrscheinlichkeitsmodell, da aus den n vorherigen Anfragen die
Lokalitäten von Referenzen bestimmt werden können. Aber wir hoch sind die Rechenkosten ?
Können wir einen rechentechnisch effizienten einheitlich kompetitiven Algorithmus
herleiten? Es überrascht vielleicht, dass die Antwort ja ist, und in der Tat kann dieser
universelle Algorithmus auf eine breitere Klasse (als n-stufige Markov-Prozesse, n < ∞) von
Eingabeverteilungen angewandt werden.
3.1 Dominierende Verteilung und zugehöriger 4-kompetitiver Algorithmus
Im Folgenden werde die Anforderungssequenz wird auf Grund einer (Wahrscheinlichkeits-)Verteilung D ∈ Dpp generiert, wobei Dpp die Klasse der paarweise voraussehbaren
Verteilungen ist. Eine Verteilung D heißt paarweise voraussehbar, wenn für alle Paare von
Seiten q und r die Wahrscheinlichkeit p(q, r), dass Seite r vor Seite q angefragt wird, effizient
berechnet werden kann. Genauer gesagt nehmen wir an, dass für alle Seitenpaare q und r
p(q,r) in polynominaler Zeit berechnet werden kann. Sei Ďpp die Klasse aller paarweise
voraussehbaren Verteilungen.
Man kann zeigen, dass wenn M ein n-stufiges Markov-Paging-Modell ist, M ∈ Ď pp ist.
Man kann für ein festes n p(q, r) in polynominaler Zeit bzgl. N berechnen.
Eine paarweise voraussehbare Verteilung D und ein Online-Paging-Algorithmus ALG
induzieren in natürlicher Weise ein gewichtetes Turnier auf der Menge S seiner Zustände.
Ein Turnier T ist ein vollständiger Graph, in dem jede Kante eine Richtung hat. Es ist eine
natürliche Repräsentation eines Sportwettkampfes. Die Knoten sind die Spieler, die Richtung
der Kante deutet immer auf den jeweiligen Gewinner des individuellen Matchs. Wir
verallgemeinern die Notation in der Weise, dass die Kanten richtige Gewichte statt
Richtungen haben.
10
Definition: gewichtetes Turnier
Ein gewichtetes Turnier T(V, w) ist eine Menge Knoten V und eine Abbildung
w: V x V → [0, 1]
mit w(u, u) = 0 und w(u, v) + w(v, u) = 1 für alle u, v ∈ V.
Dies repräsentiert das Ergebnis eines „Matchs“. Wenn u = Becker und v = Graf und w(u, v) =
7/10, dann gewinnt Becker zu 7/10 und Graf zu 3/10. Ein ungewichtetes Turnier erhält man,
indem man nur Gewichte von 0 und 1 zulässt.
Hat man einen Paging-Algorithmus ALG und eine paarweise voraussehbare Verteilung D,
dann ist die Gewichtsfunktion durch D festgelegt. Später wird V die Menge der Seiten im
Cache von ALG gerade vor jeder neuen Anfrage sein.
Definition: Dominierende Verteilung auf einem Turnier
Eine Dominierende Verteilung auf einem Turnier T = (V, w) ist eine Wahrscheinlichkeitsfunktion p: V → [0, 1], so dass E[ w(v, u) ] = ∑ u ∈ V w(v, u) · p(u) ≤ ½ für alle v ∈ V.
Das heißt, dass die Summe der Gewichte der ausgehenden Kanten multipliziert mit den
jeweiligen Wahrscheinlichkeiten der Zielknoten ≤ ½ sein muss, für jeden Knoten v aus V.
(Man beachte, dass V ein vollständiger Graph sein muss)
Bemerkung: Die Knoten, die die meisten Turniere verlieren, bzw. die kleinen Gewichte an
den ausgehenden Kanten haben, scheinen die größte Chance zu haben, ausgewählt zu werden.
In Worten der paarweise voraussehbaren Verteilungen und Paging-Algorithmen neu
formuliert: Für jedes v im Cache, wenn u mit Wahrscheinlichkeit p( u ) ausgewählt wird, dann
wird jedes v ≠ u mit Wahrscheinlichkeit ≥ ½ nicht später als u angefragt.
11
Theorem 4:
Jedes gewichtete Turnier T ( V, w ) hat eine dominierende Verteilung .
Beweis:
Wir betrachten die Berechnung von p als Lösung des folgenden linearen Programmes.
Minimiere c, s.d.:
∑ u ∈ V w(v, u) · p(u) ≤ c (∀ v ∈ V)
∑ u ∈ V p(u) = 1, p(u) ≥ 0 (∀ u ∈ V)
Uns genügt zu zeigen, dass c maximal ½ ist. Man muss dafür das duale lineare Programm
betrachten:
Maximiere d unter den Bedingungen, dass
∑ v ∈ V w(v, u) · q(v) ≥ d (∀ u ∈ V)
∑ v ∈ V p(v) = 1, q(v) ≥ 0 (∀ v ∈ V)
Es genügt zu zeigen, dass für eine beliebige W'-Verteilung q ein Knoten u existiert, für den
∑ v ∈ V w(v, u) · q(v) ≤ ½
ist.
Betrachte hierzu die folgenden Ableitungen:
∑ u ∈ V q(u) · ∑ v ∈ V w(v, u) · q(v)
= ∑ u, v ∈ V w(v, w) · q(u) · q(v)
= ∑ u, v ∈ V: v<u q(u) · q(v) · (w(v, u) + w(u, v))
= ∑ u, v ∈ V: v<u q(u) · q(v)
Benutzt man die Identität
1 = ( ∑ u ∈ V q(u) )² = ∑ u ∈ V q(u)² + 2 ( ∑ u, v ∈ V: v<u q(u) · q(v) )
ergibt sich
∑ u ∈ V q(u) · ∑ v ∈ V w(v, u) · q(v) = ½ (1 - ∑ u ∈ V q(u)²) ≤ ½.
Also gibt es einen Knoten u für den ∑ v ∈ V w(v, u) · q(v) ≤ ½ ist und der Beweis ist feritg.
Corollar 5:
Die dominierende Verteilung für ein beliebiges Turnier kann durch Lösung eines linearen
Programmierungsproblems mit |V| Variablen gefunden werden.
Wir benutzen diese dominierenden Verteilungen für die Konstruktion eines einheitlich
kompetitiven Algorithmus für Ďpp.
12
3.2 Algorithmus ( DOM ):
Sei D ∈ Ďpp die Eingabeverteilung und sei σ = r1, r2, ....... eine Anfragesequenz. Bei der
t–ten Anfrage rt verdränge t DOM keine Seite, wenn rt im Cache ist (d.h. DOM ist ein
Demand-Paging-Algorithmus); eventuell muss jedoch der Zustand der gegebenen Verteilung
D geändert werden. Wenn rt ein Seitenfehler ist, dann konstruiert DOM ein gewichtetes
Turnier Tt (V, w) ( durch D festgelegt ) auf den k Seiten, welche aktuell im Cache sind. DOM
verdrängt Seite q mit Wahrscheinlichkeit pt( q ), wobei pt die dominierende Verteilung für das
Turnier Tt (V, w) ist.
Theorem 6:
Für alle Anfragesequenzen σ ist E [ DOM( σ ) ] ≤ 4 ON-OPT( σ ).
Bemerkung: Der Rechenaufwand pro Seitenfehler ist polynominal in k beschränkt, falls für
alle Seitenpaare q, r die p( q, r ) vorberechnet sind.
Beweis:
Wir definieren ein Charging Schema für jeden DOM Fehler. Wenn DOM eine Seite p
verdrängt, stellen wir den Fehler einer Seite q =: ch(p), welche vor dem Seitenfehler im Cache
von DOM ist und nach dem Seitenfehler nicht im Cache von ON-OPT ist, in Rechnung. Des
weiteren hat keine Seite zu einem Zeitpunkt mehr als zwei Seitenfehler in Rechnung.
Sei SON-OPT die Menge von Seiten im Cache von ON-OPT, nachdem rt bedient wurde, und
sei SDOM die Menge von Seiten im Cache von DOM, bevor die Anfrage rt bedient wurde.
Das Charging Schema:
1. Wenn u von DOM verdrängt wird, wenn u ∉ SON-OPT dann setze ch( u ) = u.
2. Andererseits nehmen wir an, dass es eine Seite q ∈ (SDOM - SON-OPT) gibt, s.d. ch( v ) ≠
q für alle v ∈ (SON-OPT - SDOM) . Für ein solches q setzte ch( u ) = q.
3. Wenn ch( u ) = q ≠ u und u später von ON-OPT verdrängt wird, dann setze ch( u ) = u
zurück.
4. Wann immer u angefragt wird, bezahlt das die Rechnungen von u, d.h. ch( u ) = `nil`
13
Beachte, dass die angefragte Seite rt, welche die Verdrängung von u verursacht, in
(SON-OPT - SDOM) ist und nach Regel 4 ist ch( rt ) = `nil`.
Da | SON-OPT - SDOM | = | SDOM - SON-OPT | , muss es ein q ∈ (SDOM - SON-OPT) geben, welches
Regel 2 genügt.
Als nächstes bemerken wir, dass für ein beliebiges q zu jeder Zeit |{u | ch( u ) = q }| ≤ 2, da q
maximal einmal von einem u ≠ q beladen werden kann und maximal einmal von sich selbst.
Des weiteren behaupten wir, dass ch( u ) mit Wahrscheinlichkeit ≥ ½ nicht später als u
angefragt wird: Wenn wir ch( u ) ≠ u setzen, muss ch( u ) ∈ SDOM .
Die Konstruktion von p garantiert, dass ch( u ) mit Wahrscheinlichkeit ≥ ½ vor u angefragt
wird. Wann immer ch( u ) auf u gesetzt oder zurückgesetzt wird, ist immer gewährleistet, dass
ch( u ) nicht später als u angefragt wird.
Wir schließen den Beweis wie folgt ab. Wir stellen maximal zwei Verdrängungen (z.B.: u1
und u2 ) von DOM zu einer gegebenen Seite q in Rechnung, welche nicht im Cache von ONOPT ist. Mit einer Wahrscheinlichkeit ≥ ½ wird diese Seite nicht später als u1 oder u2
angefragt.
Daher wird ON-OPT für jede zwei Verdrängungen von DOM mit Wahrscheinlichkeit ≥ ½
mit einem Seitenfehler beladen. D.h. die Anzahl der erwarteten Seitenfehler wird mindestens
1/4 der Anzahl von Verdrängungen von DOM sein.
4. Zusammenfassung:
Der Ansatz nimmt eine zufällige Wahrscheinlichksverteilung für die Seitenanfragen statt
„worst-case"-Verhalten an.
Zur mathematischen Modellierung der Wahrscheinlichkeiten wurde als einfaches Modell das
Markov-Ketten-Modell vorgestellt und als fortgeschrittenes Modell die Markov-Prozesse.
Statt einer erhofften Verbesserung schon vorhandener Algorithmen stellte man fest, dass viele
vielversprechende Algorithmen hier nicht gut abschneiden.
Im Zusammenhang mit IP-Networking wurde jedoch der hier vorgestellte einheitlich 4kompetitive Algorithmus DOM entwickelt, welcher auf allen paarweise voraussehbaren
Wahrscheinlichkeitsverteilungen funktioniert. D.h. er kann auf eine breitere Klasse von
Verteilungen als die von Markov-Prozessen angewendet werden.
Referenzen:
[1] A. Borodin, R. El Yaniv. Online Computation and Competitive Analysis
Cambridge University Press 1998
[2] A. R. Karlin, S. J. Phillips, P. Raghavan. Markov Paging
In Proceedings of the 33rd IEEE Symposium on Foundations of Computer Science, 1997
[3] C. Lund, S. Phillips, N. Reingold. Paging Against a Distribution and IP Networking
In Proceedings of the 34th Annual Symposium on the Foundations of Computer Science, 1994
http://www.ics.uci.edu/~irani/Online/lpr.ps
[4] S. Irani, A. R. Karlin. On Online Computation
http://www.ics.uci.edu/~irani/Online/survey.ps
Aus Approximation Algorithms for NP-hard Problems, ed., Dorit Hochbaum
14
Herunterladen