Datenmanagement in Netzwerken

Werbung
Datenmanagement in Netzwerken
Matthias Westermann
Sommersemester 2006
Der Kommunikationsoverhead für die Bereitstellung von Datenobjekten, die
von mehreren Knoten in einem Netzwerk bearbeitet werden können, dominiert
häufig die Laufzeit von Netzwerkanwendungen. Bei solchen Datenobjekten kann
es sich zum Beispiel um Dateien in einem Local-Area-Network (LAN), globale
Variablen auf einem Parallelrechner oder auch virtuelle Seiten in einem verteilten
Speichersystem handeln.
In der Standardimplementierung solcher Systeme haben Datenobjekte häufig
ein so genanntes Home, also einen Rechner, welcher der Ansprechpartner für dieses Objekt ist. In einer naiven Realisierung dieses Konzeptes wird jeder Zugriff
auf ein Objekt an sein Home geschickt, das dann bei einem Schreibzugriff das
Objekt entsprechend modifiziert und bei einem Lesezugriff das gesamte Objekt
beziehungsweise den angefragten Ausschnitt der Daten zurückliefert.
Unter dem Konzept des Cachings versteht man eine raffiniertere Variante, die
es erlaubt Kopien des Objektes zu erzeugen, die im Netzwerk verteilt werden.
Falls ein Prozessor häufiger auf dasselbe Datenobjekt zugreifen möchte, ist es
vielleicht sinnvoll, wenn dieser Prozessor eine lokale Kopie erhält, so dass Anfragen von diesem Prozessor nicht mehr zum Home gesendet werden müssen. Falls
jedoch jetzt ein anderer Prozessor dieses Objekt verändern möchte, muss diese
Kopie entweder invalidiert oder aktualisiert werden. Es stellt sich die Frage, wann
wir Kopien erzeugen und wann wir sie wieder löschen sollen.
Grundsätzlich scheint es sogar möglich und sinnvoll zu sein, das Home eines Prozessors zu verschieben, oder sogar das Home-Konzept ganz aufzugeben
und verschiedene gleichrangige Kopien im Netzwerk wandern zu lassen. In einem derartig dynamischen System, stellt sich natürlich auch die Frage, wie die
anfragenden Knoten die im Netzwerk verteilten Kopien lokalisieren können, ohne dazu das gesamte Netzwerk abzusuchen. Diese und andere Fragestellungen
werden wir im Folgenden schrittweise beantworten.
1
1 Definition des File-Allocation-Problems (FAP)
Das Netzwerk wird durch einen ungerichteten Graphen G = (V, E) mit nichtnegativen Kantenlängen aus R beschrieben. Wir betrachten nur ein Datenobjekt
x auf das von allen Prozessoren im Netzwerk lesend und schreibend zugegriffen
werden kann. Es dürfen beliebig viele Kopien von x erzeugt werden. Die Teilmenge der Knoten, die zu einem Zeitpunkt t ≥ 0 eine Kopie von x besitzen wird
als Residenzmenge Rt ⊆ V, Rt 6= 0/ bezeichnet. Zum Zeitpunkt 0 gilt R0 = {v} für
einen beliebigen Knoten v ∈ V . Wir vernachlässigen zunächst das Problem, wie
die Kopien im Netzwerk lokalisiert werden können und setzen globales Wissen
über die Residenzmenge voraus, d.h. zu jedem Zeitpunkt t kennt jeder Knoten die
Menge Rt .
Auf dem Netzwerk muss eine Sequenz von Lese- und Schreibanfragen σ =
σ1 · · · σT , mit σt ∈ {r(v), w(v)|v ∈ V }, abgearbeitet werden. Dabei steht σt = r(v)
für eine Leseanfrage von Prozessor v und σt = w(v) für eine Schreibanfrage von v.
Dabei müssen die folgenden Regeln eingehalten werden. Nachdem σt präsentiert
ist, führt der Algorithmus die Anfrage durch. Wir kümmern uns nicht um die
Details der Durchführung, sondern definieren stattdessen abstrakte Servicekosten
für die einzelnen Zugriffe.
• Falls σt = r(v) ist, dann entsprechen die Servicekosten der Distanz von v
zum nächsten Knoten in Rt−1 .
• Falls σt = w(v) ist, dann entsprechen die Servicekosten den Kosten des minimalen Steinerbaumes, der v und Rt−1 aufspannt, also der minimalen Summe der Kantenlängen, die benötigt wird, um v durch einen Baum mit allen
Knoten in Rt−1 zu verbinden.
Nachdem die Anfrage σt bedient wurde, kann die Residenzmenge angepasst werden, also Rt−1 in Rt überführt werden. Dazu dürfen neue Kopien erzeugt oder
auch vorhandene Kopien verschoben und gelöscht werden. Es muss jedoch immer
mindestens eine Kopie im Netzwerk erhalten bleiben. Das Erzeugen neuer Kopien, sowie das Löschen von Kopien verursacht keine Kosten. Jedoch dürfen neue
Kopien nur auf solchen Knoten erzeugt werden, die schon eine Kopie haben. Die
neue Kopie kann dann entlang der Kanten verschoben werden. Das Verschieben
einer Kopie entlang einer Kante der Länge ` verursacht dabei Migrationskosten in
Höhe von `.
2 Online-Algorithmen
Bei Online-Problemen handelt es sich um eine spezielle Art von Optimierungsproblemen. Im Allgemeinen besteht ein Optimierungsproblem (wir betrachten hier
2
o.b.d.A. nur Minimierungsprobleme) aus einer Menge von Eingaben I und einer Kostenfunktion C besteht. Für jede Eingabe i ∈ I gibt es eine Menge von
zulässigen Lösungen S(i). Mit jeder zulässigen Lösung s ∈ S(i) sind Kosten C(i, s)
assoziiert.
Ein Algorithmus ALG berechnet bei Eingabe i ∈ I eine Lösung s ∈ S(i). Die
Kosten von ALG sind dann ALG(i) = C(i, s). Ein optimaler Algorithmus OPT
berechnet für jede Eingabe i ∈ I eine Lösung mit den geringsten Kosten
OPT(i) = min C(i, s) .
s∈S(i)
Bei Online-Algorithmen kommt ein weiterer Aspekt hinzu: Die Eingabe ist
vorab nicht bekannt, sondern sie trifft erst nach und nach als Sequenz ein. Dem
Online-Algorithmus wird also immer nur das nächste Element der Eingabesequenz präsentiert ohne dass er die zukünftigen Elemente kennt.
Die Güte eines Online-Algorithmus ALG wird wie folgt bewertet. ALG ist
c-kompetitiv, wenn für jede Eingabesequenz σ gilt
ALG(σ ) ≤ c · OPT(σ ) + α ,
wobei α eine Konstante ist, die unabhängig von σ ist. Ein randomisirter OnlineAlgorithmus ALG ist c-kompetitiv, wenn für jede Eingabesequenz σ gilt
E [ALG(σ )] ≤ c · OPT(σ ) + α ,
wobei α eine Konstante ist, die nicht von σ abhängt. Die Kompetitiv-Ratio eines Online-Algorithmus ALG bezeichnet das Infimum über alle Werte c mit der
Eigenschaft, dass ALG c-kompetitiv ist.
3 FAP auf Bäumen
Sei der betrachtete Graph ein Baum T = (V, E). Wir präsentieren einen einfachen 3-kompetitiven Online-Algorithmus. Dieser Algorithmus hat die folgende
Invariante. Zu jedem Zeitpunkt t ≥ 0 ist der durch die Residenzmenge induzierte
Teilgraph zusammenhängend. Für v ∈ V und t ≥ 0 bezeichne Pt (v) die Knoten
auf dem kürzesten Weg, der vom Knoten v zur Residenzmenge Rt führt, inklusive
des Quell- und Zielknotens dieses Weges. Nach der Durchführung der Anfrage σt
verändert der Algorithmus die Residenzmenge wie folgt.
• Falls σt = r(v) ist, dann Rt := Rt−1 ∪ Pt−1 (v).
• Falls σt = w(v) ist, dann Rt := Pt−1 (v).
3
Im Falle einer Leseanfrage durch v erzeugt der Online-Algorithmus also neue
Kopien auf dem Weg Pt−1 (v), und im Falle einer Schreibanfrage von v löscht er
die Kopien in Rt−1 und erzeugt neue Kopien auf Pt−1 (v). Beachte, falls v ∈ Rt−1
ist, so gibt es nach einer Schreibanfrage von v nur noch eine Kopie, nämlich die
Kopie auf dem Knoten v.
Theorem 3.1 Der Online-Algorithmus für FAP auf Bäumen ist 3-kompetitive.
Beweis. Betrachte eine beliebige Kante e = (a, b). O.B.d.A. hat die Kante die
Länge 1. Die Entfernung von e aus T würde den Graphen in zwei Teilbäume
Ta und Tb zerlegen, die jeweils die Knoten a beziehungsweise b enthalten. Wir
unterscheiden drei verschiedene Konfigurationen.
[A] Nur Ta enthält Kopien von x.
[B] Nur Tb enthält Kopien von x.
[AB] Beide Teilbäume enthalten Kopien.
Beachte, dass in der Konfiguration [AB] garantiert ist, dass beide Knoten a und
b jeweils eine Kopie haben müssen, weil ansonsten die Residenzmenge nicht zusammenhängend wäre. Sei ct ∈ {[A], [B], [AB]} die Konfiguration zum Zeitpunkt
t. Der Schritt von ct−1 nach ct wird als Konfigurationsübergang bezeichnet. Die
folgende Behauptung kann beobachtet werden.
Behauptung 3.2 Der Online-Algorithmus geht niemals in einem Schritt von der
Konfiguration [A] direkt in die Konfiguration [B] über und umgekehrt. Es gibt nur
die Übergänge [A] → [AB], [B] → [AB], [AB] → [A] und [AB] → [B].
Damit können wir die Konfigurationssequenz in disjunkte Phasen der Form
und [B]+ [AB]+ einteilen. Wir betrachten nun eine derartige Phase und
vergleichen die Kosten des Online-Algorithmus mit den Kosten eines beliebigen
Offline-Algorithmus.
[A]+ [AB]+
• Zunächst zeigen wir, dass der Online-Algorithmus auf Kante e pro Phase
Kosten drei hat. O.B.d.A. betrachte eine Phase der Form [A]+ [AB]+ . Die
Beschreibung der in solch einer Phase entstehenden Online-Kosten in der
Tabelle 1 bestätigt unsere Behauptung.
• Als nächstes zeigen wir, dass jeder Offline-Algorithmus mindestens Kosten
eins pro Phase hat. Zum Zwecke des Widerspruchs nehmen wir an, es gibt
eine Strategie mit Kosten null. Dann erfordert die Schreibanfrage (*) aus Ta ,
dass zu diesem Zeitpunkt keine Kopie in Tb enthalten ist, sonst wären die
Kosten mindestens eins. Außerdem kann keine Kopie migriert werden. Also
ist auch zum Zeitpunkt der Lese-/Schreibanfrage (**) aus Tb keine Kopie
in Tb enthalten. Damit verursacht dieser Zugriff jedoch mindestens Kosten
eins.
4
vorherige Konf.
[AB]
[A]
[A]
[AB]
Konf.
[A]
[A]
[AB]
[AB]
Art des Zugriffs
Schreibanfrage aus Ta (*)
Lese-/Schreibanfrage aus Ta
Lese-/Schreibanfrage aus Tb (**)
Leseanfrage aus Ta oder Tb
Online-Kosten
1
0
2
0
Abbildung 1: Online-Kosten auf einer Kante in einer Phase der Form [A]+ [AB]+ .
Also hat jeder Offline-Algorithmus mindestens Kosten eins pro Phase, während der Online-Algorithmus Kosten drei hat. Somit ist der Online-Algorithmus
3-kompetitive.
Verteilte Ausführung. Bisher sind wir von globalem Wissen ausgegangen. Wir
haben angenommen, dass alle Knoten die Konfiguration des Netzwerks kennen.
Jetzt beziehen wir eine verteilte Ausführung in unser Modell mit ein. Wir gehen
davon aus, dass die einzelnen Knoten im Netzwerk nur diejenigen Zugriffe sehen, in die sie involviert sind. Genauer gesagt, ein Knoten sieht einen Lesezugriff
nur dann, wenn er auf dem gewählten Weg zur Zusammenhangskomponente liegt.
Analog wird ein Schreibzugriff nur von denjenigen Knoten wahrgenommen, die
im für die Aktualisierung oder Invalidierung der Kopien verwendeten Baum enthalten sind. Auch Migrationen werden nur von Knoten, die auf dem Migrationspfad liegen, beobachtet. Um Informationen über eine Veränderung der Residenzmenge auch an andere Knoten im Netzwerk zu geben, müssen Informationsnachrichten versendet werden. Im folgenden zeigen wir, dass Informationsnachrichten
für die verteilte Ausführung nicht benötigt werden.
Theorem 3.3 Es gibt einen verteilten 3-kompetitiven Online-Algorithmus für FAP
auf Bäumen.
Beweis. Wir verwenden eine verteilte Variante des Online-Algorithmuns für FAP
auf Bäumen. Wir werden zeigen, wie das so genannte Data-Tracking, d.h. die
Lokalisierung der Residenzmenge, auch ohne globales Wissen realisiert werden
kann.
Wir erklären einen beliebigen Knoten zur Wurzel des Baumes. Der Algorithmus hält die folgende Invariante aufrecht. Zu jedem diskreten Zeitpunkt gibt es
eine Kette von Zeigern auf dem Weg von der Wurzel zur Residenzmenge, d.h. jeder Knoten auf dem Weg von der Wurzel zur Residenzmenge kennt seinen Nachfolger auf diesem Weg. Somit kann jede Lese-/Schreibanfrage auf dem kürzesten
Weg zur Residenzmenge gelangen, indem die entsprechende Nachricht zunächst
in Richtung Wurzel des Baumes läuft und dann den Zeigern zur Residenzmenge
5
folgt. Beachte, dass diese Zeiger im Falle einer Migration ohne weitere Kommunikation aktualisiert werden können, da die betroffenen Knoten auf dem Migrationspfad liegen und somit die Migration beobachten können.
Für Schreibzugriffe muss nicht nur ein sondern alle Knoten der Residenzmenge lokalisiert werden. Dazu speichern die Knoten in der Residenzmenge jeweils
ab, welche Nachbarn ebenfalls zur Residenzmenge gehören.
4 Deterministische untere Schranke für FAP
Die folgende untere Schranke zeigt, dass der obige Online-Algorithmus für FAP
auf Bäumen optimal ist, denn selbst auf einer einzelnen Kante kann man keinen
besseren Faktor als drei erreichen.
Theorem 4.1 Betrachte FAP auf einer Kante (a, b) der Länge eins. Jeder deterministische Online-Algorithmus ALG hat eine Kompetitive-Ratio von mindestens
drei.
Beweis. Die jeweils zuletzt erzeugte Kopie von ALG bezeichnen wir als neueste
Kopie. Wir betrachten die folgenden drei Offline-Strategien.
• Strategie A hält immer eine Kopie auf a.
• Strategie B hält immer eine Kopie auf b.
• Strategie C hält immer eine Kopie auf demjenigen Knoten, auf dem sich
nicht die neueste Kopie von ALG befindet.
Die Anfragesequenz σ sieht wie folgt aus.
• Wenn ALG auf einem Knoten x ∈ {a, b} keine Kopie hat, dann folgt als
nächstes eine Leseanfrage r(x).
• Wenn ALG auf beiden Knoten a und b Kopien hat, dann folgt als nächstes
eine Schreibanfrage w(x), wobei x derjenige Knoten ist, auf dem sich nicht
die neuste Kopie von ALG befindet.
Die Offline-Strategien A und B haben keine Migrationskosten. Die Migrationskosten der Offline-Strategie C entsprechen genau den Migrationskosten von
ALG. Also haben die drei Offline-Strategien zusammen dieselben Migrationskosten wie ALG. Bei den Servicekosten ist die Situation ähnlich. ALG hat in jedem
Schritt Servicekosten eins. Dasselbe gilt für die drei Offline-Strategien zusammen.
Also gilt
ALG(σ ) = A(σ ) + B(σ ) + C(σ ) ≥ 3 · OPT(σ ) .
6
5 FAP auf allgemeinen Graphen
Auf allgemeinen Graphen ist dynamisches Datenmanagement wesentlich komplexer als auf Baumnetzwerken, da die Wege zwischen Knoten nicht mehr eindeutig
sind, und somit auch die Wahl der Routingwege in das Problem einbezogen werden muss. Dieser Aspekt erschwert das Datenmanagement in fast jeder Hinsicht,
angefangen bei der Platzierung der Kopien bis hin zum Data-Tracking. Wir lösen
dieses Problem indem wir die zuvor beschriebenen Baumalgorithmen auf anderen Netzwerken simulieren. Dazu werden wir eine Methode vorstellen, allgemeine Metriken durch so genannte Baummetriken zu approximieren. Diese Methode
kann nicht nur auf FAP sondern auch auf zahlreiche andere Optimierungsprobleme angewendet werden. Die Voraussetzung ist, dass sich die Gesamtkosten einer
Lösung als Linearkombination der Kosten einzelner Kanten beschreiben lässt.
5.1 Deterministische Approximation von Metriken
Wie auch bei vielen anderen Problemen, basiert das Kostenmodell für FAP auf
den Distanzen zwischen Knoten in einem Graphen G = (V, E) mit nicht-negativen
Kantenlängen. Die konkrete Graphtopologie ist dabei unwesentlich. Um die Kosten zu ermitteln, wird eigentlich nur die durch G erzeugte Metrik M benötigt. Für
jedes Knotenpaar u, v ∈ V beschreibt M die Distanz dM (u, v) zwischen u und v.
Allgemein erfüllt eine Metrik M über einer Knotenmenge V die folgenden Bedingungen.
• Für alle u, v ∈ V gilt: dM (u, v) ≥ 0 (Nicht-Negativität)
• Für alle u, v ∈ V gilt: dM (u, v) = dM (v, u) (Symmetrie)
• Für alle u, v, w ∈ V gilt: dM (u, w) ≤ dM (u, v) + dM (v, w) (Dreiecksungleichung)
Im Folgenden definieren wir, was es bedeutet, eine Metrik durch eine andere
Metrik zu approximieren. Eine Metrik N über V dominiert eine Metrik M über
V , falls für jedes u, v ∈ V gilt dN (u, v) ≥ dM (u, v). Eine Metrik N über V α approximiert eine Metrik M über V , falls sie M dominiert und für alle u, v ∈ V
gilt dN (u, v) ≤ α dM (u, v).
Eine Metrik N über V ist eine Baummetrik, falls es einen Baum T = (V, E)
gibt, der die Metrik N erzeugt. Wir möchten allgemeine Metriken durch Baummetriken approximieren. Die folgende untere Schranke zeigt, dass dies deterministisch nicht sinnvoll funktionieren kann.
Theorem 5.1 Für jedes n ∈ N gibt es eine Metrik M über n Knoten, so dass für
jede Baummetrik N über n Knoten gilt, falls M durch N α -approximiert wird, gilt
α = Ω(n).
7
5.2 Probabilistische Approximation von Metriken
Eine probabilistische α -Approximation einer Metrik M über V durch Baummetriken ist definiert durch eine Menge von Baummetriken S über V mit einer assoziierten Wahrscheinlichkeitsverteilung P : S → [0, 1], die die folgenden Bedingungen erfüllt:
• Jede Baummetrik N ∈ S , dominiert die Metrik M.
• Für ein zufällig gemäß P gewähltes N ∈ S gilt: E [dN (u, v)] ≤ α · dM (u, v)
für alle u, v ∈ V .
Bartal hat gezeigt, dass es für jede Metrik M über eine Knotenmenge V eine
probabilistische O(log |V | log log |V |)-Approximation durch Baummetriken gibt.
Das folgende leicht verbesserte Ergebnis geht zurück auf Fakcharoenphol, Rao
und Talwar.
Theorem 5.2 Für jede Metrik M über eine Knotenmenge V gibt es eine probabilistische O(log |V |)-Approximation durch Baummetriken.
Dieses Ergebnis ist optimal, denn es gibt eine Metrik M für die es nachweisbar keine probabilistische o(log |V |)-Approximation durch Baummetriken gibt.
Wir werden diesen Satz nicht in seiner Allgemeinheit beweisen, sondern uns die
grundlegende Beweisidee anhand eines relativ einfachen Beispiels klarmachen.
Als Beispiel betrachten wir die Metrik M, die durch den zwei-dimensionalen
(n × n)-Torus G = (V, E), mit V = {0, . . . n − 1}2 ,
E = {{(x, y), ((x + 1) mod n, y)}, {(x, y), (x, (y + 1) mod n)}|(x, y) ∈ V }
und uniformen Kantenlängen, erzeugt wird.
Theorem 5.3 Sei n = 2d . Für die (n × n)-Torusmetrik M über V = {0, . . . n − 1}2
gibt es eine probabilistische 8d-Approximation durch Baummetriken.
Beweis. Durch eine hierarchische Partitionierung des Torus definieren wir zunächst einen Dekompositionsbaum. Dazu teilen wir den Torus in vier disjunkte
( n2 × n2 )-Teilgitter, die wiederum rekursiv in vier disjunkte, quadratische Teilgitter
aufgeteilt werden, bis wir einzelne Knoten erreichen. Mit dieser Partitionierung
ist ein 4-ärer Dekompositionsbaum der Tiefe d verbunden, in dem die Wurzel den
gesamten Torus und jeder Knoten auf Ebene i ∈ {1, . . . d} dieses Baumes jeweils
ein Teilgitter mit Seitenlänge n/2i repräsentiert.
In jedem dieser Teilnetzwerke wählen wir jetzt iterativ einen Leiter. Wir beginnen mit den Teilgittern auf Ebene d des Dekompositionsbaumes. Als Leiter solch
8
eines Teilgitters, das nur aus einem Knoten besteht, wählen wir diesen einen Knoten. Nachdem wir die Leiter auf Ebene i ∈ {1, . . . d} bestimmt haben, widmen wir
uns der Ebene i − 1. Als Leiter eines Teilgitters S auf Ebene i − 1 wählen wir
einen beliebigen Knoten aus der Menge der Leiter der Teilgitter auf Ebene i, in
die S partitioniert wird. Die Distanz dieses Leiters zu einem beliebigen Knoten in
S ist durch 2n/2i−1 beschränkt.
Wir beschriften nun die Knoten des Dekompositionsbaumes. Jeder Baumknoten erhält das Label des Leiters im jeweiligen Teilgitter. Beachte, dass einzelne
Label im Baum mehrfach vorkommen können, während sie im Torus eindeutig
sind. Als nächstes weisen wir den Baumkanten Distanzwerte zu. Eine Kante zwischen zwei Baumknoten mit Label u und v erhält die Distanz der gleichnamigen
Knoten im Torusnetzwerk. Kanten, deren inzidente Knoten dasselbe Label tragen,
erhalten dabei den Distanzwert 0.
Wenn wir nun Baumknoten mit gleichem Label miteinander identifizieren, so
erhalten wir eine Baummetrik N über V = {0, . . . n − 1}2 , die die Torusmetrik
M dominiert, weil für jede Kante im Baum ein Weg gleicher Länge im Torus
existiert, so dass gilt dM (u, v) ≤ dN (u, v) für alle u, v ∈ V . Beachte, dass diese
Aussage gilt, weil wir die Leiter so gewählt haben, dass der Graph, der jeweils
durch Baumknoten mit gleichem Label induziert wird, zusammenhängend ist.
Die oben beschriebene Dekomposition ist nicht eindeutig, da wir die Koordinaten der Partionierung auf der obersten Rekursionsebene nicht festgelegt haben.
Tatsächlich gibt es n2 Möglichkeiten für die Partitionierung auf der obersten Rekursionsebene. Sobald dieser erste Partionierungsschritt jedoch festgelegt ist, sind
auch die nachrangigen Partionierungen eindeutig bestimmt. Tatsächlich erhalten
wir also eine Familie von n2 Dekompositionsbäumen mit verschiedenen Beschriftungen von denen jeder eine unterschiedliche Baummetrik über V erzeugt, die die
Torusmetrik M dominiert. Um eine probabilistische Approximation von M zu erhalten, definieren wir jetzt, dass die Menge S eben aus diesen n2 verschiedenen
Baummetriken besteht. Als Wahrscheinlichkeitsverteilung über S wählen wir die
uniforme Verteilung.
Wir müssen nun die erwartete Distanz zwischen zwei beliebigen Knoten aus
V bezüglich einer zufällig aus S gewählten Metrik N abschätzen und beweisen,
dass die erwartete Distanz in N höchsten 8d mal so groß ist wie die Distanz in der
Torusmetrik M. Seien u = (u1 , u2 ) und v = (v1 , v2 ) beliebig gewählte Knoten aus
V . Bezeichne δ1 die Distanz zwischen diesen beiden Knoten bezüglich der ersten
Koordinate (Zeilen) im Torus und δ2 die Distanz bezüglich der zweiten Koordinate (Spalten). Um eine obere Schranke für dN (u, v) zu erhalten, ist es jetzt sinnvoll
sich den Dekompositionsbaum wieder als vollständigen 4-ären Baum der Tiefe d
vorzustellen. Wir identifizieren u und v mit den Blättern, die das entsprechende
Label tragen.
9
Die Wahrscheinlichkeit, dass u und v durch die horizontale Partitionierung des
Torus auf der obersten Rekursionsebene getrennt werden, ist höchstens 2δ1 /n, da
auf dieser Ebene zwei horizontale Schnitte vorgenommen werden, und jeder dieser Schnitte eine der δ1 Kantenschichten, die zwischen den Zeilen von u und v
liegen, mit Wahrscheinlichkeit δ1 /n durchtrennt. Für die vertikale Partitionierung
ist die entsprechende Wahrscheinlichkeit höchstens 2δ2 /n. Bezogen auf den Dekompositionsbaum schließen wir, dass der kürzeste Weg zwischen u und v die
Wurzel mit Wahrscheinlichkeit höchstens 2(δ1 + δ2 )/n enthält. Allgemein gilt,
die Wahrscheinlichkeit, dass der kürzeste Weg zwischen den beiden Knoten u und
v einen Knoten von Ebene i des Dekompositionsbaumes enthält, ist höchstens
2i+1 · (δ1 + δ2 )/n, da 2i+1 horizontale und 2i+1 vertikale Schnitte vorgenommen
werden, die zur Aufteilung von u und v in verschiedene Teilbäume unterhalb der
Ebene i führen.
Daraus berechnen wir jetzt welche Baumkanten mit welcher Wahrscheinlichkeit überschritten werden. Wir definieren, dass die Baumkanten auf Schicht i für
i ∈ {0, . . . d − 1} zwischen den Knoten der Ebene i und den Knoten der Ebene i + 1
verlaufen.
• Mit Wahrscheinlichkeit höchstens 2i+1 · (δ1 + δ2 )/n führt der kürzeste Weg
von u nach v über Kantenschicht i.
• Von jeder Kantenschicht werden maximal zwei Kanten benutzt.
• Die Kanten aus Schicht i haben Länge höchsten 2n/2i .
Daraus ergibt sich
E [dN (u, v)] =
d−1 i+1
2 · (δ
∑
i=0
1 + δ2 )
n
·2·
2n
= 8d · (δ1 + δ2 ) = 8d · dM (u, v) .
2i
5.3 Randomisierter Online-Algorithmus
Aus der obigen Approximation von allgemeinen Metriken durch Baummetriken
konstruieren wir einen randomisierten Algorithmus für FAP auf allgemeinen Graphen. Der randomisierte Online-Algorithmus für FAP auf einem Graphen G =
(V, E) arbeitet wie folgt. Sei M die durch G erzeugte Metrik. In einem Preprocessing wird die für eine α -Approximation von M benötigte Menge von Baummetriken S sowie die zugehörige Wahrscheinlichkeitsverteilung P berechnet. Eine
zufällige Baummetrik N wird aus S gemäß P gewählt und ein Baum T = (V, ET )
wird konstruiert, der diese Metrik erzeugt. Dann wird der in Satz 3.3 beschriebenen 3-kompetitiven Baumalgorithmus A für T simuliert.
Lemma 5.4 Der obige Algorithmus ist 3α -kompetitive.
10
Beweis. Fixiere eine Anfragesequenz σ . Für einen Algorithmus B und eine Metrik Q bezeichne CBQ die Kosten£ von¤ B auf σ unter Q. Wir werden beweisen, dass
für jeden Algorithmus B gilt E CAM ≤ 3α ·CBM . Aus dieser Behauptung folgt unmittelbar, dass der Algorithmus 3α -kompetitive ist.
Sei B ein beliebiger Algorithmus. Die Gesamtkosten beim FAP lassen sich als
eine Linearkombination von Kosten einzelner Kanten interpretieren. Insbesondere
können wir die Kosten von B auf die Knotenpaare umlegen, d.h. wir können jedem
Knotenpaar u, v ∈ V einen absoluten Kostenwert CB (u, v) zuordnen, so dass für
jede Metrik Q gilt
CBQ = ∑ CB (u, v) · dQ (u, v) .
u,v∈V
Für Algorithmus B auf der zufällig ausgewählten Metrik N gilt somit
"
#
£ N¤
E CB = E ∑ CB (u, v) · dN (u, v)
u,v∈V
=
∑
CB (u, v) · E [dN (u, v)]
∑
CB (u, v) · α · dM (u, v)
u,v∈V
≤
u,v∈V
= α ·CBM .
£ M¤
£ N¤
Aufgrund der Dominanz
von
N
über
M,
ist
E
C
≤
E
CA . Weil A 3-kom£ ¤
£
¤
£A ¤
petitive für N ist, gilt E CAN ≤ E 3 ·CBN = 3 · E CBN . Insgesamt erhalten wir
somit
£ ¤
£ ¤
£ ¤
E CAM ≤ E CAN ≤ 3 · E CBN ≤ 3α ·CBM .
Das obige Lemma zusammen mit Satz 5.2 liefert das folgende Ergebnis.
Korollar 5.5 Für jeden Graphen G = (V, E) gibt es einen verteilten, randomisierten Online-Algorithmus für FAP der O(log |V |)-kompetitive ist.
11
Herunterladen