Skript - Professur für Theoretische Informatik

Werbung
Vorlesung
Internet Algorithmen
SS 2014
Prof.Dr. Georg Schnitger
30. Mai 2014
Hinweise auf Fehler und Anregungen zum Skript bitte an
[email protected]
Mit einem Stern gekennzeichnete Abschnitte werden in der Vorlesung nur kurz angesprochen.
Inhaltsverzeichnis
1 Einführung
1.1 Notation . . . . . . . . . . . . .
1.2 Wichtige Ungleichungen . . . .
1.3 Graphen . . . . . . . . . . . . .
1.4 Grundlagen aus der Stochastik
1.5 Lineare Programmierung . . . .
I
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Die Bearbeitung großer Datenmengen
2 Suchmaschinen
2.1 Die Architektur von Suchmaschinen . . .
2.2 Google . . . . . . . . . . . . . . . . . . . .
2.2.1 Markoff-Ketten . . . . . . . . . . .
2.2.2 Berechnung des Page-Rank . . . .
2.2.3 Inhalt-abhängiger Page-Rank . . .
2.3 Hubs und Authorities . . . . . . . . . . .
2.3.1 Inhalt-abhängige Suche . . . . . .
2.4 Meta-Suchmaschinen . . . . . . . . . . . .
2.4.1 Der Unmöglichkeitssatz von Arrow
2.4.2 Die Kendall-Distanz . . . . . . . .
2.5 Das Semantische Netz . . . . . . . . . . .
2.6 Zusammenfassung . . . . . . . . . . . . .
7
8
9
10
12
22
25
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
27
27
28
29
31
33
34
37
38
39
42
45
46
3 Hashing für Web-Anwendungen
3.1 Verteiltes Hashing in Peer-to-Peer Netzwerken: CHORD . . . . .
3.2 Ähnlichkeitsbestimmung . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 Min-Hashing . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2 Wann existieren ähnlichkeitsbewahrende Hashfunktionen?
3.3 Bloom-Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
49
49
52
54
55
57
60
61
4 Streaming Data
4.1 Stichproben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Häufigkeitsmomente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Streaming-Data und Kommunikation . . . . . . . . . . . . . . . . . . .
63
64
68
68
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
INHALTSVERZEICHNIS
4.3
4.4
4.5
II
4.2.2 Die Bestimmung von H0 . . . . . . . . . . . . .
4.2.3 Die Bestimmung von H2 . . . . . . . . . . . . .
Häufigkeitsanfragen . . . . . . . . . . . . . . . . . . . .
4.3.1 Heavy Hitters . . . . . . . . . . . . . . . . . . .
4.3.2 Der Bloom-Filter Sketch . . . . . . . . . . . . .
4.3.3 Häufigkeitseigenschaften . . . . . . . . . . . . .
Algorithmen für Zeitfenster: Zählen der letzten Einsen
Histogramme . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
71
74
77
77
79
82
83
85
Internet Routing
91
5 Routing
5.1 Routing Tabellen . . .
5.2 Intra-Domain Routing
5.3 Inter-Domain Routing
5.4 Multicast Routing . .
.
.
.
.
95
95
95
98
100
.
.
.
.
103
104
108
112
115
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6 Queueing-Strategien
6.1 Stabilität . . . . . . . . . . . . . . . .
6.2 Instabile Queueing-Strategien . . . . .
6.3 Queuegröße . . . . . . . . . . . . . . .
6.4 Eine randomisierte Queueing-Strategie
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7 Erasure Codes
119
7.1 Informationsrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
7.2 Berechnung der Grad-Sequenzen . . . . . . . . . . . . . . . . . . . . . . . . . 123
7.3 Leistungsdaten der Tornado Codes . . . . . . . . . . . . . . . . . . . . . . . . 127
8 End-to-End Congestion Control
131
8.1 AIMD für eine Ressource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
8.2 Alternative Geschwindigkeitsregeln . . . . . . . . . . . . . . . . . . . . . . . . 139
9 IP-Traceback
143
III
151
Die Theorie nicht-kooperativer Spiele
10 Algorithmische Spieltheorie
11 Das
11.1
11.2
11.3
Nash-Gleichgewicht
Soziale und Pareto-optimale Strategieprofile . . .
Gemischte Strategien . . . . . . . . . . . . . . . .
Dominante Strategien und ehrliche Mechanismen
11.3.1 Auktionen . . . . . . . . . . . . . . . . . .
11.3.2 Eine Investitionsentscheidung . . . . . . .
11.3.3 Ein Routing Spiel . . . . . . . . . . . . .
11.4 Beschränkte Rationalität . . . . . . . . . . . . . .
153
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
157
159
161
165
165
166
167
169
INHALTSVERZEICHNIS
12 Die
12.1
12.2
12.3
12.4
5
Berechnung von Nash-Gleichgewichten
Zweipersonen-Nullsummenspiele . . . . . . . . . . . . . . .
Der Lemke-Howson Algorithmus . . . . . . . . . . . . . . .
Fixpunktsätze . . . . . . . . . . . . . . . . . . . . . . . . . .
Wie schwer ist die Bestimmung von Nash-Gleichgewichten?
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
13 Der Preis der Anarchie
14 Auktionen
14.1 Multi-Unit Auktionen: k Exemplare . . . . .
14.2 Multi-Unit Auktionen: Unbeschränkte Anzahl
14.3 Kombinatorische Auktionen . . . . . . . . . .
14.3.1 Gebotformulierung . . . . . . . . . . .
14.3.2 Zuteilung im Verkäuferproblem . . . .
14.3.3 Zuteilung bei ehrlichen Auktionen . .
14.4 Äquivalenz der Einkünfte . . . . . . . . . . .
Literaturverzeichnis
173
173
176
182
186
189
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
197
198
202
210
211
213
215
220
225
6
INHALTSVERZEICHNIS
Kapitel 1
Einführung
Das Skript ist in die drei folgenden Themengebiete unterteilt:
I Bearbeitung großer Datenmengen,
II Internet Routing und
III algorithmische Spieltheorie.
Im ersten Teil betrachten wir zuerst Suchmaschinen und beschreiben das Page-Rank-Verfahren
von Google sowie den Hubs-Authorities Ansatz von Kleinberg. Im Kapitel 3 untersuchen wir
verteilte Hashing-Verfahren, ähnlichkeitsbewahrendes Hashing sowie speicherplatz-effizientes
Hashing und wenden die entsprechenden Methoden auf besonders Daten-reiche Probleme im
verteilten Rechnen an. In Kapitel 4 untersuchen wir das Streaming Data Modell: Große Datenmengen sind in Echtzeit zu bewältigen, wobei wir annehmen müssen, dass uns nur ein
einziger Datendurchlauf zur Verfügung steht. Wir entwickeln algorithmische Lösungen vorwiegend für die statistische Datenanalyse, und zeigen in vielen Fällen, dass unsere Lösungen
(fast-)optimal sind.
Der zweite Teil befasst sich mit dem Internet Routing. Nach einer kurzen Einführung in das
Internet Protokoll (IP), das Transmission Control Protokoll (TCP) sowie in das Intra-Domain
und Inter-Domain Routing beginnen wir mit einer Untersuchung von Queueing Strategien
für Router in Abschnitt 6. Nach dem Unicast Routing Problem, also dem Versenden einer
Nachricht von einem Sender an einen Empfänger, besprechen wir auch kurz das Multicast
Routing Problem, in dem ein multimedialer Datenstrom (Video on Demand, Interaktives
Fernsehen, Live Übertragungen) von einem Sender an mehrere Empfänger zu verschicken ist.
Wir stellen den Tornado Code detailliert vor, der durch eine redundante Daten-Kodierung in
Echtzeit die Netzbelastung wesentlich reduziert.
In Abschnitt 8 beschreiben und analysieren wir die Additive Increase, Multiplicative Decrease
Strategie, mit der TCP die Emissionsrate eines Senders der Netzbelastung anpasst, und skizzieren alternative Methoden der Verkehrssteuerung im Internet. Wir schließen in Abschnitt 9
mit einer Betrachtung von Verfahren zur Bekämpfung von Denial-of-Service Attacken.
Das Internet wird von einer Vielzahl von Personen und Institutionen betrieben und genutzt,
die angetrieben von eigenen, meist wirtschaftlichen Interessen miteinander agieren, Koalitionen bilden, aber auch konkurrieren. Daher scheint es naiv zu erwarten, dass Ressourcen gerecht
geteilt werden und dass sich Rechner stets an vorgegebene Protokolle halten. Wir betrachten
7
8
KAPITEL 1. EINFÜHRUNG
deshalb im dritten und letzten Teil die algorithmische Spieltheorie, um den Egoismus-Aspekt
der beteiligten Akteure (oder Spieler) untersuchen zu können. Wir beschränken uns auf die
nicht-kooperativen Spieltheorie und nehmen an, dass die Spieler miteinander konkurrieren
ohne Koalitionen bilden zu können.
Nash-Gleichgewichte beschreiben Spielkonfigurationen, die im gewissen Sinne für alle Spieler
profitabel sind. Wesentliche Fragestellungen in Kapitel 11 betreffen die Existenz von NashGleichgewichten (Abschnitte 12.1 und 12.3) sowie ihre Berechnung (Abschnitt 12.2). Die
Berechnung optimaler Spielstrategien verlangt Spieler mit unbeschränkter Rechenkraft, und
wir untersuchen deshalb in Abschnitt 11.4 die Konsequenz beschränkter Rechenkraft.
Dann wenden wir den Begriff des Nash-Gleichgewichts an, um verschiedene Varianten von
TCP evaluieren und um den Effekt des egoistischen Routings im Kapitel 13 zu untersuchen.
Textbücher:
- In der algorithmischen Spieltheorie ist das über das Internet frei erhältliche, bei Cambridge University Press erschienene Textbuch „Algorithmic Game Theory“ von N. Nisan, T. Roughgarden, E. Tardos und V. Vazirani zu empfehlen.
- Im ebenfalls bei Cambridge University Press erschienen Text von D. Easley und J.
Kleinberg, „Network Crowds and Markets: Reasoning about a highly connected world“
werden Grundzüge der algorithmischen Spieltheorie und der Suchmaschinen behandelt.
1.1
Notation
R bezeichnet die Menge der reellen Zahlen, R≥0 , die Menge der nicht-negativen reellen Zahlen,
Q die Menge der rationalen Zahlen und N die Menge der natürlichen Zahlen.
Für eine reelle Zahl x ist bxc die größte natürliche Zahl kleiner oder gleich x und dxe die
kleinste natürliche Zahl größer oder gleich x.
Wir benutzen die asymptotische Notation, um den Ressourcenbedarf für große Eingabelängen
zu analysieren. Für zwei Funktionen f, g : N → R≥0 schreiben wir
(a) f = O(g), falls f (n) ≤ cg(n) für alle n ≥ N , wobei N eine ausreichend große natürliche
Zahl und c > 0 eine passend gewählte Konstante ist.
(b) f = Ω(g), falls g = O(f ).
(c) f = Θ(g), falls f = O(g) und g = O(f ).
(d) f = o(g), falls limn→∞
(e) f ∼ g, falls limn→∞
f (n)
g(n)
f (n)
g(n)
= 0.
= 1.
Das innere Produkt hx, yi von zwei Vektoren x = (x1 , . . . , xn ) and y = (y1 , . . . , yn ) in Rn wird
durch
hx, yi = x1 · y1 + · · · + xn · yn .
p
definiert und die Euklid’sche Norm ||x|| durch ||x|| = hx, xi.
Eine reell-wertige Funktion f (x) ist genau dann konvex (bzw. konkav), wenn
f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y) (resp. f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y))
1.2. WICHTIGE UNGLEICHUNGEN
9
für jedes 0 ≤ λ ≤ 1 gilt. Die Konvexität von f bedeutet geometrisch gesehen, dass eine Gerade
mit den Endpunkten (x, f (x)) und (y, f (y)) stets oberhalb der Kurve liegt. Deshalb ist es für
die Konvexität ausreichend, wenn die zweite Ableitung nicht-negativ ist.
1.2
Wichtige Ungleichungen
Die Ungleichung von Cauchy-Schwartz besagt, dass das innere Produkt von zwei Vektoren
der Länge Eins durch Eins beschränkt ist.
Lemma 1.1 Es seien x und y Vektoren im Rn . Dann gilt
hx, yi ≤ ||x|| · ||y||.
Beweis: Wir betrachten das innere Produkt hu, vi von zwei Vektoren u und v der Norm
1. Der Wert des inneren Produkts stimmt mit dem Kosinus des Winkels zwischen u und v
y
x
überein und ist deshalb durch 1 nach oben beschränkt. Also folgt h ||x||
, ||y||
i ≤ 1 und damit
die Behauptung.
Wir benötigen auch eine Abschätzung von 1 ± x durch die e-Funktion.
Lemma 1.2 Für jedes x > −1 gilt
ex/(1+x) ≤ 1 + x ≤ ex .
Darüberhinaus gilt 1 + x ≤ ex für alle x ∈ R.
Beweis: Wir beschränken uns zuerst auf den Fall x ≥ 0. Der natürliche Logarithmus ist eine
konkave Funktion und deshalb ist die Steigung der Sekante in den Punkten 1 und 1 + x durch
die Tangentensteigungen in den Punkten 1 nach oben und 1 + x nach unten beschränkt. Dies
liefert die Ungleichung
1
ln(1 + x) − ln(1)
ln(1 + x)
≤
=
≤1
1+x
(1 + x) − 1
x
(1.1)
x
≤ ln(1 + x) ≤ x.
1+x
(1.2)
oder äquivalent
Die erste Behauptung folgt also für x ≥ 0 durch Exponentieren. Für x ∈] − 1, 0] brauchen wir
nur zu beachten, dass diesmal die Ungleichung
1≤
ln(1 + x) − ln(1)
1
≤
(1 + x) − 1
1+x
gilt: Das Argument ist analog zur Ableitung von Ungleichung (1.1). Wir erhalten jetzt wieder
Ungleichung (1.2), und damit die Behauptung, wenn wir (1.1) mit der negativen Zahl x
multiplizieren.
Damit gilt aber auch 1 + x ≤ ex für alle reellen Zahlen, da 1 + x für x ≤ −1 negativ und ex
stets positiv ist.
Wie verhält sich die “Konvexitätsungleichung”, wenn wir eine konvexe Funktion auf eine
Summe von mehr als zwei Termen anwenden?
10
KAPITEL 1. EINFÜHRUNG
Lemma 1.3 (Jensen’s Ungleichung) Wenn 0 ≤ λi ≤ 1,
ist, dann gilt
f
X
r
λi xi ≤
i=1
r
X
Pr
i=1 λi
= 1 und wenn f konvex
λi f (xi ).
i=1
Beweis: Wir führen eine Induktion nach der Anzahl r der Terme. Die Basis r = 2 ist offensichtlich richtig, da f konvex ist. Für den Induktionsschritt von r auf r + 1 ersetzen wir die
Summe der beiden Terme λ1 x1 + λ2 x2 durch den einen Term
λ1
λ2
(λ1 + λ2 )
x1 +
x2 = (λ1 + λ2 ) · x02
λ1 + λ2
λ1 + λ2
und können dann die Induktionshypothese auf x02 , x3 , . . . , xn anwenden.
Wir erhalten jetzt sofort eine wichtige Beziehung zwischen dem arithmetischen und dem
geometrischen Mittel.
Lemma 1.4 a1 , . . . , an seien nicht-negative Zahlen. Dann gilt
n
1X
ai ≥
n i=1
Y
n
1/n
ai
.
(1.3)
i=1
Beweis: Wir setzen f (x) = 2x , λ1 = . . . = λn = 1/n und xi = log2 ai , für alle i = 1, . . . , n.
Nach Jensen’s Ungleichung folgt
n
n
n
X
X
1X
ai =
λi f (xi ) ≥ f
λi xi
n i=1
i=1
i=1
!
Pn
= 2(
x /n
i=1 i )
=
n
Y
!1/n
ai
.
i=1
Die beiden letzten Ungleichung sind für die Abschätzung von Binomialkoeffizienten wichtig.
Lemma 1.5 (a) Die Stirling Formel besagt
n! =
n √
n
1
1
· 1+
+ O( 2 ) .
2π · n ·
e
12 · n
n
(b) Es ist
n
k
1.3
!
=
n!
≤
k! · (n − k)!
n·e
k
k
.
Graphen
Ein ungerichteter Graph ist ein Paar G = (V, E), das aus einer Knotenmenge V und einer
Kantenmenge E besteht, wobei alle Kanten Teilmengen von V der Größe zwei sind. Wir sagen,
dass ein Knoten v mit der Kante e inzident ist, wenn v ∈ e. Die beiden mit einer Kanten e
inzidenten Knoten sind die Endpunkte von E. Zwei Knoten u, v ∈ V heißen adjazent, oder
benachbart, wenn {u, v} eine Kante von G ist. In einem gerichteten Graphen sind Kanten
geordnete Paare, d.h. es gilt stets E ⊆ V 2 , und wir haben die Möglichkeit den Anfangs- und
1.3. GRAPHEN
11
Endpunkt einer Kante auszuzeichnen. Der Knoten v heißt ein Nachbar (oder Nachfolger) von
u, falls (u, v) ∈ E.
Die Anzahl der Nachbarn eines Knotens u ist der Grad von u. Der Grad eines Graphen ist
der maximale Grad eines Knotens.
Ein Spaziergang der Länge k in G ist eine Folge v0 , e1 , v1 . . . , ek , vk von Knoten und Kanten,
so dass ei = {vi−1 , vi } ∈ E, bzw. (vi−1 , vi ) ∈ E. Ein Spaziergang ohne wiederholte Knoten
ist ein Weg. Ein Kreis der Länge k ist ein Spaziergang v0 , . . . , vk der Länge k mit v0 = vk
und der Eigenschaft, dass v0 , . . . , vk−1 ein Weg ist. Die Distanz zwischen zwei Knoten ist die
minimale Länge eines Weges zwischen den beiden Knoten.
Abbildung 1.1: Der erste Graph ist ein Kreis der Länge 5. Der zweite Graph besteht aus zwei
Kreisen der Länge 3.
Ein Hamilton-Kreis ist ein Kreis, der jeden Knoten genau einmal durchläuft. Ein Euler-Kreis
ist ein Spaziergang, der zu seinem Anfangsknoten zurückkehrt und jede Kante genau einmal
durchläuft.
Eine Knotenmenge in einem ungerichteten Graphen ist zusammenhängend, wenn je zwei Knoten der Menge durch einen Weg verbunden sind. Eine Zusammenhangskomponente ist eine
größte zusammenhängende Knotenmenge.
Ein Wald ist ein ungerichteter Graph ohne Kreise. Ein Baum ist ein zusammenhängender
Wald. (Mit anderen Worten, ein Wald ist eine knoten-disjunkte Vereinigung von Bäumen.)
Abbildung 1.2: Ein Wald, der aus drei Bäumen besteht.
In einem Baum mit Wurzel wird genau ein Knoten als Wurzel ausgezeichnet. Wenn der Weg
von der Wurzel zum Knoten w die Kante {v, w} benutzt, dann heißt w ein Kind von v und v
der Vater von w. Knoten vom Grad 1 heißen Blätter. Die Tiefe eines Knotens ist die Länge
des Weges von der Wurzel bis zu dem Knoten. Die Tiefe eines Baums ist die größte Tiefe
eines Blatts. Ein Baum heißt binär, wenn die Wurzel den Grad zwei und jedes Nicht-Blatt
den Grad drei besitzt. Ein vollständiger binärer Baum der Tiefe T ist ein binärer Baum, in
dem alle Blätter die Tiefe T besitzen.
Ein vollständiger Graph oder eine Clique ist ein Graph, in dem je zwei Knoten adjazent sind.
Eine unabhängige Menge ist eine Knotenmenge, in der je zwei Knoten nicht durch eine Kante
12
KAPITEL 1. EINFÜHRUNG
r
v
a
b
w
u
Abbildung 1.3: Ein Baum mit Wurzel der Tiefe 3; u und w sind Kinder des Vaters v.
verbunden sind. Ein Graph ist bipartit, wenn seine Knotenmenge in zwei unabhängige Mengen
zerlegt werden kann.
Eine legale Färbung eines ungerichteten Graphen G = (V, E) ist eine Farbzuweisung an
die Knoten, so dass adjazente Knoten verschiedene Farben erhalten. Eine legale Färbung
zerlegt somit die Knotenmenge in unabhängige Mengen. Die minimale Farbenzahl, die für die
Färbung eines Graphen G benötigt wird, heißt die chromatische Zahl χ(G) von G.
Aufgabe 1
(a) Zeige, dass die Tiefe eines binären Baums mit n Blättern mindestens dlog2 ne beträgt.
(b) Sei B ein binärer Baum mit N Blättern und sei Ti die Tiefe des iten Blatts. Zeige die sogenannte Kraft’sche
Ungleichung
n
X
2−Ti ≤ 1.
i=1
Hinweis: Assoziere einen binären String mit jedem Blatt.
1.4
Grundlagen aus der Stochastik
Ein endlicher Wahrscheinlichkeitsraum besteht aus einer endlichen Menge Ω (dem Stichprobenraum) und einer Funktion
prob : Ω → [0, 1]
P
(der Wahrscheinlichkeitsverteilung), so dass x∈Ω prob [x] = 1. Der Wahrscheinlichkeitsraum
repräsentiert das Zufallsexperiment, ein Element von Ω auszuwählen und prob [x] ist die
Wahrscheinlichkeit, dass x gewählt wird.
Die Elemente x ∈ Ω heißen Stichproben und Teilmengen A ⊆ Ω heißen Ereignisse. Die Wahrscheinlichkeit eines Ereignisses A ist
prob [A] =
X
prob [x] ,
x∈A
also die Wahrscheinlichkeit, dass ein Element mit Eigenschaft A gewählt wird. Einige elementare Eigenschaften folgen direkt aus diesen Definitionen. Für zwei Ereignisse A and B (und
das Komplement Ā = Ω \ A) gilt
(1) prob [A ∪ B] = prob [A] + prob [B] − prob [A ∩ B];
h i
(2) prob Ā = 1 − prob [A];
h i
(3) prob [A ∩ B] ≥ prob [A] − prob B̄ ;
1.4. GRUNDLAGEN AUS DER STOCHASTIK
13
(4) Wenn B1 , . . . , Bm eine Zerlegung von Ω ist, dann ist prob [A] =
(5) prob [
Sn
i=1 Ai ]
≤
Pm
i=1 prob [A
∩ Bi ].
Pn
i=1 prob [Ai ].
Besonders Eigenschaft (5) werden wir häufig benutzen. Für zwei Ereignisse A und B ist
prob [A|B] die bedingte Wahrscheinlichkeit von A gegeben B, also die Wahrscheinlichkeit,
dass Ereignis A eintritt, wenn man bereits weiß, dass Ereignis B eingetreten ist. Formal
definieren wir
prob [A ∩ B]
,
prob [A|B] =
prob [B]
falls prob [B] 6= 0. Wenn wir zum Beispiel eine Zahl aus der Menge {1, . . . , 6} zufällig ziehen
und wenn A das Ereignis ist, dass 2 die gezogene Zahl ist und B das Ereignis ist, dass die
gezogene Zahl gerade ist, dann ist prob [A|B] = 1/3, wohingegen prob [B|A] = 1 gilt.
B
A
Proportion of
in
B
Abbildung 1.4: Interpretation von prob [A|B], wenn alle Elemente gleichwahrscheinlich sind.
Zwei Ereignisse A und B heißen unabhängig, wenn prob [A ∩ B] = prob [A]·prob [B]. Beachte,
dass diese Bedingung äquivalent mit prob [A|B] = prob [A] wie auch mit prob [B|A] = prob [B]
ist. Wenn alle Elemente gleichwahrscheinlich sind, dann sind zwei Ereignisse genau dann
unabhängig, wenn der Anteil |A|/|Ω| von Ereignis A im Stichprobenraum mit dem Anteil
|A ∩ B|/|B| des Ereignisses A ∩ B im Ereignis B übereinstimmt.
Beachte, dass Unabhängigkeit nichts mit der Disjunktheit von Ereignissen zu tun hat: Wenn
zum Beispiel prob [A] > 0, prob [B] > 0 und A ∩ B = ∅ gilt, dann sind die Ereignisse A und
B abhängig!
Beispiel 1.1 Wir beschreiben das „Monty Hall Problem“. In einer Game Show ist hinter
einer von drei Türen ein Preis verborgen. Ein Zuschauer rät eine der drei Türen und der
Showmaster Monty Hall wird daraufhin eine weitere Tür öffnen, hinter der sich aber kein
Preis verbirgt. Der Zuschauer erhält jetzt die Möglichkeit, seine Wahl zu ändern. Sollte er
dies tun? Wir betrachten die Ereignisse
- Pi , dass sich der Preis hinter Tür i befindet,
- Zi , dass der Zuschauer zuerst Tür i wählt und
- Mi , dass Monty Hall Tür i nach der ersten Wahl des Zuschauers öffnet.
Wir nehmen o.B.d.A. an, dass der Zuschauer zuerst Tür 1 wählt und dass Monty Hall
daraufhin Tür 2 öffnet; desweiteren nehmen wir an, dass der Zuschauer wie auch Monty
Hall seine Wahl jeweils nach der Gleichverteilung trifft. Wir müssen die bedingten Wahrscheinlichkeiten prob[ P1 | Z1 , M2 ] und prob[ P3 | Z1 , M2 ] berechnen und beachten, dass
14
KAPITEL 1. EINFÜHRUNG
prob[ P1 | Z1 , M2 ] + prob[ P3 | Z1 , M2 ] = 1 gilt, denn der Preis befindet sich nicht hinter der
geöffneten Tür 2. Nach Definition der bedingten Wahrscheinlichkeiten ist
prob[ P1 | Z1 , M2 ] · prob[ Z1 , M2 ] = prob[ Z1 , M2 | P1 ] · prob[ P1 ] und
prob[ P3 | Z1 , M2 ] · prob[ Z1 , M2 ] = prob[ Z1 , M2 | P3 ] · prob[ P3 ].
Wir bestimmen jeweils die rechten Seiten und erhalten
1 1 1
prob[ P1 | Z1 , M2 ] · prob[ Z1 , M2 ] = ( · ) · ,
3 2 3
denn Monty Hall kann die Türen 2 und 3 öffnen. Andererseits ist
1
1
prob[ P3 | Z1 , M2 ] · prob[ Z1 , M2 ] = ( · 1) · ,
3
3
denn Monty Hall kann nur Tür 2 öffnen. Also ist
prob[ P3 | Z1 , M2 ] · prob[ Z1 , M2 ] = 2 · prob[ P1 | Z1 , M2 ] · prob[ Z1 , M2 ]
und wir erhalten prob[ P3 | Z1 , M2 ] =
seine Wahl stets ändern!
2
3
und prob[ P1 | Z1 , M2 ] = 13 : Der Zuschauer sollte
Eine Zufallsvariable ist eine Funktion X : Ω → R. Wenn zum Beispiel X eine aus der Menge
{1, . . . , n} zufällig gezogene Zahl ist, dann sind X, Y = 2X und Z = „die Anzahl der Primteiler von X“ Zufallsvariablen. Eine Indikatorvariable für das Ereignis A ist eine 0-1 wertige
Zufallsvariable mit
(
1
wenn ω ∈ A;
X(ω) =
0
sonst.
Beispiel 1.2 Die Lösung des Monty Hall Problems kann mit Hilfe von Zufallsvariablen kompakt erklärt werden: Sei W die Zufallsvariable, die die erste Wahl des Zuschauers beschreibt
und sei T die Zufallsvariable, die die richtige Tür beschreibt. Dann findet die Änderungsstrategie genau dann die richtige Tür, wenn W und T unterschiedliche Werte annehmen und
dieses Ereignis hat die Wahrscheinlichkeit 23 . Fazit: Mit höherer Wahrscheinlichkeit war die
erste Wahl schlecht und wird durch die veränderte Wahl richtig.
Zufallsvariablen X1 , . . . , Xn heißen genau dann unabhängig, wenn für alle x1 , . . . , xn ∈ R
prob[ X1 = x1 ∧ · · · ∧ Xn = xn ] =
n
Y
prob[ Xi = xi ]
i=1
gilt. Die Zufallsvariablen heißen k-fach unabhängig, wenn Xi1 , . . . , Xik für jede Teilmenge
{i1 , . . . , ik } ⊆ {1, . . . , n} von k Elementen unabhängig ist.
Beachte, dass wiederholte Experimente unabhängigen Experimenten entsprechen. Desweiteren sind unabhängige Zufallsvariablen X1 , . . . , Xn k-fach unabhängig für jedes k < n. Die
Umkehrung dieser Aussage gilt nicht.
Aufgabe 2
Konstruiere paarweise unabhängige Zufallsvariablen X1 , X2 , X3 , die aber nicht unabhängig sind.
1.4. GRUNDLAGEN AUS DER STOCHASTIK
15
Der Erwartungswert einer Zufallsvariable kann für jede reell-wertige Zufallsvariable X definiert werden und ist, intuitiv gesprochen, der zu „erwartende“ Wert, wenn wir das Zufallsexperiment X mehrfach wiederholen und das durchschnittliche Ergebnis berechnen. Formal
definieren wir den Erwartungswert von X als die Summe
E [X] =
X
i · prob [X = i]
i
über alle Werte i des Wertebereichs: Wenn wir zum Beispiel würfeln, dann ist E [X] =
i
i=1 6 = 3.5 der Erwartungswert. (An diesem Beispiel können wir beobachten, dass der
Erwartungswert von X kein Element des Wertebereichs von X sein muss!)
P6
1
2
3
4
6
7
8
Abbildung 1.5: Interpretation des Erwartungswerts als „Masse-Zentrum“”: Die Stichproben
haben das Gewicht pi = prob [X = ai ] auf der x-Achse an den Stellen ai für i = 1, . . . , n.
Erwarte nie das „Erwartete“! Und tatsächlich sagt der Erwartungswert in vielen ärgerlichen
Fällen nicht viel über das Verhalten der Zufallsvariable X aus. Der Erwartungswert ist nämlich nur dann vertrauenswürdig, wenn man zeigen kann, dass größere Abweichungen vom
Erwartungswert unwahrscheinlich sind. Die „Distanz“ zwischen einer Zufallsvariable X und
ihrem Erwartungswert misst man zum Beispiel mit der Varianz, die durch
h
i
Var [X] = E (X − E [X])2 .
definiert ist. Eine sehr wichtige Eigenschaft des Erwartungswerts ist seine Linearität.
Satz 1.6 (Linearität des Erwartungswerts.) Für Zufallsvariablen X, Y und reelle Zahlen
a, b gilt
E [a · X + b · Y ] = a · E [X] + b · E [Y ] .
Beweis: x1 , . . . , xn und y1 , . . . , ym seien Elemente des Wertebereichs von X, bzw. Y . Da für
jede reelle Zahl a
E [a · X] =
n
X
a · xi · prob [X = xi ] = a ·
i=1
n
X
xi · prob [X = xi ] = a · E [X] ,
i=1
gilt, genügt der Nachweis von E [X + Y ] = E [X] + E [Y ]. Da die Ereignisse Y = yj für
P
verschiedene yj ’s disjunkt sind, folgt prob [X = xi ] = m
j=1 prob [X = xi , Y = yj ] , und ein
ähnliches Ergebnis gilt natürlich für prob [Y = yj ]. Deshalb folgt
E [X + Y ] =
n X
m
X
(xi + yj )prob [X = xi , Y = yj ]
i=1 j=1
16
KAPITEL 1. EINFÜHRUNG
=
=
n X
m
X
xi prob [X = xi , Y = yj ] +
i=1 j=1
n
X
m
X
i=1
j=1
m X
n
X
yj prob [X = xi , Y = yj ]
j=1 i=1
xi prob [X = xi ] +
yj prob [Y = yj ]
= E [X] + E [Y ] .
Aufgabe 3
(a) Zeige, dass die Varianz mit der Formel Var [X] = E X 2 − (E [X])2 berechnet werden kann.
(b) Zeige, dass stets Var [a · X + b] = a2 · Var [X] gilt.
(c) X und Y seien unabhängige Zufallsvariablen. Zeige, dass E [X · Y ] = E [X] · E [Y ] and Var [X + Y ] =
Var [X] + Var [Y ] gilt.
(d) X sei eine Zufallsvariable, die nur natürliche Zahlen als Werte annimmt. Zeige, dass E X 2 ≥ E [X],
P∞
prob [X = 0] ≥ 1 − E [X] und E [X] = x=1 prob [X ≥ x] gelten.
(e) Benutze die Ungleichung von Cauchy-Schwarz, um nachzuweisen, dass E [X]2 ≤ E X 2 für jede Zufallsvaraiable X gilt.
(f) Wir haben n Briefe, die an verschiedene Personen adressiert sind und n Umschläge mit den jeweiligen
Adressen. Wir stecken die Briefe zufällig und unabhängig voneinander in Umschläge und erlauben, dass
mehrere Briefe in den selben Umschlag gesteckt werden. Wieviele Briefe landen im richtigen Umschlag?
(g) Zeige, dass es für beliebige Vektoren v1 , . . . , vn ∈ {+1, −1}n stets Koeffizienten 1 , . . . , n ∈ {+1, −1}
gibt, so dass
k1 v1 + · · · + n vn k ≤ n
gilt.
Hinweis: Wähle die Koeffizienten i zufällig und unabhängig voneinander, wobei i = 1 mit Wahrscheinlichkeit
1/2 gelte, und benutze die Linearität des Erwartungswerts, um die erwartete Länge des Vektors
P
i vi zu berechnen.
Die Methode der Erzeugendenfunktionen. Es gibt eine allgemeine Methode, um den
Erwartungswert E [X] wie auch die Varianz Var [X] für eine beliebige diskrete Zufallsvariable
X : Ω → N zu berechnen. Wir setzen pk = prob [X = k] und definieren die Erzeugendenfunktion von X durch
X
FX (x) :=
pk xk ,
wobei wir über alle Werte k des Wertebereichs von X summieren.
Satz 1.7 Für jede diskrete Zufallsvariable gilt
FX (1) = 1
E [X] =
Var [X] =
(1.4)
FX0 (1)
FX00 (1)
(1.5)
2
+ E [X] − E [X] .
(1.6)
P
Beweis: Die erste Gleichung folgt sofort aus FX (1) = pk = 1.
P
P
Wir berechnen die erste Ableitung FX0 (x) = kpk xk−1 und erhalten FX0 (1) = kpk = E [X].
P
Schließlich berechnen wir die zweite Ableitung FX00 (x) = k(k − 1)pk xk−2 und folgern
FX00 (1) =
X
k(k − 1)pk =
X
k 2 pk −
X
h
i
kpk = E X 2 − E [X] .
1.4. GRUNDLAGEN AUS DER STOCHASTIK
17
Wenn wir also E [X] addieren und E [X]2 von der rechten Seite subtrahieren, dann erhalten
wir genau die Varianz Var [X].
Wir betrachten als Nächstes einige wichtige Verteilungen.
Uniforme Verteilung: In der uniformen Verteilung sind alle Stichproben gleichwahrscheinlich und wir definieren dementsprechend diese „einfachste“ Verteilung durch
1
.
|Ω|
pk = prob [X = k] =
Wir sagen, dass X uniform verteilt ist.
Aufgabe 4
Berechne den Erwartungswert und die Varianz einer uniform verteilten Zufallsvariable.
Binomialverteilung: Wir sagen, dass eine Zufallsvariable X mit Parametern n and k
binomiell verteilt ist, vorausgesetzt
!
n k
p (1 − p)n−k
k
prob [X = k] =
gilt für jedes 0 ≤ k ≤ n. Für n unabhängige Zufallsvariablen X1, . . . , Xn mit prob [Xi = 1] = p
und prob [Xi = 0] = 1 − p folgt prob [X1 + · · · + Xn = k] = nk pk (1 − p)n−k und die Zufallsvariable X = X1 + · · · + Xn ist binomiell verteilt.
P
Der Erwartungswert von X ist E [X] = ni=1 E [Xi ] = np und auch die Varianz kann einfach
berechnet werden. Wegen der Linearität des Erwartungswerts ist
h
i
h X
E X2 = E (
i
Xi )2 =
X
h
i
E Xi2 +
i
X
E [Xi · Xj ] .
i6=j
Da Xi , Xj paarweise unabhängig sind, folgt E [Xi · Xj ] = E [Xi ] · E [Xj ] und deshalb ist
h
E X
2
i
!
n
= np + 2 ·
· p2 = np + n(n − 1)p2 = (np)2 + np(1 − p).
2
Also gilt Var [X] = E X 2 − (E [X])2 = np(1 − p).
Geometrische Verteilung: Wir werfen solange eine Münze, bis wir zum ersten Mal „Wappen“ erhalten. Wenn X die Anzahl der Versuche misst, dann ist X auf der Menge Ω =
{Zahln · Wappen | n ∈ N} definiert und wir haben zum ersten Mal einen Stichprobenraum
von abzählbar unendlicher Größe erhalten. Wenn p die Wahrscheinlichkeit für „Wappen“ ist,
dann erhalten wir
pk = prob [X = k] = q k−1 · p
mit q = 1 − p.
Wir benutzen Erzeugendenfunktionen, um Erwartungswert und Varianz zu berechnen. Die
Erzeugendenfunktion von X ist
FX (x) =
∞
X
t=1
q t−1 p · xt = px ·
∞
X
t=0
q t xt =
px
.
1 − qx
18
KAPITEL 1. EINFÜHRUNG
Die erste und zweite Ableitung ist
FX0 (x) =
p
(1 − qx)p + pxq
=
(1 − qx)2
(1 − qx)2
und
FX00 (x) =
2pq
.
(1 − qx)3
Also folgt nach Satz 1.7,
E [X] = FX0 (1) =
p
1
=
2
(1 − q)
p
und
Var [X] = FX00 (1) + E [T ] − E [Y ]2 =
2pq 1
1−p
1
+ − 2 =
.
3
p
p p
p2
Aufgabe 5
Eine Zufallsquelle Q produziert Nullen und Einsen, wobei eine Eins mit Wahrscheinlichkeit p erscheint. Wir
können auf Q zugreifen, kennen aber p nicht. Unsere Aufgabe ist die Konstruktion einer perfekten Zufallsquelle,
die eine Eins mit Wahrscheinlichkeit 21 produziert. Wir können also den Strom der Zufallsbits von Q beobachten
und müssen einen Strom von perfekten Zufallsbits konstruieren.
Entwirf eine perfekte Zufallsquelle, so dass die erwartete Anzahl von Q-Bits pro perfektem Zufallbit höchstens
1
beträgt.
p·(1−p)
Hinweis: Betrachte zwei aufeinanderfolgende Bits von Q.
Aufgabe 6
Wir können auf eine perfekte Zufallsquelle zugreifen, die 0 und 1 mit Wahrscheinlichkeit genau
1
2
produziert.
- Wir möchten die Verteilung (p1 , . . . , pn ) erzeugen. Entwirf einen Algorithmus, der i mit Wahrscheinlichkeit pi erzeugt und benutze höchstens die erwartete Anzahl von O(log2 n) Bits der perfekten Quelle.
Beachte, dass p1 , . . . , pn ≥ 0 beliebige reelle Zahlen sind, die zu Eins summieren.
- Bestimme die Worst-Case Anzahl perfekter Zufallsbits für p1 = p2 = p3 = 13 .
Aufgabe 7
Wir spielen gegen einen Gegner, der sich zwei Zahlen ausdenkt und jede Zahl, für uns nicht sichtbar, auf
jeweils ein eigenes Blatt Papier schreibt. Wir wählen zufällig ein Blatt, lesen die Zahl und haben dann die
Wahl, die Zahl zu behalten oder gegen die verbleibende Zahl zu tauschen. Sei x die Zahl für die wir uns
letztlich entscheiden und sei y die verbleibende Zahl. Dann ist x − y unser (möglicherweise negativer) Gewinn.
- Wir betrachten die Strategie St ≡ „Gib Zahlen < t zurück und behalte Zahlen ≥ t“. Analysiere den
erwarteten Gewinn Ex,y (Gewinn(St )) dieser Strategie in Abhängigkeit von t, x und y.
- Entwirf eine randomisierte Strategie mit erwartetem positiven Gewinn für beliebige, aber verschiedene
Zahlen x 6= y.
Aufgabe 8
Wir spielen ein Spiel mit Erfolgswahrscheinlichkeit p = 1/2. Wenn wir gewinnen, verdoppeln wir unseren
Einsatz, wenn wir verlieren, verlieren wir auch unseren Einsatz. Betrachte die folgende Strategie
i:=0
REPEAT
Setze den Einsatz 2i $
i:=i+1
UNTIL(Ich gewinne zum ersten Mal)
Berechne den erwarteten Gewinn und den erwarteten Geldbetrag, um diese Strategie durchzuführen.
Beispiel 1.3 Berechnung des durchschnittlichen Gehalts ohne Offenlegung der Einzelgehälter.
n Personen 1, . . . , n möchten das durchschnittliche Gehalt bestimmen, ohne aber ihr eigenes
Gehalt offen legen zu müssen. Wenn alle Personen ehrlich sind, dann sollte das durchschnittliche Gehalt auch korrekt berechnet werden. Wenn jedoch irgendwelche k Personen lügen,
dann sollten Sie keinerlei Information bis auf die Summe aller Gehälter gewinnen.
1.4. GRUNDLAGEN AUS DER STOCHASTIK
19
Algorithmus 1.8 Ein sicheres Protokoll
(1) M sei eine genügend große Zahl, die größer als die Summe aller Gehälter ist.
Jede Person i zufällig wählt Zahlen Xi,1 , . . . , Xi,i−1 , Xi,i+1 , . . . Xi,n ∈ {0, . . . , M −1} und
teilt Xi,j der Person j mit.
(2) Wenn Gi das Gehalt von Person i ist, dann bestimmt sie die Restklasse
n
X
Si = Gi +
Xj,i −
j,j6=i
(3) Jede Person i veröffentlicht Si und
P
n
X
Xi,j mod M.
j,j6=i
i Si
mod M wird berechnet.
Kommentar: Wenn alle Personen ehrlich sind, dann ist
X
Si mod M ≡
Gi +
i
i
und
X
1
n
·
P
j
n
X
n
X
Xj,i −
i,j,j6=i
Xi,j mod M ≡
X
Gi mod M =
i
i,j,j6=i
X
Gi
i
Sj ist das gewünschte durchschnittliche Gehalt.
Warum ist dieses Protokoll sicher? Angenommen, die letzten k Personen sind Lügner. Wir
P
Pn−k
setzen Si∗ = Gi + n−k
j=1,j6=i Xj,i −
j=1,j6=i Xi,j mod M . Eine ehrliche Person veröffentlicht
Si = Si∗ +
n
X
Xj,i −
j=n−k+1
Beachte, dass
n
X
Xi,j mod M
j=n−k+1
Pn−k
Pn−k ∗
i=1 Gi gilt.
i=1 Si =
Aufgabe 9
∗
Zeige: Jede Kombination (s∗2 , . . . , s∗n−k ) von Werten der Zufallsvariable S2∗ , . . . , Sn−k
wird mit Wahrscheinlich−(n−k−1)
∗
∗
keit M
erzeugt. Deshalb sind die Zufallsvariablen S2 , . . . , Sn−k unabhängig.
∗
Nach dieser Aufgabe sind die Zufallsvariablen S2∗ , . . . , Sn−k
unabhängig und uniform über
der Menge {0, . . . , M − 1} verteilt. Diese Aussage gilt aber mit dem selben Argument auch
für S2 , . . . , Sn−k und die Lügner lernen nichts, da jede Folge von n − k − 1 Werten mit
1
Wahrscheinlichkeit M n−k−1
auftritt.
Abweichungen vom Erwartungswert kann man mit Hilfe der Ungleichungen von Markoff,
Chernoff and Tschebyscheff abschätzen. Wir beginnen mit Markoff’s Ungleichung.
Markoff’s Ungleichung: Sei X eine nicht-negative Zufallsvariable und sei a > 0 eine reelle
Zahl. Dann gilt
E [X]
.
prob [X > a] ≤
a
Beweis: Nach Definition des Erwartungswerts ist
E [X] =
X
x
x · prob [X = x] ≥
X
a · prob [X = x] = a · prob [X > a] .
x>a
20
KAPITEL 1. EINFÜHRUNG
Tschebyscheff’s Ungleichung: X sei eine Zufallsvariable. Dann gilt
Var [X]
.
t2
prob [|X − E [X] | > t] ≤
für jede reelle Zahl t > 0.
Beweis: Wir definieren die Zufallsvariable Y = (X − E [X])2 und wenden Markoff’s Ungleichung an. Das ergibt
i
h
prob [|X − E [X] | > t] = prob Y > t2 ≤ E [Y ] /t2 = Var [X] /t2 .
Chernoff’s Ungleichungen sind Spezialfälle der Markoff Ungleichung, angewandt auf Summen von unabhängigen 0-1 Zufallsvariablen.
Satz 1.9 X1 , . . . , Xn seien beliebige unabhängige binäre Zufallsvariablen mit den ErfolgsP
wahrscheinlichkeit pi = prob [Xi = 1]. Dann ist N = ni=1 pi die erwartete Anzahl der Erfolge
und es gilt
prob
" n
X
!N
≤
eβ
(1 + β)1+β
!N
≤
e−β
(1 − β)1−β
#
Xi > (1 + β) · N
i=1
prob
" n
X
#
Xi < (1 − β) · N
i=1
≤ e−N ·min(β,β
≤ e−N ·β
2 )/3
2 /2
für jedes β > 0 (bzw. 0 < β ≤ 1 im zweiten Fall).
Beweis: Wir zeigen nur die erste Ungleichung. Wir wenden die Markoff Ungleichung für
beliebiges α > 0 an und erhalten
prob
" n
X
#
Xi > t
h
= prob eα·
Pn
i=1
Xi
> eα·t
i
i=1
h
≤ e−α·t · E eα·
= e
−α·t
·
n
Y
Pn
i=1
h
Xi
i
i
E eα·Xi .
i=1
In der letzten Gleichung haben wir benutzt, dass E [Y1 · Y2 ] = E [Y1 ] · E [Y2 ] gilt, wenn Y1 und
Y2 unabhängige Zufallsvariablen sind. Wir ersetzen t durch (1 + β) · N , α durch ln(1 + β) und
erhalten
prob
" n
X
#
≤ e−α·(1+β)·E ·
Xi > (1 + β) · N
i=1
n
Y
h
E eα·Xi
i
i=1
= (1 + β)
−(1+β)·N
·
n
Y
h
i
E (1 + β)Xi .
i=1
h
i
Die Behauptung folgt, da E (1 + β)Xi = pi (1 + β) + (1 − pi ) = 1 + β · pi ≤ eβ·pi gilt.
1.4. GRUNDLAGEN AUS DER STOCHASTIK
21
Aufgabe 10
Sei x ≤ 1 eine beliebige reelle Zahl. Zeige
2
ex
= ex−(1+x) ln(1+x) ≤ e−x /3 .
(1 + x)1+x
Aufgabe 11
Pn
X1 , . . . , Xn seien unabhängige, binäre Zufallsvariablen mit pi = prob [Xi = 1] und nimm an, dass N ∗ ≥ i=1 pi
gilt. Zeige, dass
"
#
prob
n
X
Xi > (1 + β) · N ∗ ≤ e−β
2
·N ∗ /3
i=1
für jedes β > 0 folgt.
Aufgabe 12
Zeige die zweite Chernoff-Ungleichung.
Beispiel 1.4 Wir nehmen an, dass ein Zufallsexperiment X vorliegt, dessen Erwartungswert
wir experimentell messen möchten. Das Experiment sei aber instabil, d.h. die Varianz von X
ist groß.
Wir „boosten“, wiederholen also das Experiment k mal. Wenn Xi das Ergebnis des iten
P
Experiments ist, dann setzen wir Y = k1 · ki=1 Xi und beachten, dass die Zufallsvariablen
X1 , . . . , Xk unabhängig sind: Es gilt also
k
k
1 X
1 X
1
V[Y ]= 2 ·
V [ Xi ] = 2 ·
V [ X ] = · V [ X ].
k i=1
k i=1
k
Wir haben die Varianz um den Faktor k gesenkt, aber den Erwartungswert unverändert
P
P
gelassen, denn E[ Y ] = E[ k1 · ki=1 Xi ] = k1 · ki=1 E[ X ] = E[ X ]. Die Tschebyscheff
Ungleichung liefert jetzt das Ergebnis
prob[ |Y − E[X]| > t ] = prob[ |Y − E[Y ]| > t ] ≤
V [Y ]
V [X]
=
2
t
k · t2
und große Abweichungen vom Erwartungswert sind unwahrscheinlicher geworden.
Angenommen, wir haben erreicht, dass Y mit Wahrscheinlichkeit mindestens p = 1 − ε in
ein „Toleranzintervall“ T = [E[ X ] − δ, E[ X ] + δ ] fällt. Können wir p „schnell gegen 1
treiben“? Wir wiederholen diesmal das Experiment Y und zwar m mal und erhalten wiederum
unabhängige Zufallsvariablen Y1 , . . . , Ym . Als Schätzung des Erwartungswerts geben wir jetzt
den Median M von Y1 , . . . , Ym aus. Wie groß ist die Wahrscheinlichkeit, dass M nicht im
Toleranzintervall T liegt?
Y liegt mit Wahrscheinlichkeit mindestens p in T . Wenn also der Median außerhalb des
Toleranzintervalls liegt, dann liegen mindestens m
2 Einzelschätzungen außerhalb, während
nur (1 − p) · m = ε · m außerhalb liegende Einzelschätzungen zu erwarten sind. Wir wenden
m
die Chernoff Ungleichung an und beachten, dass (1 + 1−2·ε
2·ε ) · ε · m = 2 . Also erhalten wir mit
β = 1−2·ε
2·ε
prob[ M 6∈ T ] ≤ e−ε·m·β
2 /3
2 ·m/(12·ε)
= e−(1−2·ε)
und die Fehlerwahrscheinlichkeit fällt negativ exponentiell, falls ε < 12 .
22
KAPITEL 1. EINFÜHRUNG
1.5
Lineare Programmierung
x1 , . . . , xn seien n reellwertige Variablen. In der linearen Programmierung ist ein System
linearer Gleichungen
n
X
aij xj = bi
j=1
und/oder linearer Ungleichungen
n
X
aij xj ≥ bi bzw.
j=1
n
X
aij xj ≤ bi
j=1
zu erfüllen. Für eine jede Variable xi ist zusätzlich zu entscheiden, ob die Nichtnegativitätsbedingung xi ≥ 0 gefordert wird. Unter allen Lösungsvektoren x := (x1 , . . . , xn ) suchen wir
dann einen Vektor, der die lineare Zielfunktion
cT · x =
n
X
cj xj
j=1
minimiert, bzw. maximiert. Wenn wir insgesamt m Gleichungen und/oder Ungleichungen
festlegen, dann ist
A = [aij ]1≤i≤m,1≤j≤n
die m × n-Matrix des Systems von Gleichungen und Ungleichungen. Wir definieren b als den
Vektor der rechten Seiten, c als den Koeffizientenvektor der linearen Zielfunktion und ∈
{ =, ≥ }m als den Vektor der Vergleichsoperatoren. Das allgemeine Minimierungsproblem
hat dann die Kurzform
minimiere cT · x,
so dass A · x b
(1.7)
und für alle i: xi ≥ 0 oder xi ist unbeschränkt.
Dieses Minimierungsproblem kann mit dem Simplex-Algorithmus bzw. mit Interior-Point Verfahren gelöst werden, wobei Interior-Point Verfahren eine garantiert polynomielle Laufzeit
besitzen. (Die verbrauchte Zeit wird in Abhängigkeit von der Länge der Binärdarstellung von
A, b und c gemessen). Dem Minimierungsproblem (1.7) ist ein duales Maximierungsproblem
zugeordnet:
maximiere bT · y,
so dass y T · A ∗ cT
(1.8)
und für alle j: yj ≥ 0 oder yj ist unbeschränkt.
Die Wahl der Vergleichsoperatoren wie auch die Wahl der Nichtnegativitätsbedingungen ist
abhängig vom „primalen“ Programm (1.7). Um diese Abhängigkeit zu erklären, ordnen wir
die primale Variable xi der iten Bedingung des dualen Programms und die duale Variable yj
der jten Bedingung des primalen Programms zu.
- Wenn die jte Bedingung des primalen Programms eine Gleichung ist (j stimmt mit
= überein), dann ist yj uneingeschränkt. Wenn die jte Bedingung eine Ungleichung ist
(j stimmt mit ≥ überein), dann ist yj ≥ 0 zu fordern.
1.5. LINEARE PROGRAMMIERUNG
23
- Wenn xi unbeschränkt ist, dann ist die ite duale Bedingung eine Gleichung. Wenn
hingegen xi ≥ 0 gefordert wird, dann ist eine Ungleichung zu wählen, wobei ∗j mit ≤
übereinstimmen muss.
Das primale und das duale Programm haben überraschenderweise identische Optima!
Satz 1.10 Dualitäts-Theorem
Sei x eine Lösung des primalen Problems (1.7) und y eine Lösung des dualen Problems (1.8),
sowie xopt und yopt optimale Lösungen von (1.7) bzw. (1.8). Dann gilt
(a) schwache Dualität: cT · x ≥ bT · y und
(b) starke Dualität: cT · xopt = bT · yopt .
Wir zeigen in Satz 12.4, dass das von Neumann’sche Minimax-Theorem eine Konsequenz des
Dualitätstheorems ist. Eine weitere fundamentale Konsequenz ist die komplementäre Slackness. Dazu betrachten wir das primale Programm
(P ) minimiere cT · x, so dass A · x = b und x ≥ 0.
Dann ist
(D) maximiere y T · b, so dass y T · A ≤ cT
das duale Programm und beide Optima, wenn endlich, stimmen überein. Wir modifizieren
das duale Programm (D) durch die Einführung von „Slack“-Variablen s und erhalten
(D) maximiere y T · b, so dass y T · A + sT = cT und s ≥ 0.
Die Dualitätslücke cT · x − bT · y gibt den Abstand zwischen der Lösung x des primalen und
der Lösung (y, s) des dualen Problems an. Es ist
cT · x − bT · y = cT · x − (Ax)T · y
= x T · c − x T · AT · y
= x T · c − AT · y
= xT · s.
Wir erhalten deshalb als Konsequenz des Dualitäts-Theorems:
Satz 1.11 Komplementäre Slackness
Sei x eine Lösung des primalen Problems (P ) und (y, s) eine Lösung des dualen Problems
(D). Dann sind äquivalent
(a) Die Lösung x ist optimal für (P ) und (y, s) ist optimal für (D).
(b) xT · s = 0.
(c) Für alle i gilt xi · si = 0.
(d) Aus si > 0 folgt xi = 0.
Für optimale Lösungen x und y des primalen, bzw. dualen Programms gilt also: Wenn eine duale Ungleichung „Slack“ hat (also wenn si > 0), dann ist die entsprechende primale
Variable des Ausgangsproblems gleich 0. Auch die umgekehrte Beziehung für die primalen
Ungleichungen x ≥ 0 gilt: Wenn xi > 0, dann hat die ite duale Ungleichung keinen Slack.
24
KAPITEL 1. EINFÜHRUNG
Teil I
Die Bearbeitung großer
Datenmengen
25
Kapitel 2
Suchmaschinen
Suchmaschinen müssen für eine Anfrage bestehend aus mehreren Stichworten die informativsten Dokumente für diese Stichworte bestimmen. Wir beschreiben zuerst die Architektur
einer Suchmaschine und stellen dann den Random Surfer Ansatz von Google sowie den HubsAuthorities Ansatz von Kleinberg vor. Diese beiden Ansätze sind Vertreter der ConnectivityAnalyse, die sich auf die beiden folgenden Annahmen gründet: Wenn ein Dokument A auf
Dokument B zeigt, dann
- gibt es eine inhaltliche Beziehung zwischen den beiden Dokumenten und
- der Autor des Dokuments A hält Dokument B für wertvoll.
Beide Ansätze versuchen, die relative Wertschätzung zwischen Dokumenten in eine absolute
Relevanz der Dokumente umzurechnen und damit ergibt sich die Möglichkeit, Dokumente
aufgrund der Graphstruktur des WWW zu bewerten. Wir schliessen mit einer allgemeinen
Behandlung von Methoden für den Entwurf von Meta-Suchmaschinen.
2.1
Die Architektur von Suchmaschinen
Man schätzt, dass das Web aus ungeführ 200 Millionen Websites besteht und dass die Anzahl
der von Google indizierten Webseiten irgendwo zwischen 20 Milliarden und ungefähr 1 Billion
liegt1 . Da die durchschnittliche Größe eines Dokuments zwischen 5 und 10 Kilobytes liegt, liegt
damit die Gesamtgröse des indizierten Webs im Bereich von mehreren Hundert Terabytes.
Desweiteren wird geschätzt, dass im .com Bereich 40% aller Dokumente täglich geändert
werden; rund die Hälfte aller Webseiten scheint eine Lebenszeit von nur 10 Tagen zu besitzen.
Schließlich gibt es mehr als 1.5 Milliarden Internetnutzer.
Diese Zahlen unterstreichen die Komplexität des Suchproblems: Für einen sich rasant ändernden Suchraum gigantischer Größe sind Anfragen ohne merkliche Reaktionszeit zu beantworten. Suchmaschinen stellen sich diesen Anforderungen mit Hilfe der folgenden Komponenten:
- Der Crawler durchforstet das Web,um neue oder veränderte Dokumente zu bestimmen.
- Abspeichern der wichtigsten Informationen: Die vom Crawler gefundene Information
muss aufbereitet und abgespeichert werden.
1
Siehe zum Beispiel http://googleblog.blogspot.com/2008/07/we-knew-web-was-big.html.
27
28
KAPITEL 2. SUCHMASCHINEN
- Indizierung: Die Datenstruktur zum Abruf der abgespeicherten Information muss in
Echtzeit alle Dokumente bestimmen, die die Anfrage enthalten.
- Bewertung der Dokumente: Die ausgewählten Dokumente sind im Hinblick auf ihren
Informationsgehalt zu bewerten.
Der Crawler traversiert den Wegraphen. Dabei sind verschiedenste Probleme lösen. Da eine
Erfassung aller Webseiten illusorisch ist, ist zu entscheiden, welche Dokumente abzuspeichern
sind. Welche Dokumente sollten in welchen Zeiträumen auf Veränderung untersucht werden?
Die wichtigen, und unter diesen die in der Vergangenheit häufig veränderten Dokumente
sind vorrangig zu behandeln. Wie sollte der Crawler die Belastung der besuchten Webseiten
minimieren? Wie kann der Crawling Prozess optimal parallelisiert werden?
Abspeichern der wichtigsten Informationen. Das Web Repository wird vom Crawler
aufgebaut und muss den direkten Zugriff auf Dokumente sowie das Einfügen und das Entfernen von Dokumenten unterstützen. Desweiteren müssen alle Dokumente mit einer gegebenen
Eigenschaft, wie dem Besitz einer Menge von Stichworten, schnell bestimmbar sein. Diese
Aufgaben werden oft mit einer Kombination von Hashing und B-Bäumen gelöst.
In der Indizierung werden alle Worte eines jeden Dokuments erfasst. Häufig wird auch ein
Wörterbuch berechnet, das alle je erfassten Worte aufführt und statistische Informationen
wie Häufigkeiten angibt. Eine fundamentale Datenstruktur in der Indizierung ist der invertierte Index, in dem zu jedem Stichwort s alle Dokumente bestimmt werden, die s enthalten.
Üblicherweise enthält der invertierte Index noch Zusatzinformation, um die Prominenz des
Stichworts innerhalb des Dokuments zu beschreiben: hier spielen die Häufigkeit des Stichworts,
seine Schriftgröße wie auch das Vorkommen des Stichworts in Beschriftungen von Links auf
das Dokument wichtige Rollen.
Neben diesen Text-basierten Indizes wird in modernen Suchmaschinen auch ein Link-Index
berechnet, um mit der Graphstruktur des Webgraphen arbeiten zu können. Der Link-Index
wird üblicherweise als Adjazenzliste abgespeichert.
Die Bewertung der Dokumente ist ein zentrales Hilfsmittel, um informativste Dokumente
für eine gegebene Anfrage bestimmen zu können. Moderne Suchmaschinen basieren eine solche
Bewertung auf Methoden des Peer-Review und sind somit nur relativ schwach von solchen
Eigenschaften des Dokuments abhängig, die vom Autor des Dokuments direkt beeinflussbar
sind. Wir beschreiben erfolgreiche Methoden des Peer-Review in den Abschnitten 2.2 und 2.3.
2.2
Google
Google bestimmt zuerst alle Dokumente, die die Stichworte der Anfrage enthalten. Die gefundenen Dokumente werden dann sowohl lokal wie auch global bewertet. In der lokalen oder
anfrage-abhängigen Bewertung spielen Aspekte wie etwa
- Schriftgröße und Nähe der Stichworte zueinander innerhalb des Dokuments,
- Häufigkeit des Vorkommens der Stichworte innerhalb des Dokuments und
- Vorkommen der Stichworte in der Beschriftung von Hyperlinks, die auf das Dokument
zeigen,
2.2. GOOGLE
29
eine Rolle.
In der globalen oder anfrage-unabhängigen Bewertung wird der Page-Rank des Dokuments
ermittelt. Der Page-Rank pr(w) eines Dokuments w soll die Qualität des Dokuments wiedergeben und wird im Wesentlichen durch einen „Peer-Review“ bestimmt: Der Page-Rank pr(w)
ist hoch, wenn viele Dokumente u mit hohem Page-Rank pr(u) auf das Dokument w zeigen.
Ein erster Ansatz zur Bestimmung des Page-Ranks nimmt an, dass ein Dokument u mit
du Hyperlinks seinen Page-Rank gleichmäßig verteilt: Wenn u auf Dokument w zeigt, dann
„erbt“ w den Bruchteil pr(u)
du und w erbt insgesamt den Betrag
pr(w) =
pr(u)
du
u zeigt auf w
X
(2.1)
Um diese Definition zu interpretieren, fassen wir das WWW als eine Markov-Kette auf.
2.2.1
Markoff-Ketten
Definition 2.1 Stochastische Matrizen und Markoff-Ketten.
(a) Eine Matrix P heißt stochastisch, wenn alle Einträge von P nicht-negativ sind und wenn
X
P [i, j] = 1
j
für alle Zeilen i gilt.
(b) Eine Markoff-Kette (G, P ) besteht aus einem gerichteten Graphen G = (V, E) und einer
Übergangsmatrix P , deren Zeilen und Spalten mit Knoten aus V indiziert sind.
Die Knoten der „Web-Kette“ entsprechen den Dokumenten und eine Kante (u, w) entspricht
einem Hyperlink von Dokument u auf Dokument w. Wir nehmen an, dass ein „RandomSurfer“ einen Hyperlink nach der Gleichverteilung auswählt und demgemäß wird ein Nachbar
des Dokuments u mit Wahrscheinlichkeit d1u gewählt. Dabei unterstellt Google, dass jedes
Dokument einen Hyperlink auf sich selbst hat, so dass du ≥ 1 für alle Dokumente u gilt. Wir
erhalten somit die Übergangsmatrix P mit
(
P [u, w] =
1
du
0
(u, w) ist ein Hyperlink
sonst.
Die Page-Rank Definition (2.1) ist jetzt äquivalent zu
pr = pr · P.
(2.2)
Definition 2.2 Sei (G, P ) eine Markoff-Kette mit G = (V, E). Dann heißt eine Verteilung
π = ( πv | v ∈ V ) auf V eine stationäre Verteilung, falls π = π · P .
Wählen wir einen Startknoten gemäß einer stationären Verteilungen π und führen einen
Schritt der Markoff-Kette durch, dann verbleiben wir in π.
30
KAPITEL 2. SUCHMASCHINEN
Der Page-Rank, wenn aus der Perspektive des Peer-Review definiert, entspricht somit einer stationären Verteilung der Web-Kette. Warum sind stationäre Verteilungen wichtig? Wir
werden in Lemma 2.5 feststellen, dass es für bestimmte Markoff-Ketten genau eine stationäre
Verteilung gibt, die mit der Grenzverteilung übereinstimmt, also mit der Wahrscheinlichkeit,
dass der Random-Surfer ein Dokument besucht, wenn ein beliebig langer Zeitraum zur Verfügung steht. Die Perspektive des Random Surfers und die Perspektive des Peer-Review in
der Definition des Page-Ranks sind also für diese Markoff-Ketten identisch.
Um den Beweis zu führen, schauen wir uns den Begriff der Grenzverteilung genauer an und
betrachten k Schritte einer Markoff-Kette (G, P ). Wir setzen
"
(k)
pi,j
=
Wahrscheinlichkeit, dass Knoten j nach k
Schritten von Knoten i aus erreicht wird.
#
(k)
Lemma 2.3 Es gilt pi,j = P k [i, j].
Beweis: Wir führen eine Induktion nach k. Die Verankerung für k = 1 ist offensichtlich. Nach
Induktionsannahme gilt
"
(k+1)
pi,j
=
X
r
=
X
prob
In k Schritten wird Knoten
r von i aus erreicht
#
"
In einem Schritt wird Knoten
j von r aus erreicht
· prob
#
P k [i, r] · P [r, j].
r
Wir erhalten
(k+1)
pi,j
=
X
P k [i, r] · P [r, j] = P k+1 [i, j]
r
und das war zu zeigen.
Die Wahrscheinlichkeit, einen Knoten j mit einem Random Walk bei Startverteilung q in k
Schritten zu erreichen, ist also durch die j-te Komponente von q · PTk gegeben. Wir sind an
(k)
der Grenzwahrscheinlichkeit, also der Wahrscheinlichkeit limk→∞ pi,j interessiert. Wenn wir
„Glück haben“, ist diese Grenzwahrscheinlichkeit unabhängig vom Startpunkt i.
Definition 2.4 Die Markoff-Kette (G, P ) heißt genau dann ergodisch, wenn für alle i1 , i2 und
j die Grenzwerte limk→∞ P k [i1 , j] und limk→∞ P k [i2 , j] existieren und
lim P k [i1 , j] = lim P k [i2 , j] > 0
k→∞
k→∞
gilt.
Für eine ergodische Markoff-Kette ist die Matrix
P ∞ = lim P k =
k→∞
lim P k [i, j]
k→∞
i,j∈V
wohldefiniert, da wir voraussetzen, dass die Grenzwerte existieren. Weiterhin fordern wir, dass
alle Zeilen in P ∞ identisch sind: Wenn wir einen Startknoten gemäß einer beliebigen Anfangsverteilung π (0) wählen und hinreichend viele zufällige Schritte machen, ist die Wahrscheinlichkeit einen bestimmten Knoten j zu erreichen, stets beliebig nahe an P ∞ [1, j] = · · · = P ∞ [n, j].
2.2. GOOGLE
31
Die Wahl des Anfangsknoten ist für einen hinreichend langen Random Walk also ohne Belang:
Die Grenzverteilung einer ergodischen Markoff-Kette „vergisst“ somit den Startpunkt eines
Random Walks.
Wir definieren die Verteilung π ∞ durch die erste Zeile von P ∞ , setzen also π ∞ [j] = P ∞ [1, j].
Dann gilt für jede Anfangsverteilung π = (π1 , . . . , πN )
πT · P ∞ =
N
X
πi · P ∞ [i, 1], . . . ,
i=1
=
∞
N
X
!
πi · P ∞ [i, N ]
i=1
P [1, 1] ·
N
X
∞
πi , . . . , P [1, N ] ·
i=1
N
X
!
πi
i=1
= (P ∞ [1, j] | j = 1, . . . , N ) = π ∞ .
Es gilt also stets
πT · P ∞ = π∞
(2.3)
und π ∞ ist Grenzverteilung für jede Anfangsverteilung π.
Wir stellen jetzt eine wichtige Eigenschaft der Grenzverteilung π ∞ fest. Dazu ersetzen wir π
durch π ∞ und erhalten aus (2.3)
(π ∞ )T
= (π ∞ )T · P ∞ = (π ∞ )T · lim P k
∞ T
= (π ) · lim P
k→∞
k+1
k→∞
∞ T
= (π ) · P ∞ · P = (π ∞ )T · P.
Die Grenzverteilung π ∞ ist also auch stationär, wenn die Kette ergodisch ist. Wir machen
jetzt die zentrale Beobachtung, dass die Grenzverteilung π ∞ die einzige stationäre Verteilung
für ergodische Markoff-Ketten ist. Wir können also die Grenzverteilung berechnen, indem wir
das Gleichungssystem π T · P = π lösen.
Lemma 2.5 Jede ergodische Markoff-Kette (G, P ) besitzt eine eindeutig bestimmte stationäre
Verteilung π und es gilt π = π (∞) .
Insbesondere stimmen stationäre Verteilung und Grenzverteilung überein.
Beweis: Wir wissen bereits, dass π ∞ eine stationäre Verteilung ist. Sei π eine beliebige
stationäre Verteilung. Wir erhalten π = π T · P und damit natürlich auch π = π T · P ∞ .
Andererseits ist aber π T · P ∞ = π ∞ mit Gleichung (2.3), und wir haben die Eindeutigkeit
einer stationären Verteilung nachgewiesen.
2.2.2
Berechnung des Page-Rank
Leider können wir nicht erwarten, dass die Web-Kette ergodisch ist, denn der Random Surfer wird zum Beispiel von Dokumenten ohne Hyperlinks gefangen und die Grenzverteilung
vergisst somit den Startpunkt nicht, wenn wir in einer „Sackgasse“ beginnen.
Um zu einer ergodischen Kette zu gelangen, verändert Google deshalb die Sichtweise ein
wenig. Im erfolgreichen zweiten Ansatz legt Google einen Random Walk zugrunde, der mit
Wahrscheinlichkeit (1 − d) ein benachbartes Dokument aufsucht und mit Wahrscheinlichkeit
32
KAPITEL 2. SUCHMASCHINEN
d zu einem zufälligen Dokument springt. Wenn wir annehmen, dass es genau n Dokumente
gibt, dann werden wir auf die Übergangsmatrix
(
P 0 [u, w] =
d
n
d
n
+
1−d
du
(u, w) ist ein Hyperlink
sonst.
geführt.
Aufgabe 13
Zeige, dass die modifizierte Web-Kette ergodisch ist.
Hinweis: Es genügt zu zeigen, dass die Kette irreduzibel und aperiodisch ist. (Die Kette ist irreduzibel, wenn
jeder Knoten jeden anderen Knoten erreichen kann. Die Kette ist aperiodisch, wenn der größte gemeinsame
Teiler aller Weglängen zwischen zwei beliebigen Knoten mit Eins übereinstimmt.)
Wir fordern wiederum, dass der Page-Rank der (diesmal eindeutigen) stationären Verteilung
P
entspricht und erhalten deshalb wegen pr = pr · P 0 und u pr(u) = 1 die Setzung
pr(w) =
Xd
u
=
n
· pr(u) + (1 − d) ·
pr(u)
du
u zeigt auf w
X
X
pr(u)
d
+ (1 − d) ·
.
n
du
u zeigt auf w
In Matrix-Vektor Notation erhalten wir deshalb
pr = d · p + (1 − d) · pr · P,
(2.4)
wobei der Vektor p durch pw = n1 definiert ist.
Wie wird der Pagerank pr berechnet? Zuerst wird ausgenutzt, dass limk→∞ π0T · (P 0 )k = pr
für jede Anfangsverteilung π0 gilt. Wir wählen π0 als Gleichverteilung und setzen
πk+1 = πkT · P 0 .
Wir haben Glück: Aufgrund des hohen Zusammenhangs des Netzes konvergiert πk schnell
gegen pr. Für eine schnelle Berechnung des Vektor-Matrix Produkts wird ausgenutzt, dass P
viele Nulleinträge hat; desweiteren ist das Vektor-Matrix Produkt hochgradig parallelisierbar.
Gegenwärtig werden mehrere Tausend PC’s eingesetzt, die mehrere Stunden zur Berechnung
des Page-Ranks benötigen und selbst dieser Aufwand ist im Hinblick auf die enorme Anzahl
der Webseiten erstaunlich gering.
Da ein hoher Page-Rank finanziell sehr lukrativ ist, hat sich schon beinahe eine eigene Industrie zur Erhöhung des Page-Rank entwickelt. Diese Industrie firmiert unter dem Begriff der
„Suchmaschinen-Optimierung“ (search engine optimization) und setzt neben legalen Methoden wie einer verbesserten inhaltlichen Darstellung auch illegale Spamming-Methoden ein:
Für den Anwender nicht sichtbar2 , werden beliebte Stichworte häufig wiederholt, um die lokale Bewertung der Webseite zu erhöhen. Desweiteren werden „Link Farms“3 eingesetzt, um
die globale Bewertung zu erhöhen. Obwohl Link Farms keinen absolut hohen Page-Rank erreichen können, so können jedoch stark eingeschränkte Suchanfragen „gewonnen“ werden.
2
Beliebt ist der Trick, Stichworte in der Hintergrundfarbe zu setzen. Alle guten Suchmaschinen kennen diese
Tricks und disqualifizieren die betroffenen Webseiten.
3
Jede Seite einer Link Farm zeigt auf viele andere Seiten der Farm.
2.2. GOOGLE
33
Google bestraft deshalb Seiten mit mehr als 100 ausgehenden Zeigern und senkt damit den
vererbbaren Page-Rank.
Aufgabe 14
Ein Anbieter einer Internetseite w möchte seiner Webseite, die keine ausgehenden Hyperlinks hat, zu einem
höheren Page-Rank verhelfen.
(a) In einem ersten Versuch legt der Anbieter c neue Seiten an, die jeweils wechselseitig aufeinander und
auf die ursprüngliche Seite w verweisen. Zeige, dass sich der Page-Rank seiner Seite w dadurch um
cd
höchstens (1 − d − n1 ) · n+c
erhöht.
(b) In einem zweiten Versuch legt er c Seiten an, die alle ausschließlich auf die Seite w verweisen. Zeige,
cd
dass sich der Page-Rank seiner Seite w dadurch um höchstens (1 − d − n1 ) · n+c
erhöht.
2.2.3
Inhalt-abhängiger Page-Rank
Es wird vermutet, dass Google mittlerweise einen „topic-sensitiven Page-Rank“ verwendet.
Wir beschreiben hier einen Vorschlag aus [H02]. Die Grundidee ist die Berechnung von PageRank Vektoren pr(1) , . . . , pr(K) für jedes von K Themengebieten T1 , . . . , TK : pr(i) soll die
Kompetenz von Dokumenten für das Themengebiet Ti messen.
(Zum Beispiel bieten sich die Themengebiete des Open Directory Projects an. Die allgemeinsten 16 Themengebiete sind hier Arts (Movies, Television, Music,...), Business (Jobs, Real
Estate, Investing,...), Computers (Internet, Software, Hardware,...), Games (Video Games,
RPGs, Gambling,...), Health (Fitness, Medicine,...), Home (Family, Consumers, Cooking,...),
Kids and Teens (School, Teen Life,...), News (Media, Newspapers, Weather,...), Recreation (Travel, Food, Outdoors, Humor,...), Reference (Maps, Education, Libraries,...), Regional
(US, Canada, UK, Europe,...), Science (Computer Science, Biology, Physics,...) Shopping
(Autos, Clothing, Gifts,...), Society (People, Religion, Issues,...), Sports (Baseball, Soccer,
Basketball,...), World (Deutsch, Español, Italiano, Polska, Dansk,...).)
Der Page-Rank Vektor pr(i) wird wiederum in einer off-line Berechnung bestimmt: Zuerst
(i)
werden alle Dokumente im Hinblick auf das Themengebiet Ti bewertet; insbesondere sei pw
die Bewertung für Dokument w. Wir „personalieren“ die Page-Rank Berechnung (2.4), indem
wir p durch p(i) ersetzen und erhalten
pr(i) = d · p(i) + (1 − d) · pr(i) · P,
(2.5)
als Grenzverteilung. Für die Bearbeitung der Suchanfrage Q = (Qj | j) werden die bedingten
Wahrscheinlichkeiten prob[Qj | Ti ] benötigt: prob[Qj | Ti ] wird off-line berechnet und misst
die relevanz-gewichtete Häufigkeit mit der das Stichwort Qj für das Themengebiet Ti auftritt.
In der on-line Bearbeitung von Q werden dann die folgenden Schritte ausgeführt: Zuerst
wird die Relevanz
Πj prob[Qj | Ti ] · prob[Ti ]
prob[Ti | Q] =
Πj prob[Qj ]
des Themengebiets Ti für die Anfrage Q ermittelt. (Es ist nur i prob[Ti | Q] = 1 zu fordern,
deshalb ist eine Berechnung von Πj prob[Qj ] nicht erforderlich.)
Danach werden alle Dokumente w ermittelt, in denen die Anfrage vorkommt. Wir bewerten
(i)
dann w mit der Linearkombinationen aller Page-Ranks prw , gewichtet nach der jeweiligen
Relevanz des Themengebiets. Wir setzen also
P
Rang(w | Q) =
X
i
(i)
prob[Ti | Q] · prw
.
34
KAPITEL 2. SUCHMASCHINEN
2.3
Hubs und Authorities
Kleinberg [K1] stellt einen zweiten Ansatz für das Information Retrieval im Web vor. Seine
Methode berechnet Authorities (Dokumente von hoher Qualität) mit Hilfe von Hubs (Dokumente mit „guten“ Links). Eine simultane Berechnung von Hubs und Authorities kann dann
nach dem folgenden Muster erfolgen:
- Ein Dokument, das auf viele Dokumente mit hohem Authority-Gewicht zeigt, erhält ein
hohes Hub-Gewicht,
- während ein Dokument, auf das viele Dokumente mit hohem Hub-Gewicht zeigen, ein
hohes Authority-Gewicht erhält.
Allerdings kennen wir anfänglich weder Hubs noch Authorities, und es sind somit Hubs und
Authorities simultan zu bestimmen. Der HITS-Algorithmus (Hyperlink Induced Topic Search)
von Kleinberg verarbeitet eine Anfrage σ wie folgt:
(0) T sei ein fixierter Parameter.
(1) Die Menge Wσ aller Dokumente, die die Stichworte der Anfrage enthalten, wird bestimmt. Aus diesen Dokumenten wird eine kleine Teilmenge Rσ relevanter Dokumente
ausgewählt.
Kommentar: Kleinberg empfiehlt textbasierte Suchmaschinen wie Altavista oder Hotbot
zur Durchführung der Auswahl. Eine textbasierte Suchmaschine bewertet ein Dokument
unter Anderem nach der Häufigkeit und nach der Schriftgröße mit der die Stichworte
der Anfrage erscheinen.
In vielen Fällen werden die informationsreichsten Dokumente in der Menge Rσ nicht
enthalten sein. Deshalb konstruiert der nächste Schritt eine größere Menge Sσ .
(2) Setze Sσ = Rσ . Für jedes Dokument w ∈ Rσ :
(2a) Füge alle Dokumente zu Sσ hinzu, auf die w zeigt.
Kommentar: Dies werden nicht viele Seiten sein.
(2b) Füge alle Dokumente zu Sσ hinzu, die auf w zeigen. Wenn mehr als T Dokumente
auf w zeigen, dann füge eine beliebige Auswahl von T Dokumenten hinzu.
Kommentar: Der Schwellenwert T ist geeignet zu bestimmen.
Es ist nicht wichtig, welche Seiten ausgewählt werden, solange genügend viele Seiten
auf Authorities zeigen.
(3) Berechne Hub- und Authority-Gewichte.
Schritt (3) ist die wesentliche Komponente des HITS-Algorithmus. Wir beschränken uns auf
den Graphen Gσ = (Sσ , Eσ ), wobei die Kanten in Eσ genau den Hyperlinks zwischen Dokumenten aus Sσ entsprechen.
Algorithmus 2.6 Berechnung der Hub- und Authority-Gewichte
(1) Es sei n = |Sσ |. Der Algorithmus berechnet zwei Vektoren A und H, wobei Au (bzw.
Hu ) die Qualität des Dokuments u als Authority (bzw. als Hub) misst.
Wir verlangen, dass A und H stets die Norm 1 besitzen und setzen anfänglich A = H =
√
√
(1/ n, . . . , 1/ n)T .
2.3. HUBS UND AUTHORITIES
35
(2) Wiederhole genügend oft:
(2a) Hu =
P
w, (u,w)∈Eσ
Aw .
/* Das Hub-Gewicht von u ist groß, wenn u auf viele Dokumente mit hohem
Authority-Gewicht zeigt.
*/
(2b) Au =
P
w, (w,u)∈Eσ
Hw .
/* Das Authority-Gewicht von u ist groß, wenn viele Dokumente mit hohem HubGewicht auf u zeigen.
*/
A
H
(2c) Normalisiere A und H, d.h. setze A = ||A||
und H = ||H||
.
√
√
Wir setzen x0 = (1/ n, . . . , 1/ n)T und bezeichnen den Authority- bzw. den Hub-Vektor
nach der iten Iteration mit Ai bzw. mit H i . Wenn M die Adjazenzmatrix von Gσ ist, dann
erhalten wir ohne Normalisierung
H i+2 = M · Ai+1 und Ai+1 = M T · H i .
Also folgt
H i+2 = M · Ai+1 = M · M T · H i und Ai+2 = M T · H i+1 = M T · M · Ai
und deshalb ist
H 2k = (M · M T )k · x0 und A2k = (M T · M )k · x0 .
Beachte, dass M · M T wie auch M T · M symmetrische Matrizen sind. Symmetrische Matrizen
besitzen reellwertige Eigenwerte wie auch eine Orthonormalbasis von Eigenvektoren:
Fakt 2.1 Sei K eine symmetrische Matrix mit n Zeilen und Spalten.
(a) Sämtliche Eigenwerte λ1 , . . . , λn von K sind reellwertig.
(b) Es gibt eine Orthonormalbasis b1 , . . . , bn von Eigenvektoren von K. (D.h. es ist K · bi =
λi · bi und das innere Produkt hbi , bj i verschwindet für i 6= j und ist Eins für i = j.)
(c) Der betragsmäßig größte Eigenwert λ1 sei vom Betrag her größer als der betragsmäßig
zweitgrößte Eigenwert. Wenn der Vektor x0 nicht senkrecht auf dem Eigenvektor v von
λ steht, dann konvergiert die Folge ( λxkk | k) gegen ±v, wobei
1
xk+1 =
K · xk
||K · xk ||
gelte.
Wir motivieren die Aussage (c). Nach Teil (b) gibt es eine Orthonormalbasis v1 , . . . , vn aus
Eigenvektoren zu den Eigenwerten λ1 > λ2 ≥ · · · ≥ λn . Wir können somit den Vektor x0 als
Linearkombination
n
x0 =
X
αi · vi
i=1
schreiben. Da der Basisvektor vi Eigenvektor von K (zum Eigenwert λi ) ist, erhalten wir
K · x0 =
n
X
i=1
αi · K · vi =
n
X
i=1
αi · λi · vi
36
KAPITEL 2. SUCHMASCHINEN
und nach t-facher Iteration
t
K · x0 =
n
X
αi · λti · vi .
i=1
Da limt→∞ λti /λt1 = 0 für i 6= 1, nimmt das Gewicht des Eigenvektors v1 am stärksten zu, und
Aussage (c) folgt, wenn α1 6= 0 oder, alternativ, wenn gefordert wird, dass x0 nicht senkrecht
auf v1 steht.
Konvergiert die Folge (xk | k ∈ N? Im allgemeinen nicht!
Aufgabe 15
Wir betrachten die symmetrische Matrix K =
(xk |k ≥ 0) mit xk+1 =
1
0
0
−1
. Für welche Startvektoren x0 konvergiert die Folge
K·xk
?
kK·xk k
In unserer Situation hat die Matrix K aber eine sehr spezielle Form, denn K = M M T (bzw.
K = M T M ): Die Matrix K ist also positiv semidefinit.
Aufgabe 16
Sei K = M M T oder K = M T M . Zeige:
(a) Wenn Kx = λx gilt, dann ist λ ≥ 0.
(b) Wenn ein Vektor x nur positive Komponenten hat, dann steht x nicht senkrecht auf dem größten
Eigenvektor.
Wenn alle Eigenwerte (und damit auch der betragsmässig größte Eigenwert) nichtnegativ
sind, dann konvergiert auch die Folge (xk | k ∈ N).
Korollar 2.7 Die größten Eigenwerte von M T · M und M · M T mögen die Vielfachheit 1
besitzen. Dann bestimmt der HITS-Algorithmus Vektoren A bzw. H, die bis auf das Vorzeichen
gegen die Eigenvektoren der größten Eigenwerte von M T · M bzw. M · M T konvergieren.
Liegt Konvergenz auch dann vor, wenn die beiden größten Eigenwerte übereinstimmen?
Aufgabe 17
Wenn K = M M T oder K = M T M , dann konvergiert die Folge (xk | k ∈ N) immer.
Wir schließen mit einem Vergleich zwischen Page-Rank und dem HITS Verfahren, bevor wir
Schwachstellen des HITS Verfahrens im nächsten Abschnitt ansprechen.
- Berechnungsaufwand: Hier verbucht Page-Rank ein Plus, da es die Bewertungen vorberechnet. Dieser Vorteil ist jedoch nicht wesentlich, da von schneller Konvergenz (höchstens 20 Iterationen bei Mengen Sσ mit |Sσ | ≈ 1000) berichtet wird.
- Spamming: Auch hier scheint Page-Rank stärker, da HITS bei „verdorbener“ Auswahl
Rσ verloren ist.
- Qualität des Suchergebnisses: Beide Verfahren liefern im Allgemeinen Ergebnisse guter
Qualität. Da HITS die Suchanfrage in dem Connectivity-Ranking miteinbezieht, während Google Dokumente anfrage-unabhängig bewertet und die Suchanfrage nur in der
lokalen Bewertung der Dokumente miteinbezieht, verdient HITS ein leichtes Plus.
2.3. HUBS UND AUTHORITIES
2.3.1
37
Inhalt-abhängige Suche
In [BH] werden die folgenden Schwachstellen des HITS Verfahrens ausgemacht:
(1) Angenommen, viele Dokumente Ai auf einem ersten Host zeigen auf ein einziges Dokument B auf einem zweiten Host. Als mögliche Konsequenz erhalten damit sowohl das
Dokument B eine ungerechtfertigt hohe Authority-Gewichtung wie auch die Dokumente
Ai eine ungerechtfertigt hohe Hub-Gewichtung.
Das gleiche Problem entsteht, wenn ein Dokument A auf dem ersten Host auf viele
Dokumente Bi des zweiten Hosts zeigt.
(2) Automatisch erzeugte Links verbinden Dokumente, die nicht notwendigerweise in einem
thematischen Zusammenhang stehen und nicht-relevante Dokumente tauchen somit in
der Menge Sσ auf. Jetzt besteht die Gefahr, dass nicht-relevante Dokumente dominieren: Zum Beispiel werden für die Suchanfrage „Jaguar AND Car“ Dokumente von
Automobil-Herstellern ohne Bezug zur Marke Jaguar den größten Teil des AuthorityGewichts an sich reißen.
Die erste Schwachstelle kann durch eine einfache Modifikation von Hits beseitigt werden:
Wenn z Dokumente Ai des ersten Hosts auf ein Dokumente B des zweiten Hosts j zeigen, dann
erhält jeder Zeiger das Authority-Gewicht a(Ai , B) = 1/z. Umgekehrt, wenn ein Dokument
A des ersten Hosts auf z Dokumente B1 , . . . , Bz des zweiten Hosts zeigt, dann erhält jeder
Zeiger das Hub-Gewicht h(A, Bj ) = 1/z. Dementsprechend verändern wir die iterative HubAuthority Berechnung wie folgt:
Hu =
X
X
h(u, w) · Aw und Au =
a(w, u) · Hw .
w, (w,u)∈Eσ
w, (u,w)∈Eσ
Aufgabe 18
Zeige, dass die neue iterative Berechnung der Hub-Authority Gewichte konvergiert.
Um die zweite Schwachstelle abzustellen, wird versucht, das der Suchanfrage zugrunde liegende allgemeinere Themengebiet T zu bestimmen. In einem zweiten Schritt werden dann alle die
Dokumente eliminiert, die für T nicht relevant sind. Das Themengebiet T wird nicht semantisch bestimmt, sondern T wird durch die Dokumente aus Sσ , definiert, die der Algorithmus
als relevant für T ansieht.
Für die Relevanzmessung wird zuerst eine Auswahl von Dokumenten aus Sσ bestimmt. Die
ersten 1000 Worte werden, über alle Dokumente der Auswahl, konkateniert und ergeben einen
String T . Für jedes Dokument w ∈ Sσ wird dann die Ähnlichkeit zwischen T und w wie folgt
bestimmt: Sowohl T wie auch w werden in Terme zerlegt und die Häufigkeiten ht,T und ht,w
des Terms t in T , bzw. w, wird berechnet. Wenn ht die Häufigkeit des Terms t über alle
Dokumente des WWW ist, dann wird mit den Häufigkeitsvektoren
xT = (
ht,T
ht,w
| t) und xw = (
| t)
ht
ht
die Ähnlichkeit
Ä(T, w) =
hxT , xw i
||xT || · ||xw ||
zwischen T und w definiert. Dementsprechend liegt es nahe, Ä(T, w) als Relevanzwert für das
Dokument w einzuführen und das Themengebiet T könnte zum Beispiel als die Menge aller
38
KAPITEL 2. SUCHMASCHINEN
Dokumente w ∈ Sσ definiert werden, deren Relevanzwert einen Schwellenwert übertrifft; alle
verbleibenden Dokumente sind als nicht-relevant einzustufen. In [BH] wird vorgeschlagen, in
der iterativen Authority-Hub Gewichtung die Relevanzwerte mit aufzunehmen. Dies führt auf
die Setzungen
Hu =
X
h(u, w) · Ä(T, w) · Aw und Au =
w, (u,w)∈Eσ
X
a(w, u) · Ä(T, w) · Hw .
w, (w,u)∈Eσ
Weitere Varianten, wie die Eliminierung von nicht-relevanten Dokumenten oder die Eliminierung nur von Dokumenten mit hohem Authority- oder Hub-Gewicht, werden in [BH] beschrieben.
Dieser Ansatz definiert das Themengebiet T mehr oder minder durch einen Mehrheitsentscheid. Da zudem auch die Bestimmung der Ähnlichkeitswerte aufwändig ist, ist der beträchtliche Zeitaufwand ein großer Nachteil dieses Verfahrens.
2.4
Meta-Suchmaschinen
Eine Meta-Suchmaschine gibt eine Anfrage an mehrere Suchmaschinen weiter und berechnet,
ausgehend von den Reihenfolgen der einzelnen Suchmaschinen, eine Reihenfolge von hoffentlich relevanten Dokumenten. Eine Meta-Suchmaschine muss damit das folgende Integrationsproblem lösen.
Gegeben sind Teilmengen T1 , . . . , Tn ⊆ U eines Universums U sowie Ordnungen <1
, . . . , <n , wobei <i eine vollständige Ordnung auf der Teilmenge Ti ist. Es ist eine mögS
lichst „gute“ vollständige Ordnung für die Teilmenge T = ni=1 Ti zu bestimmen.
Im Kontext einer Meta-Suchmaschine entspricht das Universum U der Menge aller Dokumente, die Teilmenge Ti ⊆ U den von der iten Suchmaschine ausgegebenen, potentiell informativen
Dokumenten und die vollständige Ordnung <i der ausgegebenen Reihenfolge der Dokumente
in Ti .
Das Integrationsproblem kann natürlich auch für konventionelle Suchmaschinen angewandt
werden, um verschiedene interne Reihenfolgen zu “integrieren“. Weitere Anwendungen bestehen in Auswahlproblemen, wenn also Objekte unter mehreren Auswahlkriterien auszuwählen
sind: Betrachten wir zum Beispiel ein ideales Flug-Reservierungssystem, das dem Anwender
erlaubt, seine Präferenzen im Hinblick auf Preis, Reisezeit, Reiselänge, Anzahl der Zwischenstops, Wahl von Fenster- oder Gangsitzen, Frequent-Flier Optionen und Ticket-Rückgaberecht
zu nennen. Während das Reservierungssystem für jedes der einzelnen Kriterien eine Reihenfolge der jeweiligen Flugmöglichkeiten ohne Probleme berechnen kann, ist die Berechnung einer
für den Anwender zufriedenstellende Reihenfolge im Hinblick auf alle Kriterien die wirkliche
Herausforderung.
Zwar ist das Integrationsproblem wegen seiner vielfältigen Anwendungen sehr interessant,
doch fehlt eine Erklärung, was denn eine gute vollständige Ordnung ist. Wir werden sogar im
nächsten Abschnitt mit Hilfe des Unmöglichkeitssatzes von Arrow sehen, dass eine einfache,
überzeugende Erklärung nicht zu erwarten ist.
In Abschnitt 2.4.2 führen wir die Kendall-Distanz ein und wenden Heuristiken zur Berechnungen von Ordnungen mit kleiner Kendall-Distanz zu vorgegebenen Ordnungen <1 , . . . , <n
an. Die berechneten Ordnungen können experimentell in vielen Fällen überzeugen.
2.4. META-SUCHMASCHINEN
2.4.1
39
Der Unmöglichkeitssatz von Arrow
Wir nehmen in diesem Abschnitt T1 = · · · = Tn = U an.
Definition 2.8 Ein Präferenzen-Funktional P ordnet n Ordnungen (oder Reihenfolgen) <1
, . . . , <n von n eine Ordnung < zu.
- P respektiert Einstimmigkeit, falls für alle x, y ∈ U :
x <i y für alle i ∈ {1, . . . , n} ⇒ x<y.
- P ist unabhängig von irrelevanten Alternativen, wenn für alle x, y ∈ U nur die n individuellen Vergleiche zwischen x und y über die Präferenz x<y entscheiden.
Formal: Es gelte x <i y genau dann, wenn x ≺i y gilt. Wenn P (<1 , . . . , <n ) die Ordnung
< und P (≺1 , . . . , ≺n ) die Ordnung ≺ bestimmt, dann ist
x < y ⇔ x ≺ y.
- Das Funktional Di (<1 , . . . , <n ) = <i heißt Diktatur-Funktional.
Bemerkung 2.1 Die folgende Anekdote, die dem amerikanischen Philosophen Sidney Morgenbesser zugeschrieben wird, verdeutlicht einen Verstoß gegen die Unabhängigkeit von irrelevanten Attributen.
Als Nachtisch wurden Morgenbesser einmal Apfel- und Blaubeerkuchen angeboten. Er entschied sich für den Apfelkuchen. Als die Kellnerin ergänzte, das auch
Erdbeerkuchen im Angebot sei, nahm er den Blaubeerkuchen.
In dieser Anekdote erscheint die Unabhängigkeit von irrelevanten Attributen als eine natürliche Forderung, die nur für Philosophen nicht zutrifft. Allerdings wird hier die Perspektive
einer einzigen Reihenfolge, nämlich der Präferenzen von Morgenbesser eingenommen, nicht
aber die Perspektive der „sozialen“ Reihenfolge P (<1 , . . . , <n ). Eine soziale Reihenfolge sollte doch auch Rangunterschiede zwischen den beiden Optionen in den einzelnen Reihenfolgen
berücksichtigen; gerade dies ist aber ausgeschlossen, wenn Unbhängigkeit von irrelevanten
Attributen gefordert wird: Rangunterschiede entstehen durch „Dritte“, also durch irrelevante
Attribute.
Satz 2.9 Der Unmöglichkeitssatz von Arrow
Es gelte |U | ≥ 3. Wenn P ein Präferenzen-Funktional ist, das unabhängig von irrelevanten
Alternativen ist und Einstimmigkeit respektiert, dann ist P ein Diktatur-Funktional.
Wir überzeugen uns zuerst an einigen Beispielen, dass die Konstruktion eines PräferenzenFunktionals nicht gelingt, wenn Unabhängigkeit von irrelevanten Alternativen und Einstimmigkeit gefordert wird. Der Fall |U | = 2 ist einfach.
Beispiel 2.1 Wenn U = {x, y}, dann gibt es nur zwei vollständige Ordnungen. Das Demokratie-Funktional wählt in diesem Fall die vollständige Ordnung nach dem Mehrheitsprinzip. Bei
Stimmengleichheit wird x < y gesetzt. Das Demokratie-Funktional respektiert Einstimmigkeit
und ist unabhängig von irrelevanten Alternativen.
40
KAPITEL 2. SUCHMASCHINEN
Schon für |U | = 3 ändert sich die Situation entscheidend, denn es gibt keine „überall gerechten“ Funktionale. Betrachten wir zum Beispiel die Mehrheitsabstimmung auf Paaren:
Definiere die globale Präferenz x<y, falls eine Mehrheit der individuellen Präferenzen
y gegenüber x bevorzugt.
Hier macht die Transitivität Ärger, denn aus x<1 y<1 z, y<2 z<2 x und z<3 x<3 y erhalten
wir die zyklischen globalen Präferenzen x<y, y<z und z<x. Dieses Beispiel wurde zuerst
vom Marquis de Condorcet in 1785 erwähnt und wird deshalb auch als Condorcet’s Paradox
bezeichnet.
Beweis des Unmöglichkeitssatzes von Arrow: Wir nehmen an, dass das Funktional P
Einstimmigkeit respektiert und unabhängig von irrelevanten Attributen ist.
Behauptung 1: Es gelte x <i y genau dann, wenn u ≺i v gilt. Wenn P (<1 , . . . , <n ) die
Ordnung < und P (≺1 , . . . , ≺n ) die Ordnung ≺ bestimmt, dann ist
x < y ⇔ u ≺ v.
Beweis: Nach einer Namensänderung können wir annehmen, dass x < y und u 6= y gilt. Wir
konstruieren Ordnungen i , so dass i die Präferenzen von <i bezüglich x und y wie auch
die Präferenzen von ≺i bezüglich u und v wiedergibt. Zusätzlich wird stets u i x (es sei
denn u = x) und y i v (es sei denn y = v) gelten.
Haben wir dies erreicht und ist P (1 , . . . , n ) =, dann folgt u x und y v, denn P
respektiert Einstimmigkeit. Aber i gibt ebenfalls die Präferenzen von <i bezüglich x und
y wieder. Da P unabhängig von irrelevanten Attributen ist und x < y gilt, folgt x y: Aus
u x, x y und y v folgt u v über die Transitivität einer Ordnung. Wir wenden
wieder die Unabhängigkeit von irrelevanten Attributen an und folgern u ≺ v, denn i gibt
die Präferenzen von ≺i bezüglich u und v wieder.
Die Konstruktion von i ist simpel: Verschiebe u in <i direkt unter x und verschiebe v
direkt über y. Beachte, dass i genau die Präferenzen von <i bezüglich x und y und von ≺i
bezüglich u und v wiedergibt, denn x <i y ⇔ u ≺i v.
Wir müssen zeigen, dass P das Diktator-Funktional ist. Welche Ordnung wird zum Diktator?
Dazu greifen wir zwei beliebige Elemente x, y ∈ U heraus. Wenn wir n Ordnungen π 0 betrachten, die alle x geringer als y einschätzen, dann wird P ebenfalls x geringer als y einschätzen.
Betrachten wir hingegen n Ordnungen π n , die alle x höher als y einstufen, dann wird auch
P die Option x höher als y einschätzen. Jetzt betrachten wir für jedes 0 < i < n wieder n
Ordnungen π i , die diesmal zuerst n − i Mal x geringer als y und dann i Mal die Option x
höher als y einschätzen. Sei k minimal mit der Eigenschaft, dass P für die Ordnungen in π k
die Option x höher als y einordnet. Wir behaupten, dass P stets die kte Ordnung auswählt.
Behauptung 2: Es gelte P (<1 , . . . , <n ) =<. Für beliebige u, v ∈ U gilt
u < v ⇔ u <k v.
Beweis: Es gelte u <k v und wir müssen u < v nachweisen.
Sei z eine beliebige dritte Option. Wir machen die Option z zur niedrigst eingeschätzten
Option in allen Ordnungen <i mit i < k und zur höchst eingeschätzten Option in Ordnungen
<i mit i > k. Schließlich modifiziere <k so, dass u <k z <k v gilt. Das Funktional P möge
die Ordnung ≺ für die neuen Ordnungen bestimmen: Da P unabhängig von irrelevanten
Attributen ist, gilt u < v ⇔ u ≺ v.
2.4. META-SUCHMASCHINEN
41
In den neuen Ordnungen werden z und u genauso eingeschätzt wie x und y in π k . In π k wird
aber x höher als y eingeschätzt und deshalb ist u ≺ z als Konsequenz von Behauptung 1. Andererseits werden z und v in den neuen Ordnungen genauso wie x und y in π k−1 eingeordnet:
Da aber x niedriger als y in π k−1 eingeschätzt wird, folgt diesmal z ≺ v aus Behauptung 1.
Wir haben also u ≺ z und z ≺ v erhalten: Es folgt u ≺ v über die Transitivität und somit
gilt u < v wie verlangt.
Der Unmöglichkeitssatz von Arrow schließt nur die Bestimmung einer überzeugenden „sozialen Ordnung“ aus, nicht aber die Bestimmung einer überzeugenden „sozialen Option“. Nehmen
wir also an, dass Q(<1 , . . . , <n ) stets eine Option bestimmt: Welche Eigenschaften sollten wir
von Q fordern?
Sicherlich ist es wünschenswert, wenn jeder Wähler ehrlich, also gemäß den eigenen Überzeugungen abstimmen kann ohne taktische Überlegungen durchführen zu müssen. Insbsondere
sollte Q monoton sein:
Definition 2.10 Das Funktional Q ist monoton, wenn stets
Q(<1 , . . . , <i , . . . , <n ) = a 6= b = Q(<1 , . . . , ≺i , . . . , <n ) ⇒ (b <i a ∧ a ≺i b)
gilt.
Ist ein Funktional nicht monoton, dann treten Situationen auf, in denen es vorteilhaft ist,
gegen die eigenen Überzeugungen abzustimmen.
Satz 2.11 Der Satz von Gibbard-Satterthwaite
Es gelte |U | ≥ 3. Q sei ein monotones Funktional, das jede Option in U mindestens einmal als
Wert annehmen kann. Dann ist Q ein Diktator-Funktional, d.h. Q wählt stets die beliebteste
Option einer fixierten Eingabe-Ordnung.
Wir geben eine Beweisskizze. Angenommen Q ist ein monotones Funktional mit Eingaben <1
, . . . , <n . Wir erzeugen ein Präferenzen-Funktion P aus Q und zeigen, dass P Einstimmigkeit
respektiert und unabhängig von irrelevanten Attributen ist. Die Behauptung folgt dann aus
dem Satz von Arrow.
Um die Ordnung P (<1 , . . . , <n ) =< festzulegen, genügt es für je zwei Optionen u, v ∈ U zu
klären, ob u < v oder v < u gilt. Dazu bewegen wir u und v in jeder Ordnung <i ganz nach
oben, behalten die ursprüngliche Präferenz zwischen u und v aber bei: Wenn ≺i die neue
Ordnung bezeichnet, dann ist u <i v ⇔ u ≺i v. Jetzt setze
u < v ⇔ Q(≺1 , . . . , ≺n ) = v.
Aufgabe 19
(a) Zeige, dass < tatsächlich eine Ordnung ist.
(b) Weise nach, dass P Einstimmigkeit respektiert und unabhängig von irrelevanten Attributen ist.
(c) Beweise den Satz von Gibbard-Satterthwaite.
Der Satz von Gibbard-Satterthwaite hat unmittelbare Konsequenzen für den MechanismenEntwurf4 : n Spieler sollen entscheiden, welche Option aus einer Menge U von Optionen auszuwählen ist, zum Beispiel welche Baumaßnahme mit Steuergeldern zu finanzieren ist. Um die
auszuführende Baumaßnahme zu entscheiden, ist die ehrliche Angabe der Präferenzen eine
Vorbedingung. Nach dem Satz von Gibbard-Satterthwaite gibt es aber keinen „Mechanismus“,
der taktisches, unehrliches Verhalten ausschließen kann.
4
Im Mechanismen Entwurf sind die Regeln eines Multi-Agenten Spiels so festzulegen, dass ein gewünschtes
Endergebnis für sich rational verhaltende Spieler erzielt wird.
42
KAPITEL 2. SUCHMASCHINEN
2.4.2
Die Kendall-Distanz
Nach dem Unmöglichkeitssatz von Arrow ist eine eindeutige, überzeugende Definition einer
besten vollständigen Ordnung nicht zu erwarten. Wir besprechen eine Reihe bisher vorgeschlagener Definitionen und betrachten dazu zuerst Bordas Regel:
Für jedes x ∈ U wird Rangi (x) = |{z ∈ U | z ≤i x}|, der Rang von x bezüglich <i ,
bestimmt. Danach werden die Ergebnisse in der globalen Präferenz gemäß steigender
P
Rangsumme ni=1 Rangi (x) angeordnet.
Bordas Regel kann in Zeit O(n·|U |) berechnet werden, aber eine Berechnung für partielle Reihenfolgen <1 , . . . , <n , also für Reihenfolgen mit Ti ⊆ U ist unklar. Bordas Regel respektiert
Einstimmigkeit aber sie muss nach dem Satz von Arrow die Unabhängigkeit von irrelevanten
Alternativen verletzen. (Rangunterschiede sind in Bordas Regel entscheidend und Rangunterschiede werden durch „Dritte“ hervorgerufen.) Bordas Regel verletzt auch die abgeschwächte
Demokratie-Eigenschaft:
Wenn für irgendeine Teilmenge S ⊆ U und für alle y ∈ S und x ∈ S stets eine
Mehrheit der Ordnungen y gegenüber x bevorzugt, dann ist x < y.
Diese Eigenschaft ist wichtig, um Spamming erfolgreich begegnen zu können: Wenn eine Mehrheit von Suchmaschinen Spamming-Versuche erkennt, dann kann selbst ein hohes Ranking
weniger Suchmaschinen kompensiert werden.
Aufgabe 20
Wir haben eine endliche Menge I von Wählern und eine endliche Menge U von Alternativen. Jeder Wähler i
bestimmt seine Präferenz (oder Reihenfolge) <i auf U . Ein Präferenzen-Funktional P ist
(i) anonym, falls die berechnete Präferenz nicht von der
Reihenfolge der individuellen Präferenzen abhängt.
(Es gilt also P (<1 , . . . , <n ) = P <π(1) , . . . , <π(n) für jede Permutation π.)
(ii) neutral, falls für je zwei Alternativen x und y eine Vertauschung von x und y in jeder Reihenfolge zu
einer Vertauschung in der berechneten Präferenz führt.
(iii) monoton, falls für jedes x, y ∈ U mit x < y die Beziehung x < y weiterhin gilt, falls x und y in
irgendeiner Reihenfolge <i vertauscht werden, so dass jetzt x <i y gilt.
(a) Es sei |U | = 2. Zeige, dass das Demokratie-Funktional das einzige Präferenzen-Funktional ist, das anonym,
neutral und monoton ist.
(b) Es gelte |U | ≥ 3. Ist Bordas Regel anonym? Ist Bordas Regel neutral? Ist Bordas Regel monoton?
(c) Zeige, dass Bordas Regel die abgeschwächte Demokratie-Eigenschaft bereits für |S| = 1 verletzt.
Die Spearman-Distanz S(<1 , <2 ) zwischen zwei vollständigen Ordnungen <1 und <2 wird
durch
X
S(<1 , <2 ) =
|Rang1 (x) − Rang2 (x)|
x∈U
definiert. Für gegebene vollständige Ordnungen <1 , . . . , <n ist dann
s(<1 , . . . , <n ; <) =
n
X
S(<i , <)
i=1
die von der vollständigen Ordnung < erreichte Distanz.
Lemma 2.12 Eine für die Spearman-Distanz optimale vollständige Ordnung kann effizient
berechnet werden.
2.4. META-SUCHMASCHINEN
43
Beweis: Wir stellen einen vollständigen bipartiten Graphen mit den Knotenmengen V1 = U
und V2 = {1, . . . , |U |} auf. Für ein Element x ∈ V1 und eine „Position“ p ∈ V2 wird die Kante
P
{x, p} mit dem Gewicht ni=1 |Rangi (x) − p| versehen.
Ein perfektes Matching, also eine Teilmenge E der Kantenmenge, so dass jeder Knoten aus
V1 wie auch jeder Knoten aus V2 Endpunkt von genau einer Kante aus E ist, definiert eine
vollständige Ordnung: Wenn {x, p} ∈ E, dann definieren wir p als den Rang von x in <. Umgekehrt definiert eine vollständige Ordnung das perfekte Matching { {x, Rang(x)} | x ∈ V1 },
und wir erhalten eine eindeutige Entsprechung von Matchings und vollständigen Ordnungen.
Jetzt brauchen wir nur noch zu beobachten, dass s(<1 , . . . , <n , ; <) das Kantengewicht des
Matchings von < ist. Also ist ein perfektes Matching von minimalem Gewicht eine optimale
Spearman Lösung. Die Behauptung folgt, da perfekte Matchings von minimalem Gewicht
effizient bestimmt werden können.
Die Berechnung optimaler Reihenfolge für partielle Reihenfolgen <1 , . . . , <n führt allerdings
wieder auf ein N P -vollständiges Problem, wenn wir für die Berechnung der Distanz S(<i , <)
nur die Ränge von Elementen aus Ti heranziehen. Trotzdem lassen sich gute Ergebnisse nach
einer geringfügigen Modifikation des Algorithmus aus Lemma 2.12 erzielen: Für die neuen
S
Setzungen V1 = T (mit T = ni=1 Ti ) und V2 = {1, . . . , |T |} wird die neue Gewichtung
Pn
i=1 |Rangi (x)/|Ti | − p/|T || der Kante {x, p} verwandt.
Die Kendall-Distanz K(<1 , <2 ) wird durch
K(<1 , <2 ) = |{(x, y) ∈ U | x <1 y und y <2 x}|
definiert und ist damit die minimale Anzahl von Transpositionen benachbarter Elemente, um
die Reihenfolge <1 in die Reihenfolge <2 zu verwandeln. Auch hier wird die Distanz einer
vollständigen Ordnung < zu gegebenen vollständigen Ordnungen <1 , . . . , <n als Summe der
Distanzen, also durch
k(<1 , . . . , <n ; <) =
n
X
K(<i , <)
i=1
festgelegt. Für partielle Reihenfolgen <1 , . . . , <n beschränkt man sich zur Berechnung von
K(<i , <) auf die Elemente aus Ti . Leider stellt sich die Berechnung optimaler Reihenfolgen
schon für n = 4 und selbst für vollständige Reihenfolgen als ein NP-vollständiges Problem
heraus. Allerdings besteht ein enger Zusammenhang zwischen der Spearman- und der KendallDistanz:
Aufgabe 21
Zeige, dass stets K(<1 , <2 ) ≤ S(<1 , <2 ) ≤ 2·K(<1 , <2 ) für vollständige Reihenfolgen gilt. Optimale Lösungen
für die Kendall-Distanz können also effizient bis auf den Faktor zwei approximiert werden.
Wir zeigen, dass Kendall-optimale Ordnungen < die abgeschwächte Demokratie-Eigenschaft
besitzen. Da eine effiziente Berechnung Kendall-optimaler Lösungen nicht wahrscheinlich ist,
müssen wir aber auf Approximationen zurückgreifen und damit besteht die Gefahr, dass die
abgeschwächte Demokratie-Eigenschaft verletzt ist. Eine Wiederherstellung ist aber selbst für
partielle Reihenfolgen einfach.
Lemma 2.13 Die Reihenfolgen <1 , . . . , <n und < seien vorgegeben. Dann kann eine ReiS
henfolge <∗ in Zeit O(n · | ni=1 Ti |2 ) bestimmt werden, so dass
- <∗ die abgeschwächte Demokratie-Eigenschaft besitzt und
- k(<1 , . . . , <n , <∗ ) ≤ k(<1 , . . . , <n , <) gilt.
44
KAPITEL 2. SUCHMASCHINEN
Beweis: O.B.d.A. sei U = {1, . . . , |U |} und es gelte 1 > 2 > · · · > |U |}. Wir bestimmen <∗
iterativ. Wenn wir <∗ schon auf den Elementen 1, . . . , k definiert haben, dann legen wir <∗
als Nächstes auf den Elementen 1, . . . , k, k +1 fest. Wir versuchen zuerst k +1 als kleinstes der
jetzt k + 1 vielen Elemente festzulegen, vertauschen aber k + 1 mit dem k-kleinsten Element,
wenn eine Mehrheit der Reihenfolgen <1 , . . . , <n dies verlangt. Dieser Vertauschungsprozess
wird solange wiederholt, bis Element k + 1 zur „Ruhe kommt“.
Wir beachten zuerst, dass <∗ mindestens so gut wie < ist, da kein Vertauschungsschritt
die k-Distanz erhöht. Wir verifizieren die abgeschwächte Demokratie-Eigenschft als nächstes.
Offensichtlich ist <∗ bezüglich der Distanzmessung k(<1 , . . . , <n , <∗ ) im folgenden Sinne lokal
optimal: Wenn wir irgendein Paar von in <∗ aufeinanderfolgenden Elementen vertauschen,
dann wird die Distanz k nicht abnehmen.
Angenommen <∗ erfüllt die abgeschwächte Demokratie-Eigenschaft nicht. Dann gibt es eine
Teilmenge S ⊆ {1, . . . , n} und Elemente s ∈, so dass von den meisten Ordnungen stets s ∈ S
gegenüber t 6∈ S bevorzugt wird. Allerdings gibt es auch Elemente u ∈ S, v 6∈ S mit u <∗ v.
Wir nehmen an, dass das Paar (u, v), unter allen Gegenbeispielen für die abgeschwächte
Demokratie-Eigenschaft unter der Ordnung <∗ die geringste Distanz besitzt.
Sei w der unmittelbare Nachfolger von v bezüglich <∗ , d.h. w ist das bezüglich <∗ größte
Element kleiner als v. Wenn w = u, dann ist <∗ nicht lokal maximal, da eine Vertauschung
von v und u die Gesamtdistanz verringert. Also ist v >∗ w >∗ u und w muss zur Menge S
gehören, da (u, w) ansonsten ein Gegenbeispiel geringerer Distanz ist. Aber auch dies ist nicht
möglich, da dann (w, v) ein Gegenbeispiel von benachbarten Elementen ist.
Die Berechnung von <∗ benötigt Θ(n · |U |2 ) Operationen im Worst-Case, aber wir können die
Rechenzeit signifikant verbessern, wenn wir nur irgendein lokales Optimum finden möchten.
Dazu definieren wir einen gerichteten Graphen G = (U, E) mit Knotenmenge U und fügen
Kanten (y, x) ein, wann immer eine Mehrheit der Ordnungen <i mit x, y ∈ Ti das Element y
gegenüber x bevorzugt; bei einem Unentschieden setzen wir die beiden Kanten (x, y) und (y, x)
ein. Beachte, dass lokal optimale Ordnungen und Hamilton’sche Wege einander entsprechen.
Aufgabe 22
Zeige, dass eine lokal optimale Ordnung in Zeit O(k · |T | · log2 |T |) gefunden werden kann.
Aufgabe 23
Die Ordnungen <1 , . . . , <n und < seien vorgegeben. Wir nennen <∗ konsistent mit <1 , . . . , <n und <, falls
wann immer x <∗ y auch x < y gilt, oder aber eine Mehrheit der Ordnungen <i mit x, y ∈ Ti bevorzugt das
Element y gegenüber x.
(a) Zeige, dass <∗ mindestens so gut wie < bezüglich k ist.
(b) Wenn wir die Ordnungen auf die m höchsten (gemäß <) Elemente einschränken, dann ist <∗ eindeutig
bestimmt, falls <∗ lokal optimal und konsistent mit <1 , . . . , <n und < ist.
Bisher werden vor Allem Varianten von Borda’s Regel zur Bestimmung guter Ordnungen
für die Kendall-Distanz eingesetzt. Wir haben aber bereits mit dem Verfahren von Lemma
2.12 eine weitere Heuristik kennengelernt. Da die Spearman-Distanz die Kendall-Distanz bis
auf den Faktor zwei approximiert, überrascht es nicht, dass im Vergleich zur Borda’s Regel
experimentell eine weitaus bessere Approximation beobachtet wurde. Wir lernen jetzt eine
dritte, einfachere aber in experimentellen Tests mindestens so erfolgreiche Heuristik kennen.
Algorithmus 2.14 Der Markoff-Ketten Ansatz.
(1) Bestimme T =
Sn
i=1 Ti .
2.5. DAS SEMANTISCHE NETZ
45
(2) Konstruiere eine Markoff-Kette (G, P ) mit Zustandsmenge T wie folgt. Für x ∈ T sei
Größer(x) = {y | x <i y für die meisten Ordnungen <i mit x, y ∈ Ti }.
Dann setze P [x, y] =
1
|Größer(x)| ,
falls y ∈ Größer(x), und P [x, y] = 0 sonst.
(3) Bestimme die stationäre Verteilung π von (G, P ).
(4) Berechne eine vollständige Ordnung < für π.
Wir müssen die Berechnung der Ordnung < für die stationäre Verteilung π präzisieren. Der
gerichtete Graph G = (V, E) zerfällt in starke Zusammenhangskomponenten5 . Sei X die Menge der starken Zusammenhangskomponenten. Wir bauen einen weiteren gerichteten Graph
G∗ = (X , E ∗ ), wobei wir eine Kante (X1 , X2 ) für X1 , X2 ∈ X einsetzen, wenn G eine Kante
(x1 , x2 ) mit x1 ∈ X1 und x2 ∈ X2 besitzt.
Aufgabe 24
Zeige, dass G∗ kreisfrei ist.
Wenn x ∈ X und wenn X keine Senke ist, dann ist die Wahrscheinlichkeit den Knoten x
beliebig oft zu erreichen gleich Null und es gilt π(x) = 0. Wir bestimmen deshalb zuerst π
nur für solche Knoten, die zu den Senken von G∗ gehören, und fordern x1 < x2 , wann immer
π(x1 ) < π(x2 ) gilt.
Als Nächstes entfernen wir alle Senken aus G∗ und alle Knoten aus G, die zu den Senken von
G∗ gehören. Wir bilden gemäß Algorithmus 2.14 eine Markoff-Kette auf den verbleibenden
Knoten und wiederholen das obige Verfahren, wobei die neuen Knoten in < unterhalb den
alten Knoten angesiedelt werden.
Offenes Problem 1
Bestimme den Approximationsfaktor des Markoff-Ketten Ansatzes.
Sowohl für die Spearman-Distanz wie auch für die Kendall-Distanz kann eine Gewichtung der
individuellen Ordnungen <1 , . . . , <n eingeführt werden, um die Voraussagekraft der jeweiligen
Reihenfolgen auszudrücken. Die obigen Ergebnisse bleiben weiterhin bestehen.
2.5
Das Semantische Netz
Nach Berners-Lee, einem Pionier des World-Wide-Web, ist das Semantic Web eine Erweiterung des herkömmlichen Webs, in der Informationen mit Maschinen-verständlichen Bedeutungen versehen werden, um die Semantik der Inhalte formal festlegen.
Die Grundidee ist die Implementierung eines verteilten semantischen Netzes, in der die Annotation der HTML/XML-Seiten eine wichtige Rolle spielt. Zum einen wird die Bedeutung von
Web-Links durch die Annotation erklärt, zum anderen wird mit der Annotation Reasoning
möglich: Besagt die Annotation eines Dokuments zum Beispiel, dass es sich mit „Fußball“
beschäftigt und geht aus der zugrundeliegenden Ontologie hervor, dass der Begriff „Fußball“
eine „Sportart“ darstellt, dann kann geschlossen werden, dass es im Dokument also auch um
5
Ein gerichteter Graph heißt stark zusammenhängend, falls je zwei Knoten des Graphen durch einen Weg
miteinander verbunden sind. Ein Teilgraph H = (V 0 , E 0 ) mit E 0 ⊆ E von G heißt eine starke Zusammenhangskomponente von G, falls H stark zusammenhängend ist und kein Teilgraph, der H echt enthält, stark
zusammenhängend ist.
46
KAPITEL 2. SUCHMASCHINEN
Sport geht, obwohl dies nicht explizit in den Metadaten auftaucht. Bei entsprechender Qualität der Annotation lässt sich ein hoher Grad automatischer Verarbeitung erreichen. So wäre
es zum Beispiel sogar denkbar, dass eine Suchmaschine im Semantischen Netz Anfragen der
Art „Wie viele Tore hat Fußballer X im Jahre 1998 geschossen?“ direkt beantworten kann.
Allerdings ist es unklar, ob sich das semantische Web durchsetzen wird: Ein überzeugender Standard hat sich bisher nicht etablieren können. Auch wird die zusätzliche Annotation
des Anwenders nicht unmittelbar belohnt, und es stellt sich die Frage, ob viele Anwender
diese zusätzliche Arbeit auf sich nehmen werden. Das Konzept des semantischen Netzes ist
aber sehr attraktiv und, bei einer Einschränkung auf objektive semantische Daten, werden
Suchmaschinen profitieren können.
2.6
Zusammenfassung
Wir haben den Random Surfer Ansatz von Google sowie den Hubs-Authorities Ansatz von
Kleinberg vorgestellt. Beide Ansätze bewerten Dokumente durch einen Peer-Review mit Hilfe der Connectivity-Analyse. Um erfolgreich zu sein, müssen deshalb die Annahmen der
Connectivity-Analyse zutreffen: Wenn ein Dokument A auf Dokument B zeigt, dann
- gibt es eine inhaltliche Beziehung zwischen den beiden Dokumenten und
- der Autor des Dokuments A hält Dokument B für wertvoll.
Google berechnet den Page-Rank eines Dokuments w als eine Anfrage-unabhängige Bewertung: Der Page-Rank pr(w) ist hoch, wenn viele Dokumente u mit hohem Page-Rank pr(u)
auf das Dokument w zeigen. Eine Formalisierung des Page-Rank Konzepts führt dann auf
pr = d · p + (1 − d) · pr · P,
(2.6)
wobei der Vektor p durch pw = n1 definiert ist. Der mit einer (im Vergleich zu 1) kleinen Konstante d gewichtete Vektor p garantiert, dass der Page-Rank mit der stationären Verteilung
auf dem Webgraphen übereinstimmt, wenn wir die Übergangswahrscheinlichkeiten
(
P 0 [u, w] =
d
n
d
n
+
1−d
du
(u, w) ist ein Hyperlink
sonst.
für den Übergang von Dokument u auf Dokument w wählen: Die Forderung (2.6) besitzt eine
eindeutige Lösung, wenn wir zusätzlich fordern, dass der Page-Rank Vektor eine Verteilung
ist. Als Konsequenz stimmt der Page-Rank prw mit der relativen Häufigkeit überein, dass ein
Random Surfer das Dokument w besucht.
Ein wesentlicher Nachteil ist die Unabhängigkeit des Page-Ranks von der Anfrage. Wir haben
deshalb die Möglichkeit benutzt, den Vektor p in (2.6) für ein vorgegebenes Themengebiet T
maßzuschneidern. Wenn ein Crawler das Dokument w besucht und die Kompetenz pTw für das
Themengebiet feststellt, dann können wir
pr(i) = d · pT + (1 − d) · pr(i) · P,
(2.7)
als den Page-Rank für Themengebiet T einführen. Dabei genügt eine text-basierte Kompetenzbewertung pTw von w, da wir ja weiterhin eine Connectivity-Analyse ausführen.
2.6. ZUSAMMENFASSUNG
47
Der HITS-Algorithmus bestimmt Authorities (Dokumente von hoher Qualität) mit Hilfe
von Hubs (Dokumente mit „guten“ Links). In der Berechnung erhält ein Dokument, das auf
viele Dokumente mit hohem Authority-Gewicht zeigt, ein hohes Hub-Gewicht
Hu =
X
Aw ,
w, (u,w)∈Eσ
während ein Dokument, auf das viele Dokumente mit hohem Hub-Gewicht zeigen, ein hohes
Authority-Gewicht
X
Au =
Hw
w, (w,u)∈Eσ
erhält. In Anwendungen konvergieren die Hub- und Authorities-Vektoren nach nur relativ
wenigen Iterationen gegen die größten Eigenvektoren von M · M T bzw. von M T · M , wobei
M die Adjazenzmatrix eines Teilgraphen des Webgraphen ist.
Das Integrationsproblem ist für den Entwurf von Metasuchmaschinen und allgemeiner für
die Erstellung von Reihenfolgen im Hinblick auf mehrere Kriterien wesentlich. Wir haben
zuerst im Satz von Arrow gesehen, dass die Definition einer zufriedenstellenden Reihenfolge
schwierig ist. Da sich eine Metasuchmaschine vorrangig mit Spamming auseinandersetzen
muss, haben wir die Kendall-Distanz oder Bubblesort-Distanz
K(<1 , <2 ) = |{(x, y) ∈ U | x <1 y und y <2 x}|
zwischen zwei Reihenfolgen <1 und <2 eingeführt und die Qualität einer Reihenfolge < im
Hinblick auf die Reihenfolgen <1 , . . . , <n durch die Distanzsumme
k(<1 , . . . , <n ; <) =
n
X
K(<i , <)
i=1
gemessen. Die Bestimmung einer Reihenfolge mit kleinster Distanzsumme führt allerdings
auf ein N P -vollständiges Problem, aber gute Approximationen können zum Beispiel mit
Spearman-Reihenfolgen berechnet werden.
Wenn wir den Vertauschungsalgorithmus aus Lemma 2.13 anwenden, dann erfüllen diese
Approximationen auch die abgeschwächte Demokratie-Eigenschaft: Wenn für irgendeine Teilmenge S ⊆ {1, . . . , n} und für alle y ∈ S und x ∈ S stets eine Mehrheit der Reihenfolgen y gegenüber x bevorzugt, dann ist x < y. Die abgeschwächte Demokratie-Eigenschaft kann gegen
Spamming eingesetzt werden: Wenn eine Mehrheit von Suchmaschinen Spamming-Versuche
erkennt, dann kann selbst ein hohes Ranking „verdorbener“ Dokumente (unterstützt nur durch
eine Minderheit der Suchmaschinen) kompensiert werden.
48
KAPITEL 2. SUCHMASCHINEN
Kapitel 3
Hashing für Web-Anwendungen
Wir beschreiben zuerst verteilte Hashing-Verfahren, die in File-Sharing Anwendungen für
Peer-to-Peer Systeme1 eine wichtige Rolle spielen.
Als Nächstes stellen wir uns das Problem, alle Paare ähnlicher Objekte in einer großen Menge
von Objekte zu bestimmen. Wenn identische Objekte herauszufiltern sind, dann ist konventionelles Hashing eine gute Lösung. Auch die Bestimmung ähnlicher Objekte scheint trivial, da
ein Algorithmus mit quadratischer Laufzeit alle Paare inspizieren und auswerten kann. Allerdings können wir uns eine quadratische Laufzeit im Hinblick auf die Größe der Datenmenge
nicht leisten, und wir benutzen deshalb Min-Hashing, eine Variante des ähnlichkeitsbewahrenden Hashings.
Sodann speichern wir Mengen speicherplatz-effizient mit Hilfe von Bloom-Filtern ab. BloomFilter besitzen viele Anwendungen in Netzwerken und zwar besonders dann, wenn Knoten des
Netzwerks Mengen relevanter Informationen austauschen müssen: Der Netzwerk-Verkehr wird
Dank der Kompression durch Bloom-Filter weit weniger als mit konventionellen Methoden
belastet.
3.1
Verteiltes Hashing in Peer-to-Peer Netzwerken: CHORD
Die Musiktauschbörse Napster erlaubt den Austausch von MP3-Musikdateien über das Internet und verfolgt dazu eine Mischung des Client-Server und des Peer-to-Peer Ansatzes: Die
Napster-Software durchsucht den Kunden-Rechner nach MP3-Dateien und meldet die Ergebnisse an einen zentralen Server, der auch alleinigen Zugriff auf die Angebote und Suchanfragen
der anderen Teilnehmer hat (Client-Server Ansatz). Der Server meldet dann als Ergebnis auf
eine Anfrage die IP-Adressen der Rechner, die die gesuchte Musikdatei anbieten. Anbieter
und Käufer können sich daraufhin direkt miteinander verbinden (Peer-to-Peer Ansatz).
Das Gnutella-Netzwerk ist ein vollständig dezentrales Netzwerk ohne zentrale Server. Startet
ein Benutzer des Netzwerkes eine Suchanfrage, so wird diese zunächst nur an benachbarte
Systeme weitergeleitet. Diese leiten dann ihrerseits die Anfrage an ihre benachbarten Systeme
weiter, bis die angeforderte Datei gefunden wurde. Anschließend kann eine direkte Verbindung
zwischen suchendem und anbietendem Benutzer für die Datenübertragung hergestellt werden.
Gnutella überflutet also das Netz mit der Suchanfrage und wird deshalb nur unzureichend
skalieren.
1
In einem Peer-to-Peer-Netzwerk sind, im Gegensatz zu Client-Server Netzen, alle Rechner gleichberechtigt
und können sowohl Dienste in Anspruch nehmen als auch Dienste zur Verfügung stellen.
49
50
KAPITEL 3. HASHING FÜR WEB-ANWENDUNGEN
Reine Peer-to-Peer Systeme wie Gnutella sind ausfallsicherer und verteilen die hohe Belastung
des Servers auf die Peers. Wir beschreiben das reine Peer-to-Peer Sytem CHORD, das sowohl
den Zugriff auf Information wie auch die Registrierung neuer Peers oder das Abmelden alter
Peers dezentral und effizient erlaubt.
Unser Ziel ist die Definition eines Protokolls, dass den effizienten Zugriff auf Information
erlaubt, wenn Informationen auf verschiedenste Rechner verteilt ist und wenn Rechner das
Netzwerk verlassen bzw. dem Netzwerk beitreten dürfen. Beachte, dass Information durch
den Weggang, bzw. den Zugewinn von Rechnern bewegt werden muss und gute Protokolle
sollte diese dynamischen Veränderungen ohne großen zusätzlichen Kommunikationsaufwand
bewältigen.
Die zentrale algorithmische Idee besteht in dem Konzept konsistenter Hashfunktionen, die
sowohl auf die Menge R aller möglichen IP-Adressen wie auch auf die Menge D aller möglichen Dateien-ID’s angewandt werden dürfen. Im Unterschied zu den bisherigen Anwendungen
liefern unsere Hashfunktionen jetzt reelle Zahlen in dem Intervall [0, 1].
Definition 3.1 (a) Die Klasse konsistenter Hashfunktionen besteht aus allen Funktionen der
Form h : R ∪ D → [0, 1].
(b) Sei R eine Teilmenge von R. Wenn h(r1 ) < h(r2 ) für zwei Rechner r1 , r2 ∈ R gilt und
wenn es keinen Rechner r3 ∈ R mit h(r1 ) < h(r3 ) < h(r2 ) gibt, dann heisst r2 der Nachfolger
von r1 und r1 der Vorgänger von r2 bezüglich h.
Wir rechnen modulo 1, d.h. der Rechner mit größtem Hashwert ist Vorgänger des Rechners
mit kleinstem Hashwert. Demgemäß sollte man sich das Intervall [0, 1] als Kreis vorstellen.
(c) Sei R eine Teilmenge von R und D eine Teilmenge von D. Dann sagen wir, dass der
Rechner r2 ∈ R für die Dateienmenge D0 ⊆ D zuständig ist, falls r2 ∈ R der Nachfolger von
r1 ist und D0 = {d ∈ D | h(r1 ) < h(d) < h(r2 ) gilt.
Angenommen die Dateienmenge D ist von den Rechnern in R abzuspeichern. Dann wird
in Chord ein Rechner genau die Dateien speichern, für die er zuständig ist. Wenn jetzt ein
Rechner r ∈ R auf die Datei d ∈ D zugreifen möchte, dann berechnet r den Hashwert
h(d). Chord stellt zusätzliche Information, die Routing-Tabelle, bereit, so dass r den für d
zuständigen Rechner in wenigen Schritten lokalisieren kann:
(1) r erhält die IP-Adresse seines Vorgängers und seines Nachfolgers.
(2) Die Rechner sind durch die Hashfunktion auf dem Kreis angeordnet. Für jedes k erhält
r desweiteren die IP-Adresse Rr (k) des ersten Rechners mit einem Abstand von mindestens 2−k , d.h. es ist h(Rr (k)) ≥ h(r) + 2−k und für jeden Rechner t ∈ R zwischen r
und Rr (k) ist h(t) < h(r) + 2−k .
Auf der Suche nach Datei d bestimmt r den Wert k, so dass h(Rr (k)) ≤ h(d) ≤ h(Rr (k − 1))
und sendet seine Anfrage nach d an den Rechner s = Rr (k) mit der Bitte bei der Suche zu
helfen; s ist also der Rechner der Routingtabelle von r mit größtem Hashwert beschränkt
durch h(d). Rechner s bestimmt seinerseits den Wert l mit h(Rs (l)) ≤ h(d) ≤ h(Rs (l − 1))
und kontaktiert Rs (l). Dieses Verfahren wird solange wiederholt bis der Vorgänger v des für
die Datei d zuständigen Rechners erreicht ist. Rechner v kontaktiert seinen Nachfolger, der d
dann direkt an den ursprünglich anfragenden Rechner r verschickt.
Beachte, dass r und alle auf der Suche nach d beteiligten Rechner jeweils Rechner r0 mit
h(r0 ) ≤ h(v) kontaktieren. Wir behaupten, dass die Hashdistanz zu h(v) in jedem Suchschritt
mindestens halbiert wird.
3.1. VERTEILTES HASHING IN PEER-TO-PEER NETZWERKEN: CHORD
51
Lemma 3.2 Wenn r0 auf der Suche nach Datei d den Rechner r00 kontaktiert, dann ist
h(v) − h(r00 ) ≤
h(v) − h(r0 )
.
2
Beweis: Es gelte h(r0 ) + 2−k ≤ h(v) < h(r0 ) + 2−(k−1) . Dann wird r0 den Rechner r00 mit
h(r0 ) + 2−k ≤ h(r00 ) ≤ h(v) kontaktieren.
Es ist 2−k ≤ h(r00 ) − h(r0 ) und h(v) − h(r0 ) < 2−(k−1) . Also ist h(v) − h(r00 ) = h(v) − h(r0 ) +
h(r0 ) − h(r00 ) < 2−(k−1) − 2−k = 2−k . Also folgt
h(v) − h(r0 ) = h(v) − h(r00 ) + h(r00 ) − h(r0 ) ≥ h(v) − h(r00 ) + 2−k ≥ 2 · (h(v) − h(r00 ))
und das war zu zeigen.
Wir erwähnen ohne Beweis, dass die Rechner bei zufälliger Wahl der Hashfunktion gleichmäßig
mit Dateien belastet werden und dass die Rechner gleichmäßig auf dem Kreis verteilt sind.
Lemma 3.3 Sei |R| = n und |D| = m. Für hinreichend großes α gelten die folgenden Aussagen nach zufälliger Wahl einer konsistenten Hashfunktion mit “großer” Wahrscheinlichkeit:
(a) Jeder Rechner ist für höchstens α ·
m
n
· log2 (n) Dateien zuständig.
(b) Kein Interval der Länge α·n−2 enthält zwei Rechner und kein Interval der Länge α·m−2
enthält zwei Dateien.
(c) Die Suche nach der Datei s ist nach höchstens α · log2 n Schritten erfolgreich.
Betrachten wir als Nächstes das Einfügen von Rechnern. Wenn Rechner r dem System beitreten möchte, dann bittet r einen beliebigen Rechner des Systems die Suche nach h(r)
durchzuführen. Nach erfolgreicher Suche hat r seinen Nachfolger r0 gefunden und kann r0
benachrichtigen. r0 übermittelt die IP-Adresse des bisherigen Vorgängers und betrachtet r als
seinen neuen Vorgänger. Danach baut r seine Routing-Tabelle mit Hilfe seines Nachfolgers r0
auf: Wenn r auf die Anfrage nach dem fiktiven Hashwert h(r) + 2−k die IP-Adresse rk erhält,
dann ist Rr (k) = rk .
Warum besteht kein Grund zur Panik, wenn ein Hinzufügen von Rechnern nicht sofort vollständig in den Routing-Tabellen anderer Rechner vermerkt wird? Solange der Rechner Rr (k)
nicht entfernt wurde, hilft Rr (k) weiterhin in der Halbierung der Distanz und das gilt selbst
dann, wenn nähere Knoten im Abstand mindestens 2−k zwischenzeitlich eingefügt wurden.
Das erwartete Verhalten nach dem Einfügen von Rechnern ist beweisbar “gutmütig”:
Lemma 3.4 Zu einem gegebenen Zeitpunkt bestehe das Netz aus n Rechnern und alle ZeigerInformationen (also Vorgänger, Nachfolger und Distanz 2−k Rechner) seien korrekt. Wenn
dann n weitere Rechner hinzugefügt werden und selbst wenn nur Vorgänger und Nachfolger
richtig aktualisiert werden, dann gelingt eine Suche hochwahrscheinlich in Zeit O(log2 n).
Aufgabe 25
Zeige Lemma 3.4. Benutze, dass hochwahrscheinlich höchstens O(log2 n) neue Rechner zwischen zwei alten
Rechnern liegen.
Wenn sich ein Rechner r abmeldet, dann ist jetzt der Nachfolger von r für die Dateien von r
zuständig. Desweiteren muss sich r bei seinem Nachfolger und seinem Vorgänger abmelden.
Auch diesmal versucht Chord nicht, die Routing-Tabellen vollständig zu aktualisieren und
52
KAPITEL 3. HASHING FÜR WEB-ANWENDUNGEN
stattdessen überprüft jeder Rechner seine Routing-Tabelle in periodischen Abständen. Sollte
sich während der Suche nach einer Datei herausstellen, dass Rechner Rr (k) verschwunden
ist, dann leidet die Suche unmittelbar: r muss sich auf die Suche machen und kontaktiert
Rr (k−1) mit dem imaginären Adresse h(r)+2−k ; nach erhaltener Antwort kann die Dateisuche
fortgesetzt werden.
Aufgabe 26
(a) Zeige, dass die folgenden pathologischen Fälle nach Einfügen und Entfernen von Rechnern auftreten können:
- Die Nachfolger-Zeiger definieren eine Liste, die mehrfach über das Intervall [0, 1] “streicht”.
- Die Nachfolger-Zeiger definieren mehrere disjunkte Zyklen.
(b) Wie lassen sich diese Pathologien erkennen?
Ein zentrales Problem für Chord ist die Behandlung bösartiger Rechner, ein Problem das zum
jetzigen Zeitpunkt noch ungelöst ist. Ein ähnliches Problem ist der Ausfall von Rechnern ohne
vorige Abmeldung; dieses Problem ist aber zumindest approximativ durch Datenreplikation
über eine fixe Anzahl von Nachfolgern in den Griff zu bekommen. Beachte, dass die zufällige
Wahl der Hashfunktion einerseits für eine gleichmäßige Auslastung der Rechner und eine
schnelle Suchzeit sorgt; andererseits ist sie aber auch dafür verantwortlich, dass die “HopDistanz” zwischen auf dem Kreis benachbarten Rechnern groß sein wird.
Weitere Distributed Hashing Ansätze werden in den Systemen CAN, Pastry und Tapestry
verfolgt. Ein Vergleich wird in [BKKMS] durchgeführt.
3.2
Ähnlichkeitsbestimmung
Sei X eine Menge von Objekten. Wir definieren ein Ähnlichkeitsmaß als eine Funktion e :
X 2 → [0, 1] und fordern, dass e(a, b) genau dann den Wert 1 annimmt, wenn a = b. Bestimmte
Ähnlichkeitsmaße erlauben eine sehr schnelle Auswertung.
Definition 3.5 Sei Y eine Menge und sei F eine Menge von Funktionen h : X → Y . Dann
heißt F eine Klasse von ähnlichkeitsbewahrenden Hashfunktionen für X und das Ähnlichkeitsmaß e, wenn
probh∈F [ h(x) = h(y) ] = e(x, y).
Wenn F eine Klasse von ähnlichkeitsbewahrenden Hashfunktionen für X und e ist, dann
genügt die zufällige Auswahl weniger Hashfunktionen, um die Ähnlichkeit zweier Elemente x
und y approximativ zu bestimmen.
Beispiel 3.1 Hamming-Ähnlichkeit
Wir wählen X = {0, 1}n und e(x, y) = 1 − H(x, y)/n als Ähnlichkeitsmaß, wobei H den
Hamming-Abstand bezeichnet, also H(x, y) = |{i | xi 6= yi }|. Dann ist
F = {pi | pi (x) = xi }
eine Klasse ähnlichkeitsbewahrender Hashfunktionen für {0, 1}n und das Ähnlichkeitsmaß e,
denn e(x, y) = 1 − H(x, y)/n = (n − H(x, y))/n = |{i | xi = yi }|/n ist die Wahrscheinlichkeit,
dass x und y in einer zufällig gezogenen Bitposition übereinstimmen.
3.2. ÄHNLICHKEITSBESTIMMUNG
53
Beispiel 3.2 Der Jaccard-Koeffizient und Min-Hashing
Sei X = P(U ) die Klasse aller Teilmengen eines endlichen Universums U . Wir definieren den
Jaccard-Koeffizienten J(A, B) für zwei Teilmengen A und B durch
J(A, B) =
|A∩B |
.
|A∪B |
Beachte, dass 0 ≤ J(A, B) ≤ 1 und J(A, B) ist genau dann Eins, wenn A und B übereinstimmen. Für eine Permutation π von U setzen wir
min(A) = min{π(j) | j ∈ A}
π
und minπ ist das kleinste Element von A nach Permutation der Elemente von A gemäß
π. Schließlich wählen wir F = {minπ | π}. Die Klasse F definiert das wichtige Verfahren
des Min-Hashing. F ist eine Klasse ähnlichkeitsbewahrender Hashfunktionen für X und J.
Warum? Für Teilmengen A und B von U sei r ∈ A ∪ B das, nach Permutation, kleinste
Element in A ∪ B. Es gibt insgesamt |A ∪ B|-viele Möglichkeiten für die Wahl von r, von
denen aber genau |A ∩ B|-viele zur Gleichheit minπ (A) = minπ (B) führen.
Beispiel 3.3 Ähnlichkeit von Vektoren
Diesmal sei X = {x ∈ Rn | ||x|| = 1} die n-dimensionale Sphäre. Für zwei Vektoren x, y ∈ X
sei φ(x, y) der Winkel zwischen x und y. Dann ist e(x, y) = 1−φ(x, y)/π ein Ähnlichkeitsmaß.
Für jeden Vektor r ∈ X definieren wir die Funktion hr : X → {0, 1} durch
(
hr (z) =
1 hz, ri ≥ 0
0 sonst.
Aufgabe 27
Zeige, dass F = {hr | r ∈ X} eine Klasse ähnlichkeitsbewahrender Hashfunktionen für X und e ist.
Wir erhalten damit auch ein weiteres ähnlichkeitsbewahrendes Hashing-Verfahren für Teilmengen des Universums {1, . . . , n}: Wir repräsentieren eine Menge X durch ihren Inzidenzvektor2 eX . Als Ähnlichkeit zweier Teilmengen A, B ⊆ {1, . . . , n} können wir dann die Ähnlichkeit
ihrer Inzidenzvektoren wählen und der Ähnlichkeitswert von A und B ist dann 1−φ(eA , eB )/π.
Beachte, dass der Kosinus des Winkels mit dem inneren Produkt der Inzidenzvektoren, nach
Normierung auf Länge 1, übereinstimmt und es ist
cos(φ(eA , eB )) =
heA , eB i
|A ∩ B|
=p
.
||eA || · ||eB ||
|A| · |B|
Also ist e(A, B) = √|A∩B| ebenfalls ein Ähnlichkeitsmaß, dass indirekt schnell mit ähnlich|A|·|B|
keitsbewahrendem Hashing ausgewertet werden kann: Approximiere den Winkel φ(eA , eB )
mit ähnlichkeitsbewahrendem Hashing und wende dann den Kosinus an.
In den folgenden Abschnitten beschreiben wir Anwendungen und geben Kriterien für die
Existenz oder Nicht-Existenz von ähnlichkeitsbewahrenden Hashfunktionen an. Insbesondere
werden wir sehen, dass der Wertebereich {0, 1} im gewissen Sinne erzwungen werden kann.
2
Die ite Komponente des Inzidenzvektors eX ∈ {0, 1}n ist 1 genau dann, wenn i ∈ X.
54
KAPITEL 3. HASHING FÜR WEB-ANWENDUNGEN
3.2.1
Min-Hashing
Wir beschreiben zuerst eine Anwendung des ähnlichkeitsbewahrenden Hashing in der Entdeckung ähnlicher Web-Dokumente. Ungefähr 20% aller Web-Dokumente im Datenbestand
einer Suchmaschine scheinen Duplikate oder Fast-Duplikate zu sein. Gründe hierfür sind zum
Beispiel lokale Kopien beliebter Webseiten, Mirroring und falsch arbeitende Crawler. Dieses
Phänomen ist für Suchmaschinen äußerst ärgerlich, denn einerseits werden kostbare Ressourcen verschwendet und andererseits wird sich ein Anwender nicht durch sehr ähnliche Dokumente wühlen wollen. Unser Ziel ist deshalb die schnelle Bestimmung aller Paare ähnlicher
Dokumente in einer großen Dokumentenmenge.
In [BGMZ] wird deshalb ein Verfahren zur Ähnlichkeitsmessung von Dokumenten vorgeschlagen. Dazu wird ein Dokument A in Shingles (wenige aufeinanderfolgende Worte) aufgebrochen und das Dokument wird durch seine Shingle-Menge MA repräsentiert3 . Zur Messung
der Ähnlichkeit zweier Dokumente A und B wird dann der Jaccard Koeffizient J(MA , MB )
benutzt. Hohe Jaccard-Werte belegen eine entsprechend starke syntaktische Ähnlichkeit. Wir
können die Bestimmung von J(MA , MB ) durch ähnlichkeitsbewahrendes Hashing wesentlich
erleichtern. Dazu fassen wir MA als eine Teilmenge des Universums U = {1, . . . , N } auf (in
der Anwendung ist N ≈ 264 ) und wählen k Permutationen π1 , . . . , πk von U zufällig aus. Wir
definieren dann den Sketch des Dokuments X durch
sketch(A) = (minπi (MA ) | 1 ≤ i ≤ k)
und beachten, dass die erwartete Anzahl übereinstimmender Komponenten von sketch(A)
und sketch(B) mit k · J(MA , MB ) übereinstimmt.
In [BGMZ] wird von einem Verfahren zum “syntaktischen Clustering“ auf 30 Millionen Webseiten berichtet. Dieses Verfahren wurde inzwischen von AltaVista übernommen. Ein Fenster
von 10 aufeinanderfolgenden Worten definiert ein Shingle, so dass man davon ausgehen kann,
dass gemeinsame Shingles ein starker Hinweis für Ähnlichkeit sind. 100 verschiedene lineare
Permutationen πi (x) ≡ ai · x + bi mod N werden zufällig ausgewürfelt und die Dokumente werden somit als Vektoren mit 100 Komponenten repräsentiert. Entsprechend erwartet
man bei 50% Ähnlichkeit zwischen 2 Dokumenten ungefähr 50% Übereinstimmung der sie
repräsentierenden Sketches.
Aufgrund der enormen Daten-Dimensionen (150 Gigabyte vor Sketching und immer noch 24
Gigabyte nach Sketching mit k = 100) werden Plattenzugriffe „panisch“ vermieden. In einer
ersten Rechenphase werden Sketches für alle Dokumente berechnet. Danach werden Sketches
mit konventionellem Hashing verglichen: Jedes Dokument A wird mit Argument minπi (MA ) in
eine Hashtabelle eingefügt; für alle Dokumentenpaare mit gleichem Hashwert wird der Treffer
vermerkt. (Hier wird also eine quadratische Laufzeit toleriert, quadratisch in der Anzahl
der Dokumente mit gleichem Hashwert. Die Anzahl dieser Dokumente ist aber meist gering,
da schon ein einziger gemeinsamer Treffer für nicht-ähnliche Dokumente unwahrscheinlich
ist.) Nach dem k-fachen Hashing untersucht man den Dokumenten-Graphen, dessen Kanten
mit der jeweiligen Trefferzahl beschriftet sind und setzt Kanten permanent ein, wenn die
entsprechende Trefferzahl einen vorgegebenen Schwellenwert übersteigt. Sodann werden die
Zusammenhangskomponenten als Cluster ähnlicher Webseiten aufgefasst.
3
Besteht ein Dokument A aus den Worten x1 · · · xn und besteht ein Shingle aus 10 aufeinanderfolgenden
Worten, dann ist MA = {xi · · · xi+9 | i ≤ n − 9} seine Shingle-Menge. (Shingle ist Englisch für Dachziegel.
3.2. ÄHNLICHKEITSBESTIMMUNG
55
Aufgabe 28
In der obigen Anwendung werden nur lineare Permutationen benutzt. Sei Flinear die entsprechende Klasse der
Hash-Funktionen. Bestimme zwei Mengen A und B so, dass
probh∈Flinear [ h(A) = h(B) ] 6= J(A, B).
„Lineares Hashing“ gibt somit den Jaccard-Koeffizienten nicht exakt wieder, allerdings sind die experimentellen
Erfahrungen positiv.
Eine zweite Anwendung des ähnlichkeitsbewahrenden Hashing findet man im Market-Basket
Modell. Hier wird der Inhalt von Warenkörben festgehlten, um das Einkaufsverhalten der
Kunden untersuchen zu können. Ein wichtiges Ziel ist die Bestimmung korrelierter Waren u
und v: Die Ware u tritt möglicherweise nicht häufig auf; wenn sie aber gekauft wird, dann
sollte auch Ware v mit guter Wahrscheinlichkeit im Warenkorb auftreten.
Für jede Ware u sei Su die Menge der Warenkörbe, in denen u vorkommt. Um korrelierte
Waren bestimmen zu können, stellen wir uns deshalb das Ziel, alle Paarmengen {u, v} von
Waren u und v zu bestimmen für die der Jaccard-Koeffizient J(Su , Sv ) hinreichend groß ist.
Wir wählen wiederum zufällige Permutationen π1 , . . . , πk der Warenkörbe und definieren
sketch(u) = (minπi (Su ) | 1 ≤ i ≤ k)
als den Sketch der Ware u. Man verwendet wieder lineare Permutationen. Wir können Sketches in einem Datendurchlauf berechnen, wenn wir eine Sketch-Komponente zu Anfang auf
∞ setzen und für jeden neuen Warenkorb die Sketch-Komponenten der enthaltenen Waren
adjustieren.
Natürlich möchte man den quadratischen Aufwand im Vergleich aller Warenpaare umgehen.
Das folgende Verfahren hat sich als erfolgreich herausgestellt:
Angenommen, wir möchten alle Paare mit einem Jaccard-Koeffizienten von mindestens t bestimmen. Wenn J(Su , Sv ) ≥ t, dann werden Su und Sv in r fixierten
Sketch-Komponenten mit Wahrscheinlichkeit mindestens tr übereinstimmen. Wir
Wählen deshalb r größtmöglich, so dass kr · tr ≈ 1: Wir können einen Treffer erwarten, wenn wir die k Komponenten in kr Gruppen von jeweils r Komponenten
zerlegen und Gleichheit auf mindestens einer Gruppe fordern.
Wenn wir jetzt nach minπ1 , . . . , minπk hashen, dann können wir sehr viele Kandidatenpaare ausschließen; die (hoffentlich) wenigen verbleibenden Kandiadatenpaare können dann vollständig durchforstet werden.
Wir lernen eine weitere Anwendung in Abschnitt 4.3.3 kennen.
3.2.2
Wann existieren ähnlichkeitsbewahrende Hashfunktionen?
Wir möchten als Nächstes Kriterien entwickeln, um die Existenz von ähnlichkeitsbewahrenden
Hashfunktionen nachzuweisen, bzw. ausschließen zu können. Angenommen, das Paar (X, e)
besitzt eine Klasse F von ähnlichkeitsbewahrenden Hashfunktionen, besitzt (X, e) dann auch
ähnlichkeitsbewahrendes Hashing mit Wertebereich {0, 1}?
Die Funktionen in F mögen die Menge Y als Wertebereich besitzen. Dann wählen wir eine
Klasse G von Hashfunktionen mit Wertebereich {0, 1} und der Eigenschaft, dass
probg∈G [ g(y1 ) = g(y2 ) ] = 1/2, für alle y1 , y2 ∈ Y mit y1 6= y2 .
56
KAPITEL 3. HASHING FÜR WEB-ANWENDUNGEN
Wir betrachten die Menge FG = {g ◦ f | g ∈ G und f ∈ F } von Hashfunktionen. Wenn x1
und x2 zwei verschiedene Elemente aus X sind, dann ist nach Annahme probf ∈F [ f (x1 ) =
f (x2 ) ] = e(x1 , x2 ). Also folgt
probf ∈F ,g∈G [ g(f (x1 )) = g(f (x2 )) ] = e(x1 , x2 ) +
1 − e(x1 , x2 )
1 + e(x1 , x2 )
=
2
2
und wir haben das folgende Ergebnis erhalten:
Lemma 3.6 Wenn (X, e) ähnlichkeitsbewahrende Hashfunktionen besitzt, dann besitzt
(X, 1+e(x21 ,x2 ) ) ähnlichkeitsbewahrende Hashfunktionen mit Wertebereich {0, 1}.
Die Klasse FG möge genau die d Hashfunktionen h1 , . . . , hd besitzen. Dann können wir die
Menge X in den d-dimensionalen Würfel einbetten, wenn wir die Funktion h = (h1 , . . . , hd ) :
X → {0, 1}d benutzen. Die Einbettung h hat aber noch eine interessante Eigenschaft. Für
verschiedene Elemente x1 , x2 ∈ X gilt
probi [ hi (x1 ) 6= hi (x2 ) ] = 1 −
1 + e(x1 , x2 )
1 − e(x1 , x2 )
=
2
2
und damit ist der Hamming-Abstand zwischen x1 und x2 nach Einbettung in den Würfel genau
d · 1−e(x21 ,x2 ) . Da die Hamming-Distanz eine Metrik ist, muss also auch d(x1 , x2 ) = 1−e(x21 ,x2 )
eine Metrik sein, die sich darüberhinaus in den Würfel einbetten lässt!
Definition 3.7 Sei X eine Menge und sei d eine Metrik auf X. Wir sagen, dass d eine
Hamming-Metrik ist, wenn es ein N und eine Funktion Φ : X → {0, 1}N gibt, so dass
H(Φ(x), Φ(y)) = α · d(x, y)
für eine Konstante α.
Wir können unsere Ergebnisse jetzt wie folgt zusammenfassen:
Satz 3.8 Wenn (X, e) eine endliche Menge von ähnlichkeitsbewahrenden Hashfunktionen besitzt, dann ist 1 − e eine Hamming-Metrik und insbesondere ist 1 − e eine Metrik.
Ist andererseits 1−e eine Hamming-Metrik, dann gibt es eine Konstante β und β+e(x,y)
besitzt
β+1
ähnlichkeitsbewahrende Hashfunktionen.
Beweis: Nur die zweite Aussage ist zu verifizieren. Wir wissen gemäß Beispiel 3.1, dass
1 − H/N ähnlichkeitsbewahrendes Hashing besitzt. Nach Annahme ist H(Φ(x), Φ(y)) = α ·
(1 − e(x, y)) und deshalb besitzt
1−
H(Φ(x), Φ(y))
N
(1 − e(x, y))
N − α + α · e(x, y)
=
N
N
(N − α)/α + e(x, y)
β + e(x, y)
=
(N − α)/α + 1
β+1
= 1−α·
=
ähnlichkeitsbewahrendes Hashing.
Beispiel 3.4 Der Überlappungskoeffizient zweier Menge A und B ist durch
e(A, B) =
|A ∩ B|
min{|A|, |B|}
3.3. BLOOM-FILTER
57
definiert. Wir zeigen, dass e kein ähnlichkeitsbewahrendes Hashing besitzt. Wir definieren
die Mengen A = {a}, B = {b} und C = {a, b} und zeigen, dass die Dreiecksungleichung
(1−e(A, C))+(1−e(C, B)) ≥ (1−e(A, B)) verletzt ist. Dies ist offensichtlich, denn e(A, B) = 0
und e(A, C) = 1 = e(C, B).
Auch der Dice-Koeffizient
|A ∩ B|
e(A, B) =
(|A| + |B|)/2
besitzt kein ähnlichkeitsbewahrendes Hashing: Wir wählen A, B und C wie oben und erhalten
e(A, B) = 0 und e(A, C) = 23 = e(C, B).
Aufgabe 29
X sei die Menge aller Teilmengen eines Universums U . Wir betrachten das Ähnlichkeitsmaß e(A, B) = √|A∩B| .
|A|·|B|
Zeige, dass (X, e) kein ähnlichkeitsbewahrende Hashfunktionen besitzt. Trotzdem kann e effizient durch einen
randomisierten Algorithmus ausgewertet werden. Warum?
3.3
Bloom-Filter
Sei U ein Universum. Unser Ziel ist die Konstruktion einer möglichst platz-effizienten Datenstruktur, die Lookup-Anfragen beantwortet und Insert- sowie Remove-Operationen ausführt.
Insbesondere werden wir darauf verzichten, Elemente abzuspeichern und sogar erlauben, dass
„falsche positive“ Antworten gegeben werden, garantieren aber, dass jede negative Antwort
korrekt ist.
Wir arbeiten mit einem Booleschen Array der Länge m und k Hash-Funktionen
h1 , . . . , hk : U → {1, . . . , m}.
- Anfänglich sind alle Zellen von B auf Null gesetzt.
- Ein Element x ∈ U wird eingefügt, indem das Array B nacheinander an den Stellen
h1 (x), . . . , hk (x) auf Eins gesetzt wird.
- Um nachzuprüfen, ob x eingefügt wurde, wird B an den Stellen h1 (x), . . . , hk (x) überprüft. Wenn B an allen Stellen den Wert 1 besitzt, dann wird die Vermutung “x wurde
eingefügt” ausgegeben und ansonsten wird die definitive Ausgabe “x nicht vorhanden”
getroffen.
Wie groß ist die Wahrscheinlichkeit einer falschen positiven Antwort, wenn eine Menge X von
n Elementen eingefügt wurde, wobei wir mit einem Booleschen Array der Größe m und k
zufällig und unabhängig voneinander ausgewürfelten Hashfunktionen h1 , . . . , hk arbeiten?
Angenommen, wir haben die Elemente aus X in das Array B gehasht. Wie groß ist die
Wahrscheinlichkeit pn,m,k , dass B an einer Position i eine Null speichert? Eine Hashfunktion
n
hj wird die Position i mit Wahrscheinlichkeit ( m−1
m ) nicht treffen. Da wir annehmen, dass
die Hashfunktionen unabhängig voneinander ausgewürfelt werden, folgt also
pn,m,k = (
m − 1 kn
1
) = (1 − )kn .
m
m
Wir wenden Lemma 1.2 an und erhalten
e−(kn/m)·(1/(1−1/m)) ≤ pn,m,k = (1 −
1 kn
) ≤ e−kn/m ,
m
58
KAPITEL 3. HASHING FÜR WEB-ANWENDUNGEN
denn es ist ex/(1+x) ≤ 1 + x ≤ ex für x > −1. Die Abschätzung für pn,m,k ist scharf, falls kn
und m die gleiche Größenordnung besitzen und falls m hinreichend groß ist, denn
e−(kn/m)·(1/(1−1/m)) = e−(kn/m)·(1+1/(m−1)) = e−(kn/m) · e−kn/(m·(m−1)) ≈ e−(kn/m) .
Nachdem alle Elemente aus X eingefügt wurden, betrachten wir die Anfrage lookup(y), wobei
wir annehmen, dass y nicht zur Teilmenge X gehört. Wir müssen die Wahrscheinlichkeit qn,m,k
einer falschen positiven Antwort zumindest approximativ bestimmen. Die Wahrscheinlichkeit,
dass B in Position hj (y), für eine bestimmte Zahl j, 1 ≤ j ≤ k, eine Eins speichert ist
1 − (1 −
1 kn
) .
m
Leider können wir nicht qn,m,k = Qn,m,k für
1 kn k
) )
m
folgern: Unabhängigkeit liegt nicht vor, da zum Beispiel zwei Positionen hj (y) und hk (y)
übereinstimmen können.
qn,m,k = (1 − (1 −
Aufgabe 30
Wir vergleichen die tatsächliche Wahrscheinlichkeit qn,m,k einer falschen positiven Antwort mit der Abschätzung
Qn,m,k :=
1−
1
1−
m
kn !k
.
Gib ein Beispiel mit |U | = 2, n = 1 und k = m = 2 an, für das Qn,m,k < qn,m,k gilt. Die tatsächliche
Wahrscheinlichkeit einer falschen positiven Antwort kann also größer als die Abschätzung Qn,m,k sein!
Es stellt sich aber heraus, dass Qn,m,k eine sehr scharfe Approximation von qn,m,k ist, wenn
n und m hinreichend groß sind, während k nicht zu groß ist. Gerade dieser Fall ist aber für
praktische Anwendungen von Interesse. Wir verwenden deshalb die Beziehung qn,m,k ≈ Qn,m,k
ohne weitere Argumentation und erhalten:
1
≈ 1 − (1 − )kn
m
qn,m,k
k
−kn/m )
≈ (1 − e−kn/m )k = ek·ln(1−e
.
Wieviele Hash-Funktionen sollten wir bei gegebener Anzahl n der gespeicherten Elemente
und bei gegebener Größe m des Boole’schen Arrays benutzen, um die Wahrscheinlichkeit
einer falschen positiven Antwort zu minimieren?
Einerseits “sollte” k möglichst groß sein, da dann die Wahrscheinlichkeit wächst
eine Null zu erwischen, aber andererseits “sollte” k möglichst klein sein, da dann
eine Einfüge-Operation nur wenige neue Einsen einträgt.
Wir bestimmen k so, dass g(k) = (1 − e−kn/m )k minimiert wird. Dann wird k ebenfalls die
Funktion ln g(k) minimieren. Für p = e−kn/m ist
m
ln g(k) = −k · ln(1 − p) = − · ln(p) · ln(1 − p).
n
Wir erhalten deshalb ein globales Minimum für p = 12 . Die Setzung e−kn/m =
auf
k = ln(2) · m/n
mit der Fehlerwahrscheinlichkeit qn,m,k ≈ (1 − p)k = 2−k .
1
2
führt dann
3.3. BLOOM-FILTER
59
Lemma 3.9 Wenn wir k = ln(2)·m/n Hashfunktionen verwenden, um eine Menge der Größe
n durch ein Boole’sches Array der Größe m zu repräsentieren, dann ist die Wahrscheinlichkeit
einer falschen positiven Antwort höchstens 2−k .
Die Laufzeit einer Insert- oder Lookup-Operation ist durch O(k) und die Speicherplatzkomplexität ist durch O(n) beschränkt.
Bloom-Filter erreichen also eine Fehlerwahrscheinlichkeit von höchstens 2−k für k = ln(2)·m/n
k·n
und damit für m = ln(2)
. Insbesondere erreichen Bloom Filter eine Fehlerwahrscheinlichkeit
von höchstens 1/128 mit einem Booleschen Array mit gut 10 · n Einträgen, bzw eine Fehlerwahrscheinlichkeit von höchstens n1r mit Arrays der Größe Θ(r · n log2 n).
Wir haben bisher die Insert- und Lookup-Operationen für Bloom-Filter implementiert, aber
die Implementierung einer Delete-Operation ist schwieriger: Wenn wir das Array B an den Positionen h1 (x), . . . , hk (x) auf Null setzen und wenn {h1 (x), . . . , hk (x)}∩{h1 (y), . . . , hk (y)} =
6 ∅,
dann wird auch y entfernt! Hier hilft ein zählender Bloom-Filter: Statt einem Boole’schen Array wird ein Array von Zählern benutzt und Elemente werden durch das Hochsetzen (bzw.
Heruntersetzen) der entsprechenden Zähler eingefügt (bzw. entfernt).
Aufgabe 31
Eine n-elementige Menge S ⊆ U sei durch einen zählenden Bloom-Filter Z mit m Zählern und k Hashfunktionen
h1 , . . . , hk : U → {1, . . . , m} repräsentiert. Wir nehmen an, dass das Heruntersetzen der entsprechenden Zähler
bei der Entfernung eines Elements x nur dann geschieht, wenn Z[hi (x)] 6= 0 für alle i = 1, . . . , k gilt. Sei p+
(bzw. p− ) die Wahrscheinlichkeit einer falschen positiven (bzw. negativen) Antwort.
(a) Verkleinern oder vergrößern sich die Wahrscheinlichkeiten p+ und p− , wenn wir ein Element x ∈ S entfernen?
(b) Angenommen, N Elemente x ∈ U werden aus dem Filter entfernt, wobei wir jetzt auch zulassen, falsche
Positive zu entfernen. Sei p0+ die Wahrscheinlichkeit einer falschen positiven Antwort und p0− die Wahrscheinlichkeit einer falschen negativen Antwort in diesem neuen Modell. Zeige, dass dann p0+ ≤ p+ , p0− ≤ N p+ gilt.
Die Vereinigung von zwei Mengen X1 und X2 kann einfach implementiert werden: Wenn Xi
durch Bi repräsentiert wird, dann repräsentiert B1 ∨ B2 die Vereinigung X = X1 ∪ X2 . Für
die Berechnung des Durchschnitts könnten wir ähnlich vorgehen und X = X1 ∩ X2 durch
B1 ∧ B2 repräsentieren, aber beachte, dass B1 ∧ B2 eine möglicherweise echte “Obermenge”
der Bloom-Filter Einfügungen für X ist und dementsprechend nimmt die Wahrscheinlichkeit
falscher Positive zu.
Bemerkung 3.1 Tatsächlich können wir Bloom-Filter bereits mit zwei Hashfunktionen g1 , g2 :
U → {0, . . . , p − 1} für eine Primzahl p implementieren, wenn wir eine geringfügig anwachsende Fehlerwahrscheinlichkeit tolerieren. Dazu setzen wir m = k · p und definieren die k
Hashfunktionen h1 , . . . , hk durch
hi (x) = (i − 1) · p + (g1 (x) + (i − 1) · g2 (x) mod p) .
Wir beachten, dass hi (x) = hi (y) für alle i genau dann eintritt, wenn g1 (x) = h1 (x) = h1 (y) =
g1 (y) und g2 (x) = g2 (y), und wir haben die Schwäche dieses Ansatzes herausgefunden: Wenn
wir eine Menge X = {x1 , . . . , xn } von n Elementen aufgebaut haben, dann gilt für y 6∈ X
prob[∃j : h1 (y) = h1 (xj ) ∧ · · · ∧ hk (y) = hk (xj )] ≤
n
p2
und diese Fehlerwahrscheinlichkeit lässt sich nicht mit wachsendem k absenken! Aber in praktischen Anwendungen wird man p ≈ n wählen und wir erhalten die relativ kleine Fehlerwahrscheinlichkeit von ungefähr 1/n. Aber y kann auch falsch positiv sein, wenn es zu jedem i ein
60
KAPITEL 3. HASHING FÜR WEB-ANWENDUNGEN
j mit hi (y) = hi (xj ) gibt und y mit jedem xj höchstens eine gemeinsame Hashzelle besitzt.
In diesem Fall kann aber gezeigt werden, dass die Fehlerwahrscheinlichkeit wiederum durch
(1 − e−kn/m )k abgeschätzt werden kann!
Der Vorteil des neuen Schemas ist die schnellere Berechnung der k Hashfunktionen.
Aufgabe 32
Wir zerlegen die m Positionen von B in k Gruppen von jeweils m/k Positionen und würfeln dann Hashfunktionen h1 , . . . , hk ∈ H(U, m/k) zufällig aus, wobei hi für die ite Gruppe von Positionen zuständig ist.
Bestimme die Wahrscheinlichkeit p, dass B an einer zufällig ausgewählten Position eine Null speichert. Sinkt
oder steigt die Wahrscheinlichkeit einer falschen positiven Antwort im Vergleich zum konventionellen Ansatz?
3.3.1
Anwendungen
Verteiltes Caching: In Web Cache Sharing speichern mehrere Proxies Webseiten in ihren
Caches und kooperieren, um zwischengespeicherte Webseiten abzurufen: Bei Nachfrage nach
einer bestimmten Seite ermittelt der zuständige Proxy, ob ein Cache eines anderen Proxies
die nachgefragte Seite enthält und bittet diesen Proxy um Lieferung. In diesem Szenario
liegt die Benutzung von Bloom-Filtern nahe. Jeder Proxy speichert in einem Bloom-Filter
ab, welche Seiten zwischengespeichert wurden und sendet in regelmäßigen Abständen seinen
aktualisierten Bloom-Filter an alle Kollegen. Natürlich ist es möglich, dass ein Proxy aufgrund
des Phänomens falscher Positiver vergebens kontaktiert wird und die Laufzeit erhöht sich in
diesem Fall. Allerdings entstehen falsche Positive wie auch falsche Negative bereits durch die
Auslagerung von Seiten während eines Aktualisierungszyklus und die Fehler des Bloom-Filters
erscheinen durch die Verringerung des Netzwerk-Verkehrs mehr als amortisiert.
Peer-to-Peer Netzwerke: Im Synchronisierungsproblem besitzen die Knoten X eines Netzwerks Mengen SX von Objekten. Jeder Knoten X versucht, alle Objekte zu erfahren, die zu
den Mengen seiner Nachbarn, aber nicht zu seiner Menge SX gehören. Um dies zu erreichen
schickt X den Bloom-Filter der Menge X an jeden seiner Nachbarn; Nachbar Y antwortet
mit der unkodierten Menge SY \ SX . Es werden nur tatsächlich benötigte Objekte versandt,
aber falsche Positive im Bloom-Filter von SX führen dazu, dass einige Objekte in SY \ SX
nicht erkannt werden.
Aggressive Flüsse im Internet Routing: Die Ermittlung aggressiver Flüsse, also die
Ermittlung von Start-Ziel Verbindungen, die Datenstaus durch den Transfer von besonders
vielen Paketen verschärfen oder sogar verursachen, ist ein wichtiges Problem in der Internet
Verkehrskontrolle.
Um aggressiven Flüssen auf die Schliche zu kommen, repräsentiert ein Router die Menge
aller Start-Ziel Paare, deren Pakete er befördert, durch einen zählenden Bloom-Filter. Insbesondere werden für eine Start-Ziel Verbindung x die Zähler aller Positionen h1 (x), . . . , hk (x)
inkrementiert. Überschreitet der minimale der k Werte einen vorgegebenen Schwellenwert
T , dann wird x als “möglicherweise” aggressiv gebrandmarkt. Beachte, dass alle aggressiven
Flüsse erkannt werden; allerdings ist es nicht ausgeschlossen, dass auch unschuldige Flüsse als
aggressiv eingeschätzt werden. Wir kommen auf dieses Verfahrens in Abschnitt 4.3.2 zurück.
Aufgabe 33
Wir nehmen an, dass eine Menge F von n Flüssen in einen Bloom-Filter mit m Zählern Z[i], i = 1, . . . , m
eingefügt wird. Angenommen, vx Pakete eines Start-Ziel Paares x ∈ F durchlaufen unseren Router.
(a) Was ist der Zusammenhang zwischen prob [min {Z[h1 (x)], . . . , Z[hk (x)]} > vx ] und der Wahrscheinlichkeit
p+ einer falschen positiven Antwort?
3.4. ZUSAMMENFASSUNG
61
(b) Tatsächlich können wir unseren Ansatz für Anwendungen in der Praxis noch verbessern. Wie sollte eine
Modifikation aussehen, die Überschätzungen der Vielfachheiten vx für x ∈ F erschwert? Insbesondere, wenn
vx0 die Abschätzung unseres Verfahrens ist, und wenn vx00 die Abschätzung deines neuen Verfahrens ist, dann
sollte stets vx ≤ vx00 ≤ vx0 gelten und die Ungleichung vx00 < vx0 sollte in einigen Fällen auftreten können.
Hier genügt eine kurze Antwort.
IP-Traceback: Hier nehmen wir an, dass ein Router durch eine Paketflut angegriffen wird.
Unser Ziel ist die Bestimmung aller Wege, über die das Opfer angegriffen wird. In unserer
Lösung protokolliert ein Router jedes transportierte Paket in einem Bloom-Filter. Ein angreifendes Paket kann jetzt vom Opfer an alle Nachbarn weitergereicht werden. Der Nachbar,
der das Paket befördert hat, wird dies erkennen, wobei aber falsche Positive dazu führen,
dass Nachbarn fälschlicherweise annehmen, am Transport beteiligt gewesen zu sein. Wird
dieser Rekonstruktionsprozess iteriert, dann sollten diese falschen Verzweigungen aber, bei
entsprechend kleiner Wahrscheinlichkeit für falsche Positive, hochwahrscheinlich aussterben.
Wir beschreiben eine zweite Methode des IP-Tracebacks in Abschnitt 9.
3.4
Zusammenfassung
Wir haben mit DHT’s (distributed hash tables) als einer fundamentalen Datenstruktur für
Peer-to-Peer Systeme begonnen und haben die Implementierung CHORD besprochen. Die
wesentliche Idee hinter CHORD ist die Verwendung konsistenter Hashfunktionen h : R∪D →
[0, 1] für Rechner aus der Menge R aller Rechner und Dokumente aus der Menge D aller Dokumente. Die gemeinsame Hashfunktion sichert hochwahrscheinlich eine gleichmäßige Belastung
der beteiligten Rechner und eine logarithmische Suchzeit ist selbst dann hochwahrscheinlich,
wenn Rechner zwischenzeitlich kommen und gehen. CHORD ist eine zufriedenstellende Lösung für gutartige Peers, aber kryptographische Methoden müssen im Fall bösartiger Peers
hinzugezogen werden.
Für die approximative Auswertung bestimmter Ähnlichkeitsmaße haben wir ähnlichkeitsbewahrendes Hashing angewandt und dabei vor allem das Ähnlichkeitsmaß von Jaccard betont.
Ähnlichkeitsbewahrendes Hashing ist eine fundamentale algorithmische Methode, um alle
„hinreichend ähnlichen“ Paare aus einer Menge X von Dokumenten zu bestimmen: Nach
zufälliger Wahl von k Hashfunktionen h1 , . . . , hk wird jedes Dokument D ∈ X k-mal gehasht und erhält eine kurze Signatur (h1 (D), . . . , hk (D)). Ähnliche Dokumente werden dann
auch hochwahrscheinlich ähnliche Signaturen besitzen und wir haben die Ähnlichkeit langer
Objekte auf die Ähnlichkeit kurzer Objekte reduziert.
Bloom-Filter erlauben eine äußerst speicherplatz-effiziente Darstellung von Mengen durch
Boole’sche Arrays. Beteiligt sind wiederum k Hash-Funktionen h1 , . . . , hk , die beim Einfügen eines Elements x das Boole’sche Array an den Stellen h1 (x), . . . , hk (x) auf Eins setzen.
Während negative Antworten bei einer Suche nach einem Element stets richtig sind, können
positive Antworten falsch sein. Wir haben festgestellt, dass die Wahrscheinlichkeit falscher
positiver Antworten bei n gespeicherten Elementen und einem Boole’schen Array der Länge
k·n
m höchstens 2−k beträgt, wenn m = ln(2)
gilt.
62
KAPITEL 3. HASHING FÜR WEB-ANWENDUNGEN
Kapitel 4
Streaming Data
Abhängig von der Größe der Datenmengen werden verschiedene Speichermodelle benutzt:
- Im Hauptspeichermodell wird angenommen, dass der Hauptspeicher für die Berechnung
ausreichend ist.
- Im Sekundärspeichermodell sind die Daten zum Beispiel auf der Platte zu speichern.
Jetzt ist die Suchzeit (von ungefähr 4 ms) die teure Ressource und dementsprechend ist
die Anzahl der Plattenzugriffe zu minimieren.
- Das Streaming-Data Modell beschreibt ein On-line Szenario: Daten strömen fortlaufend
ein und Berechnungen sind in Echtzeit, bzw in wenigen Datendurchläufen zu erbringen. Beispiele sind Verkehrsmessungen im Internet, die Datenanalyse in der Abwehr
einer Denial-of-Service Attacke, die Verarbeitung von durch Satelliten erfassten Daten
oder die fortlaufende Protokollierung von Telefonverbindungen durch weltweit agierende
Telefonunternehmen und die damit verbundenen Reaktionen auf überlastete Leitungen.
Im Streaming Data Modell erhalten wir einen Datenstrom (xi | i ), wobei jedes xi zu dem Universum U = {1, . . . , m} der Größe m gehört: Gewaltige Datenmengen sind schnellstmöglich
zu bewältigen, wobei im Regelfall nur ein Datendurchlauf zur Verfügung steht. Wir werden
uns nun mit den folgenden algorithmischen Fragestellungen beschäftigen:
Erstellung von Stichproben: Stichproben reduzieren die Größe der Datenmenge und sind
deshalb ein wichtiges Hilfsmittel für viele einfache Probleme. Beachte, dass eine Stichproben nicht ein und für alle Mal bestimmt werden kann, sondern sich mit dem Datenstrom
dynamisch ändern muss.
Häufigkeitsanalyse für Datenströme: au = | {i | xi = u} | ist die Häufigkeit des Schlüssels u. Wir beschäftigen uns mit der exakten oder approximativen Bestimmung des kten
Häufigkeitsmoments
X
Hk =
aku .
u∈U
H0 ist die Anzahl der verschiedenen Schlüssel, denn es ist x0 = 1 für x 6= 0 und x0 = 0 sonst.
Das zweite Häufigkeitsmoment H2 misst wie gleichmäßig die Datenmenge auf die einzelnen
2
n 2
Schlüssel verteilt ist: Es ist m · m
= nm ≤ H2 ≤ n2 und kleine Werte von H2 implizieren
eine gleichmäßige Verteilung.
Wir sind ebenfalls an der Bestimmung seltener und häufiger Schlüssel interessiert.
63
64
KAPITEL 4. STREAMING DATA
Zeitfenster: Um das Verhalten eines Datenstroms in der jüngsten Vergangenheit bestimmen
zu können, wertet man Datenströme in Zeitfenstern aus. Bei entsprechend großen Zeitfenstern
ist die Abspeicherung des Datenstroms nicht möglich und wir müssen Methoden entwickeln,
um die quantitative Analyse nach dem Verschwinden veralteter und dem Erscheinen junger
Schlüssel zu aktualisieren.
Bestimmung von Histogrammen: Ein Histogramm komprimiert den Datenstrom und
bestimmt die charakteristischen numerischen Werte innerhalb weniger Zeitintervalle.
Aufgabe 34
(a) Die Zahlen 1, . . . , n werden in einer vorher nicht bekannten Permutation ausgegeben. Allerdings fehlt genau
eine der Zahlen. Bestimme die fehlende Zahl mit Speicherplatz O(log2 n).
(b) Wie in Teil (a) werden die Zahlen 1, . . . , n wieder permutiert, allerdings fehlen diesmal genau k Zahlen.
Bestimme die fehlenden Zahlen mit Speicherplatz O(log2 n).
4.1
Stichproben
Unser Ziel ist die Auswahl einer relativ kleinen Stichprobe aus einem Datenstrom (xi | i),
und wir stellen die Berechnung einer ohne Ersetzung gleichverteilt gezogenen Stichprobe S ⊆
{ (i, xi ) | 1 ≤ i ≤ n } vor. Natürlich ist die Hoffnung, dass statistische Anfragen direkt auf
der sehr viel kleineren Stichprobe beantwortet werden können.
Algorithmus 4.1 Reservoir Sampling
(1) T sei eine obere Schranke für die Größe der Stichprobe. Der Parameter t zählt die bisher
gesehenen Schlüssel; setze t = 0 und STICHPROBE= ∅.
(2) Durchlaufe die Schlüssel nacheinander:
(2a) Setze t = t + 1.
(2b) Wenn t ≤ T , dann füge den Schlüssel in STICHPROBE ein.
(2c) Wenn t > T , dann werfe eine Münze mit Erfolgswahrscheinlichkeit Tt . Bei einem Erfolg bestimme zufällig einen Schlüssel aus STICHPROBE und entferne den
Schlüssel; der aktuelle Schlüssel wird eingefügt. Bei einem Misserfolg wird nichts
unternommen.
Kommentar: Die Stichprobengröße T bleibt unverändert.
Satz 4.2 Zu jedem Zeitpunkt t ≥ T wird jede T -elementige Teilmenge X ⊆ {(i, xi ) | 1 ≤ i ≤
t} mit Wahrscheinlichkeit 1/ Tt als Stichprobe gewählt.
Beweis: Wir führen eine Induktion nach t. Die Aussage ist offenbar für t = T richtig. Wir
nehmen an, dass die Aussage für t − 1 richtig ist. Der Schlüssel (t, xt ) wird dann mit Wahrscheinlichkeit Tt aufgenommen und das ist genau die Wahrscheinlichkeit, dass eine zufällige
T -elementige Teilmenge X ⊆ {(i, xi ) | 1 ≤ i ≤ t} den Schlüssel (t, xt ) enthält, denn
!
t−1
t
/
T −1
T
!
=
T
.
t
Wir können also eine T -elementige Stichprobe nach dem folgenden Verfahren ziehen:
4.1. STICHPROBEN
65
- Entscheide zuerst mit Erfolgswahrscheinlichkeit
T
t,
ob (t, xt ) gewählt wird.
- Wenn (t, xt ) nicht gewählt wird, dann wähle eine zufällige, T -elementige Stichprobe aus
der Menge {(i, xi ) | 1 ≤ i ≤ t − 1}.
- Wenn (t, xt ) gewählt wird, dann wähle eine zufällige Stichprobe mit T − 1 Elementen
aus der Menge {(i, xi ) | 1 ≤ i ≤ t − 1}.
Genau dieses Verfahren führt Algorithmus 4.1 durch, da zuerst mit Wahrscheinlichkeit Tt
entschieden wird, ob (t, xt ) aufzunehmen ist. Wird (t, xt ) nicht aufgenommen, dann wenden
wir die Induktionsvoraussetzung an und erhalten, dass eine zufällige T -elementige Stichprobe
aus {(i, xi ) | 1 ≤ i ≤ t − 1} gezogen wurde.
Ansonsten wird (t, xt ) aufgenommen und wir betrachten die alte Stichprobe X, von der wir induktiv annehmen können, dass sie einer zufälligen T -elementigen Teilmenge von {(i, xi ) | 1 ≤
i ≤ t − 1} entspricht. Algorithmus 4.1 entfernt ein zufälliges Element aus X und erhält damit
eine zufällige Stichprobe aus {(i, xi ) | 1 ≤ i ≤ t − 1} mit T − 1 Elementen. Diese modifizierte
Stichprobe wird um (t, xt ) vergrößert und wir erhalten eine zufällige T -elementige Stichprobe
X.
Wir können also das mächtige Hilfsmittel der Berechnung auf Stichproben im Streaming Data
Modell benutzen! Als eine erste Anwendung betrachten wir die Bestimmung eines approximativen Medians in einem Datendurchlauf.
Algorithmus 4.3 Bestimmung eines approximativen Medians.
(1) Benutze Reservoir Sampling, um eine Stichprobe S der Größe s zu ziehen.
(2) Bestimme den Median M von S und gib M als Approximation des tatsächlichen Medians
aus.
Satz 4.4 δ, ε ∈ [0, 1] seien vorgegeben. Wenn Algorithmus 4.3 mit einer Stichprobe der Größe
s = c · ε12 · ln 1δ für ein hinreichend großes c arbeitet, dann liegt der Rang des ausgegebenen
Schlüssels mit Wahrscheinlichkeit mindestens 1 − δ in dem Intervall [ n2 − ε · n, n2 + ε · n].
Beweis: Sei xunten (bzw. xoben ) der Schlüssel des Datenstroms vom Rang ( 12 −ε)·n (bzw. vom
Rang ( 12 + ε) · n). Wir haben nur dann Pech gehabt, wenn 50% aller Schlüssel der Stichprobe
unterhalb von xunten (bzw. oberhalb von xoben ) liegen.
Ein Schlüssel kleiner als xunten wird mit Wahrscheinlichkeit ( 21 − ε) gezogen und die erwartete
Anzahl dieser „kleinen” Schlüssel ist deshalb höchstens ( 12 − ε) · s. Wir haben also Pech,
ε
) kleine Schlüssel gezogen werden. Wir wenden
wenn sogar 21 · s = ( 12 − ε) · s · (1 + 1/2−ε
2
die Chernoff-Schranke an und erhalten die Wahrscheinlichkeit e−Ω(ε ·s) als obere Schranke.
Um die Fehlerwahrscheinlichkeit auf höchstens δ zu beschränken, ist also ε2 · s = Ω(ln 1δ ) zu
fordern. Die Behauptung folgt, da die Anzahl der „großen” Schlüssel ein analoges Verhalten
zeigt.
Die zweite Anwendung betrifft ein Clustering Problem, nämlich das k-Zentren Problem. Hier
ist ein vollständiger ungerichteter Graph G = (V, E) und eine Metrik1 d gegeben. Für ein
fixiertes k ist eine Menge Z ⊆ V von k Knoten zu bestimmen, so dass
max min d(v, w)
v∈V w∈Z
1
d : V 2 → R≥0 ist eine Metrik, falls d(u, v) = d(v, u), d(u, v) = 0 gdw. u = v und d(u, v) + d(v, w) ≥ d(u, w).
66
KAPITEL 4. STREAMING DATA
kleinstmöglich ist. Hier wird also nach dem größten Abstand eines Punktes vom nächstliegenden Cluster-Zentrum gefragt. Die Sprachenversion des k-Zentren Problems ist N P -vollständig
und deshalb wird uns nur eine approximative Lösung gelingen.
Algorithmus 4.5 Clustering auf einer Stichprobe
(1) Die Zahl k der erlaubten Cluster-Zentren ist gegeben ebenso wie die Metrik d. Die Folge
(xj | j) bezeichne den Datenstrom.
(2) Benutze Reservoir Sampling, um eine Stichprobe S der Größe s zu ziehen.
(3) Setze Z = {xj } für einen beliebigen Schlüssel xj ∈ S. Wiederhole k − 1 mal:
Bestimme einen Schlüssel xi ∈ S, dessen minimaler Abstand zu einem Schlüssel in
Z größtmöglich ist. Füge xi in die Menge Z ein.
(4) Z wird als Menge der Cluster-Zentren ausgegeben.
Wir zeigen zuerst, dass unsere Wahl für Z auf der Stichprobe 2-approximativ ist. Dann müssen
wir Z auf dem Datenstrom auswerten.
Angenommen die optimale Cluster-Lösung auf dem Datenstrom besitzt den Radius2 opt.
Wenn es einen Punkt p ∈ S gibt, der einen Abstand von größer als 2 · opt zu allen Punkten in
Z besitzt, dann haben gemäß Konstruktion von Z je zwei Punkte in Z ∪ {p} einen Abstand
von größer als 2 · opt. Also gehören die Punkte aus Z ∪ {p} zu verschiedenen Clustern der
optimalen Lösung: Wenn ein Clusterpunkt y der optimalen Lösung nächstliegender Punkt
für zwei Elemente u, v ∈ Z ∪ {p} ist, dann ist d(u, v) ≤ d(u, y) + d(y, v) ≤ 2·opt. Aber die
optimale Lösung besitzt nur k Cluster und wir haben einen Widerspruch erhalten: Schritt (3)
berechnet eine Menge Z von Zentren mit maxv∈S minw∈Z d(v, w) ≤ 2 · opt.
Wir behaupten, dass Algorithmus 4.5 dieselbe Approximationsleistung auf dem vollständigen
Datenstrom erzielt, wenn wir eine kleine Menge von Punkten ausschließen dürfen.
Satz 4.6 Ein Datenstrom der Länge n sei gegeben. Wenn wir eine Stichprobe der Größe
k·ln n+ln( 1 )
δ
s=
wählen, dann ist Algorithmus 4.5 mit Wahrscheinlichkeit mindestens 1 − δ auf
ε
einer Teilmenge der Größe (1 − ε) · n 2-approximativ.
Beweis: Sei opt der optimale Radius. Sei Z eine beliebige, aber „schlechte“ Zentrenmenge:
Die Menge Weitweg(Z) = {xi | d(xi , Z) > 2 · opt}, also die Menge aller Punkte mit einem
Abstand von mehr als 2 · opt von ihrem nächstliegenden Zentrum in Z, habe mehr als ε · n
Elemente.
Wir zeigen zuerst, dass die Stichprobe S nur mit einer Wahrscheinlichkeit von höchstens δ/ nk
die Menge Weitweg(Z) nicht trifft.
(1 − ε)n s
) = (1 − ε)s
n
1
≤ e−ε·s = e−(k·ln n+ln( δ )) = δ · n−k
!
n
≤ δ/
.
k
prob[ S ∩ Weitweg(Z) = ∅ ] ≤ (
2
Der Radius ist der längste Abstand eines Datenpunkts von einem Zentrum.
4.1. STICHPROBEN
67
Wenn Weitweg(Z) getroffen wird, dann kann Algorithmus 4.5 die schlechte Zentrenmenge Z
nicht gewählt haben, denn sonst hätten wir einen Punkt in S gefunden, der einen Abstand von
mehr als 2 · opt von Z besitzt und das haben wir oben ausgeschlossen.Die Wahrscheinlichkeit
irgendeine schlechte Zentrenmenge zu wählen, ist somit höchstens nk · δ/ nk = δ. Also wird
Algorithmus 4.5 mit Wahrscheinlichkeit mindestens 1 − δ eine gute Zentrenmenge Z, also eine
Menge Z mit |Weitweg(Z)| ≤ ε · n, bestimmen und das war zu zeigen.
Aufgabe 35
Wir zeigen, dass der Stichprobenansatz eine 2-approximative Lösung nur nach Ausschluss von Punkten erreicht.
Insbesondere sei sn = o(n), δ eine Konstante mit 0 < δ < 1 und k eine natürliche Zahl.
Konstruiere eine Instanz (In ) für das k-Zentren Problem, die aus n Punkten der Ebene R2 besteht. Weise nach,
dass für genügend großes n Algorithmus 4.5, angewandt auf eine Stichprobe der Größe sn , mit Wahrscheinlichkeit mindestens δ keine 2-approximative Lösung für In liefert.
Allerdings ist der Stichprobenansatz selbst für relativ einfache Probleme kein Allheilmittel, denn wir zeigen jetzt, dass der Stichprobenansatz bereits für die approximative Bestimmung der Anzahl verschiedener Schlüssel scheitert. Unser negatives Resultat gilt für eine sehr
große Klasse von (deterministischen oder probabilistischen) Algorithmen zur StichprobenErstellung, nämlich für alle Algorithmen, die nur r << n Schlüssel inspizieren. Beachte, dass
Algorithmus 4.1 nur die in der Stichprobe gesammelten Schlüssel inspizieren kann, denn die
Werte der ausgelassenen Schlüssel bleiben unbekannt. Damit wird unser negatives Ergebnis
auch für Algorithmus 4.1 gelten. Insbesondere zeigen wir, dass es schwierig ist, die beiden
folgenden Szenarien voneinander zu unterscheiden.
Szenario 1 besteht aus der nur mit Einsen besetzten Folge.
Szenario 2 besteht aus allen Folgen, für die jedes i ∈ {2, . . . , k} genau einmal auftritt. Alle
restlichen Folgenelemente haben den Wert 1.
Unser Ziel ist der Nachweis, dass Stichproben, die nur den Schlüsselwert 1 besitzen, eine
relativ hohe Wahrscheinlichkeit haben. Dazu nehmen wir an, dass irgendein Algorithmus
r < n Schlüssel (möglicherweise sogar nur deterministisch) inspiziert.
Lemma 4.7 Sei A ein Algorithmus und sei Xi die Zufallsvariable, die den iten von A ausgewählten Schlüssel als Wert besitzt. Dann gilt
prob[ Xi = 1 | X1 = X2 = · · · = Xi−1 = 1 ] =
n−i−k+1
,
n−i+1
wenn nur Eingaben des Szenarios 2 auftreten.
Beweis: Wir müssen Szenario 2 betrachten und dort den Fall, dass die ersten i−1 inspizierten
Schlüssel sämtlich den Wert 1 besitzen. Von den n − k Schlüsseln mit Wert 1 verbleiben somit
n − k − (i − 1) noch nicht inspizierte Schlüssel mit Wert 1. Da insgesamt n − (i − 1) Schlüssel
noch nicht inspiziert wurden, folgt die Behauptung.
Sei I das Ereignis, dass alle r inspizierten Schlüssel den Wert 1 besitzen. Wie wahrscheinlich
ist I?
prob[ I ] = Πri=1 prob[ Xi = 1 | X1 = X2 = · · · = Xi−1 = 1 ]
n−i−k+1
= Πri=1
n−i+1
68
KAPITEL 4. STREAMING DATA
n−r−k r
n−r
r
2·k·r
k
=
1−
≥ e− n−r
n−r
≥
falls
k
n−r
≤ 12 ,
denn wir haben in der letzten Ungleichung benutzt, dass 1 − z ≥ e−2·z für 0 ≤ z ≤
k
1
setzen k = n−r
2·r · ln(2) und erhalten n−r ≤ 2 für r ≥ 2 und damit prob[ I ] ≥ 1/2.
Satz 4.8 Es gelte k =
inspiziert.
n−r
2·r
1
2
gilt. Wir
· ln(2) sowie r ≥ 2. Sei A ein Algorithmus, der nur r Schlüssel
(a) A wird im Szenario 2 mit Wahrscheinlichkeit mindestens 1/2 eine Stichprobe bestimmen,
die nur aus dem Wert 1 besteht.
(b) A wird die tatsächliche Anzahl verschiedener Schlüssel mit Wahrscheinlichkeit mindestens 1/2 im Szenario 1 oder im Szenario 2 um den Faktor
√
r
k=
n−r
· ln(2)
2·r
über- bzw. unterschätzen.
Beweis: (a) haben wir bereits gezeigt. (b) folgt direkt aus (a), wenn wir beachten, dass das
Szenario 1 genau einen Schlüssel und Szenario 2 genau k + 1 Schlüssel besitzt. Nach Teil (a)
kann Algorithmus A aber mit Wahrscheinlichkeit e−1 nicht zwischen den
Szenarien
√ beiden √
unterscheiden und deshalb wird ein Szenario um den Faktor mindestens k + 1 ≥ k falsch
eingeschätzt.
4.2
Häufigkeitsmomente
Wir beginnen mit negativen Ergebnissen und zeigen, dass die Kommunikationskomplexität
für die Berechnung der Häufigkeitsmomente gute untere Schranken für die Speicherplatzkomplexität im Streaming-Data Modell liefert.
4.2.1
Streaming-Data und Kommunikation
Wir stellen zuerst das 2-Parteien Kommunikationsmodell vor. Zwei Parteien, Alice und Bob,
besitzen Eingaben x bzw. y, wobei weder Alice noch Bob die Eingabe des Partners kennt. Im
Einweg-Modus schickt Alice eine Nachricht message(x) an Bob, und Bob muss das Ergebnis
nur in Abhängigkeit von seiner Eingabe y und der von Alice geschickten Nachricht berechnen.
Da wir an dieser Stelle vor Allem an negativen Ergebnissen interessiert sind, nehmen wir an,
dass Alice und Bob, im Rahmen der ihnen zur Verfügung stehenden Informationen, eine
unbeschränkte Rechenkraft besitzen: Negative Aussagen über das 2-Parteien Kommunikationsmodell sind damit umso stärker.
Deterministische oder probabilistische Protokolle bestimmen die von Alice geschickte Nachricht und definieren die von Bob zu berechnende Antwort. Das Ziel ist die (zumindest approximative) Berechnung einer Funktion f (x, y), wobei die Länge der längsten von Alice
geschickten Nachricht zu minimieren ist.
4.2. HÄUFIGKEITSMOMENTE
69
Definition 4.9 Seien A und B Mengen von Eingaben und sei f : A × B → R mit relativem
Fehler höchstens ε zu berechnen.
(a) In einem deterministischen Protokoll erhält Alice eine Eingabe x ∈ A und Bob eine
Eingabe y ∈ B. Das deterministische Protokoll heißt genau dann ε-approximativ, wenn
Bob für jedes Eingabepaar (x, y) ein Ergebnis a(x, y) mit (1 − ε) · f (x, y) ≤ a(x, y) ≤
(1 + ε) · f (x, y) berechnet.
(b) Wir definieren die deterministische Kommunikationskomplexität einer ε-approximativen
Berechnung von f durch
C ε (f ) = die Länge der längsten Nachricht eines besten
ε-approximativen deterministischen Protokolls für f .
(c) Ein probabilistisches Protokoll heißt genau dann ε-approximativ mit Fehler δ, wenn
Bob für jedes Eingabepaar (x, y) mit Wahrscheinlichkeit mindestens 1 − δ ein Ergebnis
a(x, y) mit (1 − ε) · f (x, y) ≤ a(x, y) ≤ (1 + ε) · f (x, y) berechnet.
(d) Wir definieren die probabilistische Kommunikationskomplexität einer ε-approximativen
Berechnung von f durch
Cδε (f ) = die Länge der längsten Nachricht eines besten ε-approximativen
probabilistischen Protokolls, das f mit Fehler δ berechnet.
Aufgabe 36
1 x=y
zu
0 sonst
berechnen. Zeige, dass C ε (idn ) = n gilt, falls ε < 21 . (Hinweis: Was passiert, wenn dieselbe Nachricht für zwei
verschiedene Eingaben von Alice verschickt werden?)
0
(idn ) = O(log2 n). (Hinweis: Interpretiere
Probabilistische Protokolle sind sehr viel effizienter, denn es gilt C1/3
die beiden Strings x und y als Zahlen. Was passiert, wenn wir Gleichheitstests modulo kleiner Primzahlen
durchführen?)
Im Identitätsproblem ist die Funktion idn : {0, 1}n × {0, 1}n → {0, 1} mit idn (x, y) =
Wenn eine Funktion f : {0, 1}∗ → R im Streaming-Data Modell zu berechnen ist, dann
definieren wir fn als die Einschränkung von f auf Eingaben der Länge n. Für jede Eingabe x
erhält Alice den Präfix und Bob den Suffix von x als Eingabe der jeweiligen Länge n2 .
Wir werden sehen, dass die Kommunikationskomplexität im Allgemeinen gute untere Schranken für die Speicherplatzkomplexität im Streaming-Data Modell ergibt.
Lemma 4.10 Die Funktion fn sei zu berechnen.
(a) Jeder deterministische Algorithmus, der f ε-approximativ mit b Befehlen berechnet, benötigt mindestens die Speicherkomplexität C ε (fn ) − O(dlog2 be).
(b) Jeder probabilistische Algorithmus, der f ε-approximativ mit Fehler δ und b Befehlen
berechnet, benötigt mindestens die Speicherkomplexität Cδε (fn ) − O(dlog2 be).
Beweis: Da die Beweise für (a) und (b) fast identisch sind, zeigen wir nur Teil (b). Sei A ein
probabilistischer Algorithmus, der f im Streaming-Data Modell ε-approximativ mit Fehler δ
berechnet. A möge die Speicherkomplexität höchstens s(n) für Eingaben der Länge n besitzen.
70
KAPITEL 4. STREAMING DATA
Es genügt, wenn wir ein probabilistisches Protokoll für fn entwerfen, das Nachrichten der
Länge höchstens s(n) + O(1) verschickt.
Das Protokoll simuliert Algorithmus A auf Eingabefolgen der Länge n, wobei wir annehmen,
dass Alice die ersten n/2 Bits und Bob die letzten n/2 Bits erhält. Alice bearbeitet ihre Eingabe mit Algorithmus A und verschickt dann die entstehende Konfiguration (Speicherinhalt
und nächster auszuführender Befehl) an Bob. Bob kann damit die Berechnung von A problemlos fortsetzen. Da der Algorithmus die Funktion ε-approximativ mit Fehler höchstens δ
berechnet, hat das simulierende Protokoll dieselbe Eigenschaft.
Wenn Algorithmus A also b Befehle besitzt, dann folgt s(n) + O(dlog2 be) ≥ Cδε (fn ) und die
Behauptung ist gezeigt.
Aufgabe 37
Warum können wir in Satz 4.10 nicht s(n) + dlog2 be ≥ Cδε (fn ) folgern?
Fakt 4.1 Im Disjunktheitsproblem der Größe m erhalten Alice und Bob Inzidenzvektoren der
Teilmengen x, y ⊆ {1, . . . , m}. Die Funktion Dm sei durch
(
Dm (x, y) =
1 x∩y =∅
0 sonst
definiert. Dann gilt Cδε (Dm ) = Ω(m) für jedes ε <
1
2
und jedes δ < 12 .
Leider erhalten wir als eine erste Konsequenz eine hohe Speicherkomplexität, wenn die größte
Häufigkeit eines Schlüssels zu berechnen ist.
Satz 4.11 Seien ε, δ < 12 beliebig und sei A ein probabilistischer Algorithmus, der die größte
Häufigkeit ε-approximativ mit Fehler höchstens δ im Streaming-Data-Modell berechnet. Dann
benötigt A Speicherkomplexität Ω(m), wobei m die Anzahl verschiedener Schlüssel ist.
Beweis: Sei A ein probabilistischer Algorithmus, der die Häufigkeit des häufigsten Schlüssels
approximativ berechnet. Wir zeigen, dass A zur Lösung des Disjunktheitsproblems benutzt
werden kann und weisen dazu Alice und Bob die Teilmengen x, y ⊆ {1, . . . , m} zu. Wir
beobachten, dass offensichtlich
(
Dm (x, y) =
1 1 = größte Häufigkeit für (x, y),
0 2 ≤ größte Häufigkeit für (x, y)
für die Funktion Dm des Disjunktheitsproblems gilt und A liefert wie versprochen auch eine
Lösung des Disjunktheitsproblems. Nach Fakt 4.1 ist aber Cδε (Dm ) = Ω(m) und die Behauptung folgt mit Lemma 4.10.
Bemerkung 4.1 Damit nützt weder der Einsatz von probabilistischen Algorithmen, noch
stellt eine approximative Berechnung eine wesentliche Erleichterung dar, denn die Wahl des
trivialen deterministischen Algorithmus ist sogar fast optimal: Speichere alle Häufigkeiten
in einem Array mit m Zellen. Wenn (a1 , . . . , am ) der Häufigkeitsvektor ist, dann genügt ein
P
Speicher von m
u=1 log2 (au ) Bits.
Die Berechnung von H1 =
aber komplex.
P
u∈U
au ist trivial, die exakte Berechnung von Hk für k 6= 1 ist
4.2. HÄUFIGKEITSMOMENTE
71
Satz 4.12 Sei δ < 12 beliebig und sei A ein probabilistischer Algorithmus, der Hk (für k 6= 1)
exakt mit Fehler höchstens δ im Streaming-Data-Modell berechnet. Dann benötigt A Speicherkomplexität mindestens Ω(m), wenn m die Anzahl verschiedener Schlüssel ist.
Beweis: Wir übernehmen das Argument aus Satz 4.11 und setzen m∗ = |x| + |y|. Diesmal
ist zu beachten, dass
(
1 H0 = m∗
Dm (x, y) =
0 H0 < m∗ ,
beziehungsweise für k > 1
(
Dm (x, y) =
1 Hk = m∗
0 Hk > m∗
und der Rest des Arguments folgt analog.
Wir haben also nur dann eine Chance speicher-effizient zu arbeiten, wenn wir approximative Berechnungen zulassen und glücklicherweise gelingt dies, wie wir in den nachfolgenden
Abschnitten sehen werden.
Aufgabe 38
Häufig sollen Datenströme auf Unregelmäßigkeiten hin überwacht werden. Eine einfaches Kriterium in diesem
Kontext ist die Frage, ob sich die relative Häufigkeit eines Elementes in einem Datenstrom stark verändert.
Bei der Kommunikationsversion des Problems erhält Alice einen Vektor X = (x1 , . . . , xs ) und Bob einen Vektor
Y = (y1 , . . . , yr ), wobei die xi und die yi aus derselben Schlüsselmenge S kommen. Als Änderungsgrad G eines
Schlüssels a ∈ S definieren wir:
G(a) =


 1
falls a weder in X noch in Y vorkommt,
falls a entweder in X oder in Y vorkommt,
∞

 max
n
r·|{i|xi =a}| s·|{i|yi =a}|
,
s·|{i|yi =a}| r·|{i|xi =a}|
o
sonst.
Im Variationsproblem für α soll entschieden werden, ob alle Schlüssel einen Änderungsgrad von höchstens α
besitzen. Wir wollen zeigen, dass das Variationsproblem für jedes feste α > 1 eine Kommunikationskomplexität
von Ω(s) besitzt.
(a) Reduziere das Identitätsproblem auf das Variationsproblem.
(b) Reduziere das Disjunktheitsproblem auf das Variationsproblem.
(c) Warum stellt Teil b) die stärkere Aussage dar?
4.2.2
Die Bestimmung von H0
Wenn wir annehmen, dass die Hauptspeichergröße mindestens so groß ist wie die Anzahl
verschiedener Schlüssel, dann wird man Hashing durchführen und bei entsprechender Größe
der Hash-Tabelle eine Lösung in erwarteter linearer Zeit erhalten.
Im Sekundärspeichermodell ist das oberste Gebot eine Minimierung der Anzahl der Zugriffe.
Aus der Vorlesung Theoretische Informatik 1 ist bekannt, dass vergleichsorientierte Algorithmen mindestens Ω(n log2 n) Vergleiche durchführen müssen und deshalb ist Merge-Sort eine
gute Wahl.
Im Streaming-Data Modell benötigt nach Satz 4.1 jeder probabilistische Algorithmus, der die
Anzahl der verschiedenen Schlüssel exakt bestimmt, mindestens Speicherkomplexität Ω(m).
Wenn wir also vernünftige Speicheranforderungen im Streaming-Data Modell erhalten wollen,
dann müssen wir approximative Lösungen erlauben.
Wir benutzen Hashing, da bei s verschiedenen Schlüsseln höchstens s verschiedene Hashwerte
berechnet werden. Die Anzahl besetzter Hashzellen sollte somit zumindest schwache Rückschlüsse auf die tatsächliche Anzahl verschiedener Schlüssel erlauben.
72
KAPITEL 4. STREAMING DATA
Algorithmus 4.13 Approximieren durch Hashing
(1) Wähle eine natürliche Zahl T > 1 und eine zufällige Hashfunktion h : U → {1, . . . , T }.
Setze die boolesche Variable GROß auf falsch.
(2) Durchlaufe die Eingabe (x1 , . . . , xn ): Wenn h(xi ) = T für ein i, dann setze GROß auf
wahr.
(3) Gib die Antwort GROSS aus.
Beachte, dass wir nur ein Speicherbit benötigen. Wir hoffen, eine Unterscheidung zwischen
höchstens T und mindestens (1 + ε) · T verschiedenen Schlüsseln zu erreichen. Da bei d verschiedenen Schlüsseln die Hashzelle T mit Wahrscheinlichkeit (1 − T1 )d leer bleibt, ergibt sich
das folgende Resultat.
Lemma 4.14 Wenn eine Eingabefolge d ≤ T verschiedene Schlüssel besitzt, dann wird Algorithmus 4.13 die Antwort GROSS = falsch mit Wahrscheinlichkeit (1 − T1 )d ≥ (1 − T1 )T
ausgeben.
Gibt es andererseits d ≥ (1 + ε) · T verschiedene Schlüssel, dann wird Algorithmus 4.13 die
Antwort GROSS = falsch mit Wahrscheinlichkeit (1 − T1 )d ≤ (1 − T1 )(1+ε)·T ausgeben.
Wir haben damit nur eine schwache Trennung zwischen höchstens T und mindestens (1+ε)·T
verschiedenen Schlüsseln erreicht, aber wir können Algorithmus 4.13 boosten: Wir arbeiten wieder mit einem Parameter T , aber diesmal mit k zufällig gezogenen Hashfunktionen
h1 , . . . , hk : U → {1, . . . , T }.
Angenommen, es liegen höchstens T verschiedene Schlüssel vor. Dann ist die erwartete Häufigkeit der Antwort falsch mindestens k · (1 − T1 )T , während die erwartete Häufigkeit bei
mindestens (1 + ε) · T verschiedenen Schlüsseln durch k · (1 − T1 )(1+ε)·T nach oben beschränkt
ist. Wir geben deshalb im Boosting-Ansatz die Ausgabe falsch, wenn mindestens
S =k·
(1 −
1 (1+ε)·T
T)
+ (1 −
1 T
T)
2
Hashfunktionen die Hashzelle T nicht besetzen; ansonsten wird die Antwort wahr gegeben.
Beachte, dass
k · (1 −
1 (1+ε)·T
(1 − 1/T )−ε·T − 1
1
1 + (1 − 1/T )−ε·T
)
· (1 +
) = k · (1 − )(1+ε)·T · (
)
T
2
T
2
= S
1
1 + (1 − 1/T )ε·T
= k · (1 − )T · (
)
T
2
1
1 − (1 − 1/T )ε·T
= k · (1 − )T · (1 −
).
T
2
Wir wenden Lemma 1.2 an und erhalten
(1 − 1/T )−ε·T − 1
1 − (1 − 1/T )ε·T
= Ω(ε) sowie
= Ω(ε).
2
2
Die Chernoff Ungleichung besagt jetzt, dass die Fehlerwahrscheinlichkeit, bei höchstens T
verschiedenen Schlüsseln oder bei mindestens (1 + ε) · T verschiedenen Schlüsseln, negativ
4.2. HÄUFIGKEITSMOMENTE
73
2
exponentiell durch e−Ω(ε ·k) beschränkt ist. Also genügen O( ε12 · ln 1δ ) Hashfunktionen, um
eine Fehlerwahrscheinlichkeit von höchstens δ zu erreichen.
Wenn wir die Anzahl verschiedener Schlüssel bis auf den Faktor (1 + O(ε)) approximieren
möchten, dann führen wir das obige Verfahren für jedes T ∈ {(1 + ε)r | r ≤ log1+ε n}
log
n
mit einer jeweils zufälligen Auswahl von k = O( ε12 · ln( 1+ε
)) Hashfunktionen durch und
δ
ln(n)
erreichen weiterhin eine Fehlerwahrscheinlichkeit von höchstens δ. Es ist log1+ε n = ln(1+ε)
und mit Lemma 1.2 folgt log1+ε n = O( ln(n)
ε ) und wir erhalten:
log
n
Satz 4.15 Bei einer zufälligen Auswahl von k = O( ε12 · ln( 1+ε
)) Hashfunktionen für jedes
δ
T ∈ {(1 + ε)r | r ≤ log1+ε n} wird die Anzahl verschiedener Schlüssel mit Wahrscheinlichkeit
1 − δ bis auf den Faktor 1 + ε richtig bestimmt. Deshalb genügt die Speicherkomplexität
O(k · log1+ε n) = O(
ln(n)
ln(n)
· ln(
)).
3
ε
ε·δ
Ein zweiter, besserer Ansatz basiert wieder auf Stichproben. Wir haben allerdings gesehen,
dass eine Stichprobe gleichverteilt gezogener Schlüssel die Anzahl verschiedener Schlüssel möglicherweise mit einem zu großen Fehler bestimmt. Wir versuchen deshalb, eine verlässliche
Stichprobe verschiedener Schlüssel zu berechnen. Dazu weisen wir jedem gesehenen Schlüssel
eine zufällig bestimmte Priorität zu und halten alle Schlüssel ab einer Mindestpriorität als
Stichprobe fest. Wenn die Stichprobe überläuft, dann ist die Mindestpriorität um 1 hochzusetzen und alle Schlüssel mit zu kleiner Priorität werden entfernt.
Algorithmus 4.16 Bestimmung einer Stichprobe verschiedener Schlüssel
(1) m sei eine Zweierpotenz und mindestens so groß wie die Anzahl möglicher verschiedener
Schlüssel.
Bestimmung der Prioritäten: Wähle Parameter A ∈ {1, . . . , m − 1} und B ∈ {0, . . . , m −
1} zufällig und definiere die Hashfunktion hA,B (u) = (A·u+B) mod m. Schließlich wähle
p(u) = die Anzahl der führenden Nullen in der Binärdarstellung von hA,B (u)
als Prioritätszuweisung. (Wir fordern, dass die Binärdarstellung durch führende Nullen
auf die exakte Länge log2 m aufgefüllt wird.)
Kommentar: Beachte, dass prob[ p(u) ≥ k ] = 2−k .
(2) Setze PRIORITÄT= 0 und STICHPROBE= ∅. S sei die Maximalgröße einer Stichprobe. (Wähle S so groß wie möglich. Allerdings ist S durch den verfügbaren Speicher
nach oben beschränkt, denn die Anzahl verschiedener Schlüssel in STICHPROBE muss
bestimmt werden.)
Wiederhole für i = 1, . . . , n:
(2a) Füge xi zur Menge STICHPROBE hinzu, falls p(xi ) ≥ PRIORITÄT.
(2b) Solange STICHPROBE mehr als S Schlüssel besitzt, entferne alle Schlüssel x mit
p(x) = PRIORITÄT und erhöhe PRIORITÄT um 1.
(3) Setze p = PRIORITÄT und gib 2p · |STICHPROBE| als Schätzung aus.
74
KAPITEL 4. STREAMING DATA
Wir analysieren Algorithmus 4.16. Es ist prob[ p(x) ≥ p ] = 2−p und deshalb folgt für die am
Ende berechnete Priorität p
E[ |STICHPROBE| ] = E[ |{x | p(x) ≥ p und es gibt i mit x = xi }| ]
X
=
prob[ p(x) ≥ p ]
x ein Schlüssel
−p
= 2
· Anzahl verschiedener Schlüssel.
Also folgt
E[ 2p · |STICHPROBE| ] = Anzahl verschiedener Schlüssel.
Die Schätzung in Schritt (3) ist also gut, wenn große Abweichungen vom Erwartungswert
E[ |STICHPROBE| ] unwahrscheinlich sind.
Aufgabe 39
Bestimme die Varianz Var[ |STICHPROBE| ] und zeige, dass Var[ |STICHPROBE| ] ≤ E[ |STICHPROBE| ]
gilt.
Wir setzen E = E[ |STICHPROBE| ] und die Tschebyscheff Ungleichung liefert somit
prob[ | E − |STICHPROBE| | > ε · E ] = O(
E
1
) = O( 2
).
ε2 · E 2
ε ·E
Sei V die Anzahl der tatsächlich auftretenden verschiedenen Schlüssel. Dann ist V = 2p · E
und wir erhalten
prob[ | V − 2p · |STICHPROBE| | > ε · V ] = prob[ 2p · | E − |STICHPROBE| | > ε2p · E ]
= prob[ | E − |STICHPROBE| | > ε · E ]
1
= O( 2
)
ε ·E
Natürlich müssen wir einen kleinen Fehler erreichen und müssen deshalb E >>
Dies bedingt eine Stichprobengröße S mit S >> ε12 .
1
ε2
fordern.
Aufgabe 40
(a)Wiederhole Algorithmus 4.16 O(ln( 1δ ))-mal mit maximaler Stichprobengröße S = O( ε12 ). Wir verwenden
in jedem Versuch zufällige und unabhängig voneinander gewählte Prioritätszuweisungen. Wir bestimmen alle
Stichprobengrößen (nach entsprechender Skalierung mit 2p ) und geben dann den Median aus.
Zeige: Wir erhalten eine bis auf den Faktor 1 + ε exakte Schätzung mit Wahrscheinlichkeit 1 − δ. Also genügt
die Speicherplatzkomplexität O( ε12 · ln( 1δ )). Damit ist dieses Verfahren wesentlich besser als das Verfahren aus
Satz 4.15.
(b) Was kann passieren, wenn wir m kleiner als die Anzahl der möglichen verschiedenen Schlüssel wählen?
4.2.3
Die Bestimmung von H2
Wir nehmen wieder das Streaming-Data Modell an, wobei die Daten xi zum Universum
U = {1, . . . , m} gehören mögen. Unser Ziel ist die approximative Bestimmung von
H2 =
X
a2u ,
u∈U
wobei au = | {i | xi = u} | die Häufigkeit des Schlüssels u ist.
4.2. HÄUFIGKEITSMOMENTE
75
Algorithmus 4.17 Sketching H2
(1) Bestimme eine zufällige Hashfunktion
h : U → {−1, 1}
und setze SUMME = 0.
(2) Wiederhole für alle Daten xi
Setze SUMME = SUMME +h(xi ).
Wir bestimmen zuerst Erwartungswert und Varianz von SUMME2 .
Lemma 4.18 Die Hashfunktion h möge aus einer vierfach unabhängigen Menge von Hashfunktionen gewählt werden. Dann ist
E[ SUMME2 ] = H2 und V [ SUMME2 ] ≤ 2 · H22 .
Beweis: Es ist
E[ SUMME2 ] = E[ (
m
X
au · h(u))2 ]
u=1
= E[
= E[
m
X
u=1
m
X
a2u · h(u)2 ] + E[
X
au · av · h(u) · h(v) ]
u6=v
a2u
]=
u=1
m
X
a2u = H2 ,
u=1
h(u)2
denn offensichtlich ist
= 1 für jedes u und E[ h(u) · h(v) ] = 0 für u 6= v. Also stimmt
der Erwartungswert von SUMME2 mit H2 überein. Wir berechnen als nächstes die Varianz
V [ SUMME2 ] = E[ SUMME4 ] − E[ SUMME2 ]2 . Zuerst beachte
E[ SUMME4 ] = E[ (
m
X
au · h(u))4 ].
u=1
Beim Ausmultiplizieren treten Terme der Form E[ h(u1 ) · h(u2 ) · h(u3 ) · h(u4 ) ] auf. Da wir
vierfache Unabhängigkeit annehmen, verschwindet ein solcher Term genau dann nicht, wenn
entweder u1 = u2 = u3 = u4 oder u1 = u2 6= u3 = u4 oder u1 = u3 6= u2 = u4 oder
u1 = u4 6= u2 = u3 . Also folgt
E[ SUMME4 ] = E[
=
m
X
X
a4u · h(u)4 ] + 2 · 3 · E[
u=1
m
X
a4u +
u=1
a2u · a2v · h(u)2 · h(v)2 ]
u6=v
X
6·
a2u · a2v
u6=v
und wir erhalten die Varianz
2
V [ SUMME ] =
m
X
a4u
+6·
u=1
= 4·
X
u6=v
X
a2u
·
a2v
u=1
u6=v
a2u
·
a2v
≤2·
−
m
X
H22
!2
a2u
76
KAPITEL 4. STREAMING DATA
und das war zu zeigen.
Wir wenden die Tschebyscheff Ungleichung prob[ |X − E[X]| > t ] ≤
2
prob[ |SUMME2 − E[SUMME2 ]| > t ] ≤ V [SUMME ] . Also ist
V [X]
t2
an und erhalten
t2
prob[ |SUMME2 − H2 | > λ · H2 ] ≤
2
2 · H22
= 2
λ
λ2 · H22
für jedes λ und selbst relativ kleine Abweichungen sind somit leider nicht als unwahrscheinlich ausgeschlossen. Deshalb boosten wir. Im ersten Schritt wählen wir k Hashfunktionen
h1 , . . . , hk und geben das Ergebnis
Pk
SCHÄTZUNGk =
2
i=1 SUMMEi
k
aus. Wir gehen wie in Beispiel 1.4 vor und beobachten, dass der Erwartungswert stabil bleibt,
aber dass die Varianz um den Faktor k fällt. Also erhalten wir nach k-maliger Wiederholung
und Durchschnittsbildung
prob[ |SCHÄTZUNGk − H2 | > λ · H2 ] ≤
2
.
k · λ2
Beachte, dass wir für k = λ82 eine durch 14 nach oben beschränkte Fehlerwahrscheinlichkeit
erhalten.
Insgesamt wiederholen wir Algorithmus 4.17 k ∗ = k · s mal. Die jeweiligen Summenergebnisse
werden in s Klassen von jeweils k Wiederholungen eingeteilt und für jede Klasse wird eine
Schätzung ermittelt. Schließlich bestimmt man den Median Mk∗ der s Schätzungen.
Satz 4.19 Es sei k =
8
λ2
und k ∗ = k · s.
(a) Wenn der arithmetische Durchschnitt SCHÄTZUNGk der Summenwerte berechnet wird,
2
dann ist |SCHÄTZUNGk − H2 | > λ · H2 mit Wahrscheinlichkeit höchstens k·λ
2.
(b) Wenn der Median Mk∗ der Summenwerte ausgegeben wird, dann ist |Mk∗ − H2 | > λ · H2
mit Wahrscheinlichkeit höchstens 2−Ω(s) .
(c) Eine bis auf den Faktor 1 + λ exakte Schätzung von H2 wird mit Wahrscheinlichkeit
mindestens 1 − δ und Speicherplatzkomplexität O( λ12 · log2 ( 1δ )) erreicht.
Beweis: Wir haben (a) bereits gezeigt. Für (b) beachten wir, dass eine Schätzung nur mit
Wahrscheinlichkeit höchstens 14 außerhalb des Toleranzintervalls |Mk∗ − H2 | ≤ λ · H2 liegt.
Wenn also der Median außerhalb des Toleranzintervalls liegt, dann liegt mindestens die Hälfte
aller Einzelschätzungen außerhalb und damit mindestens doppelt so viele Einzelschätzungen
wie erwartet. Das Ergebnis folgt jetzt aus der Chernoff-Schranke.
Aufgabe 41
In Anlehnung an das Schema der H2 -Schätzung beschreiben wir den folgenden Algorithmus für die Bestimmung
von H3 :
(1) Bestimme eine zufällige Hashfunktion
2
4
h : U → {1, e 3 iπ , e 3 iπ }
/* Es wird also auf eine der komplexen dritten Einheitswurzeln gehasht. */
4.3. HÄUFIGKEITSANFRAGEN
77
(2) SUMME := 0;
(3) Wiederhole für alle Daten xi
SUMME := SUMME + h(xi )
a) Es sei Y = SUMME3 . Zeige E[Y ] = H3 .
b) Warum kann dieses Ergebnis nicht benutzt werden, um eine gute Schätzung von H3 mit geringem
Speicheraufwand zu erhalten?
4.3
Häufigkeitsanfragen
Verkehrsmessungen im Internet, also Häufigkeitsmessungen für Flüsse3 , sind besonders datenintensiv: Bereits heute können DRAMs nicht mit der Geschwindigkeit der Links mithalten und
diese Lücke wird eher anwachsen, da die Geschwindigkeit der DRAMs jährlich um höchstens
10%, die Linkgeschwindigkeit sich aber momentan jährlich sogar verdoppelt. DRAM-Zähler
können somit Häufigkeitsmessungen nicht exakt durchführen, vielmehr müssen Messungen
stichprobenartig, wie etwa in CISCO’s NetFlow Algorithmus, durchgeführt werden.
Der NetFlow Algorithmus ist aber aus zwei Gründen nicht überzeugend. Zuerst sind die Schätzungen nicht präzise und insbesondere werden keine fehlerfreien unteren Schranken bestimmt:
Sicherlich wird man nicht willens sein, einen überhöht angesetzten Paketverkehr zu bezahlen.
Zuletzt ist die Speicherplatzkomplexität immens und es ist nicht ungewöhnlich, dass nur 10%
der erfassten Daten ausgewertet werden.
Aus diesen Gründen konzentriert man sich mehr und mehr auf die “heavy hitter”, also Flüsse
mit großer Häufigkeit. Diese Maßnahme wird zum Beispiel auch durch die Dominanz großer
Flüsse unterstützt, da ein kleiner Prozentsatz (ungefähr 10%) aller Flüsse einen Großteil des
Paketverkehrs (ungefähr 90%) ausmacht [FP].
Wir beschreiben Algorithmen für die Bestimmung der heavy hitter, also für die Bestimmung
häufiger Schlüssel, in den beiden nächsten Abschnitten. In Abschnitt 4.3.3 zeigen wir unter
Anderem wie man die Anzahl seltener Flüsse abschätzt, solange seltene Flüsse für einen
signifikanten Anteil des Verkehrsaufkommens verantwortlich sind.
4.3.1
Heavy Hitters
Wir haben bereits in Satz 4.11 gesehen, dass die Bestimmung des häufigsten Schlüssels, bzw.
der Häufigkeit eines häufigsten Schlüssels, die Speicherkomplexität Ω(m) verlangt, selbst wenn
wir mit randomisierten Algorithmen arbeiten und nur eine approximative Bestimmung anstreben. Wie sieht es aus, wenn wir die Problemstellung verändern und zu einem Schwellenwert
θ nur alle Schlüssel mit Häufigkeit größer als θ · n bestimmen wollen?
Aufgabe 42
A sei ein deterministischer Algorithmus. Wenn m die Anzahl verschiedener Schlüssel unter den ersten n Schlüsn
seln ist, dann wird A für die
Bestimmung aller Schlüssel mit Häufigkeit größer als 2 mindestens die Speichern
komplexität Ω(m · log2 m ) benötigen.
Hinweis: Wende das Kommunikationsmodell an. Benutze das Fooling Argument, d.h. zeige, dass Alice für
bestimmte verschiedene Eingaben keine identischen Nachrichten verschicken darf. Um
den entsprechenden
Nachweis zu führen, konstruiere „passende“ Eingaben für Bob. Die Ungleichung ab ≥ ( ab )b kann benutzt
werden.
3
Ein Fluß ist eine Paketmenge mit fixiertem Sender und Empfänger. Zusätzlich muss der (optionale) “Flußname” identisch sein.
78
KAPITEL 4. STREAMING DATA
Also ist auch hier keine substantielle Speicherplatz-Ersparnis im Vergleich zu Ω(m) möglich.
Glücklicherweise wird das Häufigkeitsproblem plötzlich machbar, wenn wir nur verlangen, dass
eine Menge K von höchstens 1θ Schlüsseln4 berechnet wird, unter denen sich alle Schlüssel
mit Häufigkeit größer als θ · n befinden müssen.
Die Grundidee steckt schon in der seit Langem bekannten Lösung des Mehrheitsproblems,
nämlich der Bestimmung eines Schlüssels mit Häufigkeit größer als n2 : Entferne nämlich stets
Paare verschiedener Schlüssel. In diesem Prozess verliert der Mehrheitschlüssel nie seine Mehrheitseigenschaft und wird bis zuletzt überleben. Ein zweiter Datendurchlauf kann dann die
Mehrheitseigenschaft überprüfen.
Algorithmus 4.20 Bestimmung häufiger Schlüssel
(1) Der Datenstrom bestehe aus dem Vektor x = (x1 , x2 , . . . , xn ) mit xi ∈ {1, . . . , m}.
(2) Die Menge K ist anfänglich leer und das Array “Zähler” ist auf Null initialisiert.
(3) For i = 1 to n do
(3a) Wenn xi ∈ K, dann erhöhe den Zähler von xi um Eins.
(3b) Wenn xi 6∈ K, dann füge xi zu K hinzu und setze den Zähler von xi auf Eins.
Wenn K jetzt genau 1θ Elemente besitzt, dann erniedrige alle Zähler um Eins und
entferne alle Schlüssel mit Zählerstand Null.
Satz 4.21 Algorithmus 4.20 bestimmt eine Menge K von höchstens 1θ Schlüsseln, unter denen sich alle Schlüssel mit Häufigkeit größer als θ · n befinden. Der Algorithmus rechnet in
Linearzeit.
Beweis: Übungsaufgabe.
Die Speicherplatzkomplexität von Algorithmus 4.20 kann selbst von randomisierten Algorithmen nicht wesentlich
unterschritten werden, da Speicherplatz Ω( 1θ · log2 (θ · n)) schon benötigt
n wird, um die 1/θ möglichen Mengen der heavy hitter darzustellen. Allerdings werden keine
Schätzungen der individuellen Häufigkeiten berechnet und zusätzlich werden möglicherweise
Schlüssel mit sehr geringer Häufigkeit ausgegeben. Die letzte Schwäche können wir mit dem
randomisierten Sample-and-Count Algorithmus [EV] zumindest teilweise beseitigen: Der Algorithmus nimmt einen Schlüssel nur mit sehr kleiner Wahrscheinlichkeit in seine Stichprobe
auf, ein heavy hitter erhält aber entsprechend viele Versuche und wird deshalb hochwahrscheinlich erfasst.
Aufgabe 43
Wir beschreiben Algorithmus Sample-and-Count, der mit einer Stichprobe S arbeitet. Wenn xn ein Schlüssel
des Datenstroms ist, dann führe die folgende Fallunterscheidung durch:
(1) Wenn xn ∈
/ S, dann füge xn zu S mit Wahrscheinlichkeit
dem Wert 1.
/* r wird später bestimmt.
r
n
hinzu. Initialisiere einen Zähler für xn mit
*/
(2) Wenn xn ∈ S, dann erhöhe den Zähler von xn um Eins.
(3) Gib alle Schlüssel in S aus, deren Zählerwert mindestens (θ − ε) · n beträgt.
/* Es muss ε ≤ θ gelten.
4
Offensichtlich gibt es höchstens
1
θ
Schlüssel mit Häufigkeit mindestens θ · n.
*/
4.3. HÄUFIGKEITSANFRAGEN
79
(a) Angenommen der Schlüssel x ist ein heavy hitter, d.h. x tritt mit Häufigkeit mindestens θ · n auf. Zeige, dass x mit Wahrscheinlichkeit höchstens (1 − nr )ε·n ≤ e−r·ε nicht in Schritt (3) ausgegeben wird. Die
Wahrscheinlichkeit, dass irgendein heavy hitter ausgelassen wird, ist damit höchstens θ1 · e−r·ε .
(b) Nur Schlüssel mit Häufigkeit mindestens (θ − ε) · n werden ausgegeben. Bestimme r, so dass jeder heavy
hitter mit Wahrscheinlichkeit mindestens 1 − δ ausgegeben wird. Zeige, dass die Reaktionszeit pro Schüssel
1
)) beschränkt ist.
konstant ist und dass die erwartete Größe der Stichprobe S durch O( 1ε · log2 ( δ·θ
Beachte, dass alle Pakete, die zu einem in der Stichprobe befindlichen Fluss gehören, bearbeitet werden müssen, um die fehlerfreie untere Schranke (θ − ε) · n zu erhalten. Deshalb
muss mit dem schnellen SRAM-Speicher gearbeitet werden. Da wir uns aber auf heavy hitters
beschränken, ist ein relativ kleiner SRAM-Speicher ausreichend.
Im nächsten Abschnitt wenden wir Bloom-Filter auf die Bestimmung der heavy hitter an.
Während der Zeitaufwand für die Verarbeitung eines Pakets im Vergleich mit sample-andcount leicht ansteigt, wird jeder heavy hitter mit Wahrscheinlichkeit 1 erfasst und wir erhalten
vergleichbare Schätzungen des tatsächlichen Paketaufkommens, falls wenige Flüsse stark dominieren.
Aufgabe 44
Wir stellen ein weiteres Schätzverfahren vor. Wir arbeiten wieder mit einer anfänglich leeren Stichprobe S und
benutzen diesmal Zeitintervalle der Länge 1ε .
(1) Alle während eines Zeitfensters Z auftretenden Schlüssel werden, wenn nicht schon zu S gehörig, in die
Stichprobe eingefügt und ihre Zähler werden aktualisiert.
(2) Nach Ablauf von Z werden alle Zählerstände um Eins verringert und alle Schlüssel mit Häufigkeit 0
werden aus S entfernt.
(3) Alle Schlüssel mit Häufigkeit mindestens (θ − ε) · n werden ausgegeben.
(a) Jeder Schlüssel mit Häufigkeit mindestens θ · n wird ausgegeben und alle ausgegebenen Schlüssel haben die
Häufigkeit mindestens (θ − ε) · n.
(b) Die Reaktionszeit pro Schüssel ist konstant und die Größe der Stichprobe ist durch O( 1ε · log2 (ε · n))
beschränkt.
4.3.2
Der Bloom-Filter Sketch
Wie verallgemeinern unser Häufigkeitsmodell und nehmen an, dass der Datenstrom die Form
((xi , ci ) | i) hat. Für einen Schlüssel x ist jetzt
H(x) =
X
ck
xk =x
die verallgemeinerte Häufigkeit von x: Wir summieren also die Inkremente ck für jeden Zeitpunkt zu dem der Schlüssel x im Datenstrom erschienen ist. Wenn stets ci = 1, dann erhalten
wir das konventionelle Häufigkeitsmodell und die konventionellen Häufigkeitsanfragen. Wir
werden aber im Folgenden nur ci ≥ 0 annehmen.
Wir möchten eine „Ungenauigkeit“ von höchstens ε mit Wahrscheinlichkeit mindestens 1 − δ
erreichen und arbeiten mit k = dln( 1δ )e Hashfunktionen h1 , . . . , hk : U → {1, . . . , w} für w = eε
Zellen. Wir verwenden zählende Bloom-Filter, die den einzelnen Hashfunktionen disjunkte
Teilarrays Z1 , . . . , Zk des Arrays Z = (Z1 , . . . , Zk ) zuweisen; jedes Teilarray besteht aus w
Zellen.
Algorithmus 4.22 Der Bloom-Filter Sketch.
(1) Die Arrays Z1 , . . . , Zk sind alle zu Null initialisiert.
80
KAPITEL 4. STREAMING DATA
(2) Wiederhole: Wenn das Paar (xi , ci ) empfangen wird, dann setze für jedes j ≤ k
Zj [hj (xi )] = Zj [hj (xi )] + ci .
(3) Eine verallgemeinerte Häufigkeitsfrage für Schlüssel x wird mit
H 0 (x) = min1≤j≤k Zj [hj (x)]
beantwortet.
Satz 4.23 Es gelte ci ≥ 0 für alle i. Dann ist stets H(x) ≤ H 0 (x). Für k = dln( 1δ )e und
w = eε gilt
X
H 0 (x) ≤ H(x) + ε ·
H(y)
y∈U
mit Wahrscheinlichkeit mindestens 1 − δ. Insgesamt werden höchstens O( 1ε · ln( 1δ )) Zellen
benutzt und die Laufzeit pro Anfrage ist höchstens O(ln( 1δ )).
Beweis: Es ist stets H(x) ≤ Zj [hj (x)] und H(x) ≤ H 0 (x) = minj≤k Zj [hj (x)] folgt. Also
bleibt nur die Frage, mit welcher Wahrscheinlichkeit H 0 (x) zu groß wird. Wir definieren die
Zufallsvariable
X
H(y)
Kjx =
y∈U mit x6=y und hj (x)=hj (y)
und erhalten
prob[ H 0 (x) > H(x) + ε ·
X
H(y) ] = prob[ ∀j ≤ k : Zj [hj (x)] > H(x) + ε ·
X
H(y) ]
y∈U
y∈U
= prob[ ∀j ≤ k : H(x) + Kjx > H(x) + ε ·
X
H(y) ]
y∈U
X
= prob[ ∀j ≤ k : Kjx > ε ·
H(y) ]
y∈U
= (prob[
Kjx
>ε·
X
H(y) ])k .
(4.1)
y∈U
Im letzten Schritt haben wir ausgenutzt, dass wir die Hashfunktionen zufällig voneinander
ausgewählt haben: An dieser Stelle zahlt sich der Bloom-Filter Ansatz aus.
Wie groß kann Kjx werden? Wir definieren die Null-Eins Zufallsvariable Kjx (y), wobei Kjx (y)
genau dann den Wert Eins annimmt, wenn hj (x) = hj (y). Wir beachten, dass E[Kjx (y)] ≤ 1/w
für x 6= y gilt und können jetzt den Erwartungswert von Kjx abschätzen:
X
E[ Kjx ] = E[
H(y) ] =
y∈U mit x6=y und hj (x)=hj (y)
X
≤
y∈U mit x6=y
X
H(y) · E[ Kjx (y) ]
y∈U mit x6=y
H(y)
ε X
≤ ·
H(y).
w
e y∈U
Wir wenden jetzt die Markoff Ungleichung5 auf (4.1) an und erhalten
prob[ H 0 (x) > H(x) + ε ·
X
y∈U
H(y) ] = (prob[ Kjx > ε ·
X
H(y) ])k
y∈U
X
ε X
H(y) / ε ·
H(y))k = e−k ≤ δ
≤ ( ·
e y∈U
y∈U
5
prob[ X > a ] ≤
E[X]
a
für X ≥ 0
4.3. HÄUFIGKEITSANFRAGEN
81
und das war zu zeigen.
Aufgabe 45
Wir erlauben jetzt auch negative “Inkremente” ci . Modifiziere Schritt (3) des Bloom-Filter Ansatzes, so dass
für die neue Schätzung H 00 (x)
prob[ H(x) − s · ε ·
X
H(y) ≤ H 00 (x) ≤ H(x) + s · ε ·
y∈U
X
H(y) ] ≥ 1 − δ 1/s
y∈U
für konstantes s gilt.
Bemerkung 4.2 In [EV] werden Bloom-Filter mit sample-and-count und Cisco’s NetFlow
verglichen. Bloom Filter werden allerdings leicht modifiziert. Zum Einen wird eine konservative Aktualisierung durchgeführt: Wenn ein Paket des Flusses F zu verarbeiten ist, dann wird
zuerst der bisherige minimale Wert MF von F festgestellt. Sodann wird der Zählerstand in
einer jeden Position hi (x) nur dann inkrementiert, wenn der bisherige Wert für hi (x) höchstens FM beträgt: Der Fluss kann bei einem Wert größer als M nicht allein für den Zählerwert
verantwortlich gewesen sein!
Zum Anderen wird die Methode des Shielding angewandt: Es werden Meßintervalle eingeführt
und die Pakete von Flüssen, die für einen längeren Zeitraum in jedem Meßintervall häufig
vertreten sind, werden direkt gezählt ohne durch den Bloom-Filter laufen zu müssen.
Nach diesen Maßnahmen stellen sich Bloom-Filter und sample-and-count als wesentlich exakter in der Schätzung der heavy hitter heraus, während natürlich NetFlow exaktere Schätzungen der leichteren Flüsse liefert, aber dabei enorme Datenmengen produziert. Der Vergleich
zwischen Bloom-Filtern und sample-and-hold wird mit leichten Vorteilen vom Bloom-Filter
Sketch gewonnen.
Wir starten eine weitere Schätzung mit den −1/1-wertigen Hashfunktionen aus Abschnitt
4.2.3.
Aufgabe 46
Der Datenstrom (xi | i) sei gegeben. Wir wählen zufällig k Hashfunktionen h1 , . . . , hk : U → {−1, +1} aus und
richten k anfänglich auf Null gesetzte Zähler Z1 , . . . , Zk ein.
Für jeden Schlüssel xi des Datenstroms und für jedes j ≤ setze Zj := Zj + hj (xi ). Anschließend
Pk
geben wir für jeden Schlüssel x ∈ U den Wert H 0 (x) = k1 · i=1 Zi · hi (a) als Schätzung der
Häufigkeit aus.
Sei H(x) die tatsächliche Häufigkeit des Schlüssels x.
(a) Zeige, dass E
1
k
·
Pk
(b) Zeige, dass Varianz
(c) Wir setzen ||H|| =
i=1
1
k
·
zi · hi (x) = H(x) gilt.
Pk
z · hi (x) =
i=1 i
qP
y∈U
1
k
·
P
y∈U,x6=y
H(y)2 gilt.
H(y)2 . Zeige, dass eine Schätzung H 00 (x) mit Speicherplatzkomplexität
O( ε12 · ln( 1δ )) berechnet werden kann, so dass
prob[ H(x) − ε · ||H|| ≤ H 00 (x) ≤ H(x) + ε · ||H|| ] ≥ 1 − δ
gilt. Hinweis: Benutze das Verfahren aus Satz 4.19.
Bemerkung 4.3 Die Speicherplatzkomplexität für das Sketching mit −1/1 Hashfunktionen
ist also höher als für das Sketching mit Bloom-Filtern. Andererseits wird eine schärfere ApP
proximation erreicht, wenn ||H|| << y∈U H(y). Die beiden Ansätze sind also nicht direkt
vergleichbar.
Allerdings treiben heavy hitters die L2 -Norm ||H|| hoch und Bloom-Filter werden in RoutingAnwendungen die Nase vorn haben.
82
KAPITEL 4. STREAMING DATA
4.3.3
Häufigkeitseigenschaften
Wir betrachten Schlüssel-Eigenschaften, die nur von der Häufigkeit abhängen mit der der
Schlüssel in einem Datenstrom ( xi | i ) auftritt. “Schlüssel mit Häufigkeit höchstens K” oder
“Schlüssel mit Häufigkeit mindestens θ · n” sind Beispiele solcher Eigenschaften.
Um die Klasse dieser Eigenschaften zu formalieren, betrachten wir eine Teilmenge En von
{1, . . . , n}. Wir sagen, dass ein Schlüssel x die Eigenschaft En hat, falls |{j ≤ n | xj = x}| ∈ En
gilt. Zum Beispiel formalisiert die Menge En = {1, . . . , K} die Eigenschaft „höchstens K-mal
aufzutreten“.
Definition 4.24 Sei ( xi | i ) ein Datenstrom, Vn = {xj | j ≤ n} die Menge der verschiedenen
Schlüssel xj für j ≤ n und sei
En∗ = {xj | j ≤ n und xj hat Eigenschaft En }
die Menge der Schlüssel mit Eigenschaft En . Dann hat Eigenschaft En die Wahrscheinlichkeit
p[En ] =
|En∗ |
.
|Vn |
p[En ] misst also wieviele der verschiedenen Schlüssel unter den ersten n Schlüsseln die Eigenschaft En besitzen.
∗
∗
|En ∩Vn |
∗
n|
gilt J(En∗ , Vn ) = |E
Für den Jaccard-Koeffizienten J(En∗ , Vn ) = |E
∗
|Vn | = p[En ], da En eine
n ∪Vn |
Teilmenge von Vn ist.
Wir haben Min-Hashing benutzt, um den Jaccard-Koeffizienten J(En∗ , Vn ) zu berechnen, denn
es ist
prob[min(En∗ ) = min(Vn )] = J(En∗ , Vn )
π
π
und als Konsequenz folgt
prob[min(En∗ ) = min(Vn )] = p[En ].
π
π
Algorithmus 4.25 Häufigkeitsmessung für Eigenschaften
(1) Wähle zufällig k Permutationen π1 , . . . , πk und setze minj (0) = ∞ sowie Zählerj = 0
für alle j ≤ k.
/* k wird später bestimmt.
*/
(2) Wenn xi+1 zu verarbeiten ist, dann wiederhole für jedes j ≤ k
(a) Berechne πj (xi+1 ).
(b) Wenn πj (xi+1 ) < minj (i), dann setze minj (i + 1) = πj (xi+1 ) und Zählerj = 1.
/* Der Schlüssel xi+1 ist zum ersten Mal aufgetreten und sein Zähler wird deshalb
auf Eins gesetzt.
*/
(c) Wenn πj (xi+1 ) = minj (i), dann setze Zählerj = Zählerj + 1.
/* Ein weiteres Vorkommen des minimalen Schlüssels xi+1 für πj wurde beobachtet
und dementsprechend wird sein Zähler inkrementiert.
*/
(3) Bestimme die Anzahl k ∗ der Schlüssel minj (n) für die Eigenschaft En gilt und gib k ∗ /k
als Schätzung für die Wahrscheinlichkeit von En aus.
4.4. ALGORITHMEN FÜR ZEITFENSTER: ZÄHLEN DER LETZTEN EINSEN
83
Aufgabe 47
Warum können wir weder Reservoir Sampling (Algorithmus 4.1) noch Stichproben verschiedener Elemente
(Algorithmus 4.16) anwenden?
Für die Analyse von Algorithmus 4.25 definieren wir die Zufallsvariablen Xj durch
(
Xj =
1 minj (n) ∈ En∗ ,
0 sonst
und berechnen den Erwartungswert E[ kj=1 Xj ] = kj=1 E[Xj ] = k · p[En ]. Da die Zufallsvariablen unabhängig voneinander sind, können wir die Chernoff-Schranke anwenden und
erhalten
P
prob[ |
k
X
P
Xj − k · p[En ]| ≥ ε · k · p[En ] ] ≤ 2 · e−k·p[En ]·ε
2 /3
.
j=1
Also folgt
prob[ |k ∗ /k − p[En ]| ≥ ε · p[En ] ] = prob[ |k ∗ − k · p[En ]| ≥ ε · k · p[En ] ]
≤ 2 · e−k·p[En ]·ε
2 /3
.
Wenn wir also eine ε-Approximation mit Fehlerwahrscheinlichkeit höchstens δ fordern, werden
wir auf die Bedingung
2
2 · e−k·p[En ]·ε /3 ≤ δ
geführt und deshalb auf die Bedingung −k · p[En ] · ε2 /3 ≤ ln( 2δ ), beziehungsweise auf k ≥
3
· ln( 2δ ).
ε2 ·p[En ]
1
Satz 4.26 Für k = O( ε2 ·p[E
· ln( 1δ )) erreicht Algorithmus 4.25 eine ε-Approximation von
n]
p[En ] mit Wahrscheinlichkeit mindestens 1 − δ. Die Laufzeit pro Schlüssel ist durch O(k) und
die Speicherplatzkomplexität durch O(k · log2 n) beschränkt, wenn der für die Permutationen
benötigte Speicherplatz nicht gezählt wird.
Wir können also die Anzahl seltener oder häufiger Schlüssel recht exakt mit kleinem Speicher
abschätzen, solange p[En ] nicht zu klein ist. Beachte aber, dass wir nur die Anzahl, nicht aber
alle nachgefragten Schlüssel selbst in Erfahrung bringen können.
Wenn wir Permutationen zufällig auswürfeln, dann benötigt Algorithmus 4.25 den unrealistisch großen Speicherplatz Ω(k · log2 (n!)) = Ω(k · n · log2 n)). Stattdessen sollten Hashfunktionen aus wesentlich kleineren Hashklassen eingesetzt werden: Die linearen Permutationen
a · x + b mod N stellen sich in praktischen Anwendungen als gut heraus und benötigen nur
Speicherplatz O(log2 N ).
4.4
Algorithmen für Zeitfenster: Zählen der letzten Einsen
Die Fenstergröße N sei gegeben. Wir betrachten einen Datenstrom und möchten die Anzahl
“auffälliger” Daten in einem Zeitfenster der Länge N zählen. Wir modellieren dieses Problem
als das Zählen der Einsen unter den letzten N Bits in einem Datenstrom von Nullen und
Einsen
84
KAPITEL 4. STREAMING DATA
Eine Lösung mit Speicherkomplexität N ist trivial, kostet aber zuviel schnellen Speicher. Wir
stellen einen Algorithmus vor, der mit Speicherkomplexität O( 1ε · log22 N ) arbeitet und die
Anzahl „Geschätzt” ausgibt, so dass |Geschätzt − Exakt| ≤ 2ε · Exakt. Unsere Lösung wird
fast optimal sein, denn es gilt
Aufgabe 48
Zeige, dass jeder deterministische Algorithmus, der die Anzahl der Einsen im Zeitfenster der Größe N mit
relativem Fehler ε bestimmt, mindestens Speicherplatz Ω( 1ε log22 εN ) benötigt.
Wir bauen eine Datenstruktur aus Körben K1 , . . . Km . Der Korb Ki speichert die Anzahl
der Einsen in einem sich dynamisch ändernden Zeitintervall Zi . Körbe haben die folgenden
Eigenschaften:
(1) Die Zeitintervalle Z1 , . . . , Zm bilden eine disjunkte Zerlegung eines {1, . . . , N } umfassenden Zeitraums.
(2) Die Zeitintervalle sind zeitlich geordnet (Z1 < · · · < Zm ), wobei Z1 den gegenwärtigen
Zeitpunkt und Zm den letzten interessanten Zeitpunkt N der Vergangenheit enthält.
(3) Korb Ki speichert den Zeitstempel des Korbs (nämlich das Alter der jüngsten erfassten Eins im Zeitintervall Zi ) und die Korbgröße Gi (d.h. die Anzahl der Einsen im
Zeitintervall Zi ).
(4) Die Korbgrößen Gi sind stets Zweierpotenzen und die Körbe K1 . . . , Km besitzen aufsteigende Korbgrößen.
(5) Sei k = d 1ε e. Wenn 2h die Korbgröße des letzten Korbs Km ist, dann gibt es zu jedem
0
h0 < h mindestens k2 und höchstens k2 + 1 Körbe der Größe 2h .
Die Speicherplatzkomplexität der Korbdatenstruktur ist O(k · log22 N ) = O( 1ε · log22 N ), denn
nach Eigenschaft (5) gibt es insgesamt O(k·log2 N ) Körbe und jeder Korb speichert O(log2 N )
Bits gemäß Eigenschaft (3).
Aufgrund der Zeitstempel können wir feststellen, ob ein Korb noch aktuell ist: Wenn der
Zeitstempel des letzten Korbs größer als N ist, dann kann der Korb entleert und wiederverwandt werden. Alle Körbe halten die exakte Anzahl der Einsen ihres Zeitintervalls in ihrer
Korbgröße fest; allerdings kennen wir das Ende des Zeitintervalls nicht: Wenn der letzte Korb
Km noch aktuell ist, dann können wir nur sagen, dass
m−1
X
Gi + 1 ≤ Exakt ≤
i=1
m−1
X
Gi + Gm
i=1
Gm
gilt. Unser Algorithmus gibt die Schätzung m−1
i=1 Gi + 2 ab. Um den relativen Fehler durch
2ε zu beschränken, genügt also die Forderung
P
Gm /2
≤2·ε
i=1 Gi + 1
Pm−1
und hierzu genügt wiederum der Nachweis von
(Gm − 1)/2
≤ ε.
i=1 Gi + 1
Pm−1
4.5. HISTOGRAMME
85
Diese Ungleichung wird durch Eigenschaft (5) erzwungen, denn wenn Korb Kl die Korbgröße
2r besitzt, dann gibt es mindestens k2 Körbe der Größen 1, 2, 4, . . . , 2r−1 und damit ist sogar
l−1
X
Gi + 1 ≥
i=1
X
k
1 Gl − 1
k r−1
·
2i ≥ · (2r − 1) ≥ ·
2 i=0
2
ε
2
für jedes 1 ≤ l ≤ m.
Algorithmus 4.27 Das Zählen von Einsen in einem Zeitfenster
(1) Zwei Variablen „TOTAL” und „LETZTER” speichern die Gesamtgröße aller Körbe,
bzw. den Index des letzten Korbs.
(2) Wenn ein neues Bit ankommt, dann überprüfe, ob der letzte Korb noch aktuell ist. Ist
dies nicht der Fall, dann wird der letzte Korb entfernt und die Variablen TOTAL und
LETZTER werden aktualisiert.
(3) Wenn das neue Bit eine Null ist, dann wird es ignoriert. Ansonsten wird ein neuer Korb
mit Korbgröße 1 erzeugt und der Zeitpunkt wird festgehalten. TOTAL wird um Eins
erhöht.
(4) Wenn es jetzt k2 + 2 Körbe der Korbgröße 1 gibt, dann fasse die beiden ältesten Körbe zu einem Korb der Größe 2 zusammen und bestimme den Zeitstempel des neuen
Korbs. Da es nach Zusammenfassung möglicherweise zu viele Körbe der Größe 2 gibt,
ist die Überprüfung von Eigenschaft (5) für Korbgröße 2 fortzusetzen.... Die Variable
LETZTER ist zu aktualisieren.
Beispiel 4.1 Es sei k = 2 und die Korbgrößen seien (1, 1, 2, 4, 4, 8, 8, 16, 32). Wenn eine neue
Eins eintrifft, dann sind Körbe zusammenzufassen und wir erhalten (1, 2, 2, 4, 4, 8, 8, 16, 32).
Nach zwei weiteren Einsen und der entsprechenden Korbzusammenfassung ergibt sich dann
der Vektor (1, 2, 4, 8, 16, 16, 32).
Beachte, dass jedes neue Bit mit Hilfe einer geeigneten zusätzlichen Datenstruktur im worstcase O(log2 N ) Operationen verursacht, während die amortisierte (oder durchschnittliche)
Laufzeit sogar nur konstant ist. Wir fassen unsere Ergebnisse zusammen:
Satz 4.28 Für jedes N wird die Anzahl der Einsen unter den letzten N Bits mit relativem
Fehler höchstens 2ε bestimmt. Die worst-case Laufzeit pro Bit ist k = d 1ε e = O(log2 N ) und
die amortisierte Laufzeit ist konstant. Die Speicherplatzkomplexität ist durch O( 1ε · log22 N )
beschränkt.
4.5
Histogramme
Der Datenstrom bestehe aus der Folge x1 , . . . , xn von natürlichen Zahlen. Ein k-Histogramm
(Z1 , . . . , Zk ) zerlegt den Zeitraum {1, . . . , n} in k Zeitintervalle Z1 , . . . , Zk und gibt für jedes
Zeitintervall Zi einen konstanten Wert wi an. Damit das Histogramm das Verhalten der Folge
möglichst gut wiedergibt, wird für jedes Zeitintervall Zi eine „Stufenhöhe“ wi bestimmt, so
dass die quadratische Abweichung, also
abweichungi (w) =
X
j∈Zi
(xj − wi )2
86
KAPITEL 4. STREAMING DATA
minimal ist. Um optimale Stufenhöhen zu bestimmen, setzen wir die Ableitung der Funktionen
„abweichungi “ auf Null und erhalten die Bedingungen
X
−2 · (xj − wi ) = 0 ⇒ wi =
j∈Zi
1 X
xj .
|Zi | j∈Z
i
Also ist der „Erwartungswert“ E(Zi ) = |Z1i | j∈Zi xj eine optimale Wahl der Stufenhöhe wi .
Natürlich möchten wir ein optimales k-Histogramm berechnen und haben deshalb noch die
Wahl einer optimalen Zerlegung des Zeitraums {1, . . . , n} in k Zeitintervalle. Wir definieren
P
Varianz(Z) =
X
(xj − E(Z))2
j∈Z
als die „Varianz“ des Zeitintervalls Z und fordern, dass der Wert
W (Z1 , . . . , Zk ) =
k
X
Varianz(Zi )
(4.2)
i=1
des k-Histogramms (Z1 , . . . , Zk ) kleinstmöglich ist. Mit anderen Worten, ein optimales kHistogramm entspricht einer Stufenfunktion, die die Folge in der euklidschen Norm optimal
approximiert.
Wir beschreiben zuerst einen dynamischen Programmier-Algorithmus, der ein optimales Histogramm berechnet. Unser Algorithmus bestimmt
optp (m) = min{ W (Z1 , . . . , Zp ) | (Z1 , . . . , Zp ) ist ein p-Histogramm für x1 , . . . , xm }
für alle Kombinationen 1 ≤ p ≤ k und 1 ≤ m ≤ n. Die Bestimmung gelingt mit Hilfe der
Rekursion
opt1 (m) = Varianz({1, . . . , m}),
optp (m) =
min {optp−1 (m∗ ) + Varianz({m∗ + 1, . . . , m}) }.
m∗ <m
(4.3)
Um die Varianzen effizient zu berechnen, bestimmen wir in einer Vorberechnung zuerst alP
Pm 2
le Präfixsummen m
i=1 xi und
i=1 xi und können dann die Varianz eines Zeitintervalls in
konstant vielen Schritten evaluieren.
Wir haben insgesamt k · n Teilprobleme zu lösen und die Lösung eines Teilproblems gelingt
in Zeit O(n). Die Laufzeit ist also durch O(k · n2 ) beschränkt. Schließlich ist die Speicherkomplexität durch O(n) beschränkt, denn es genügt, die Werte optp (1), . . . , optp (m) und
optp−1 (1), . . . , optp−1 (m) abzuspeichern. Damit sind die benötigten Ressourcen aber jenseits
von Gut und Böse und wir erlauben deshalb (1 + ε)-approximative Histogramme. Wir beginnen mit zwei einfachen Beobachtungen.
Beobachtung 4.1 Wenn Z 0 ⊆ Z für Zeitintervalle Z 0 und Z gilt, dann ist Varianz(Z 0 ) ≤
Varianz(Z).
Beweis: Die Behauptung ist offensichtlich, denn
Varianz(Z) =
X
j∈Z
(xj − E(Z))2 ≥
X
j∈Z 0
(xj − E(Z))2 ≥
X
j∈Z 0
(xj − E(Z 0 ))2 = Varianz(Z 0 ).
4.5. HISTOGRAMME
87
Beobachtung 4.2 Wenn m1 ≤ m2 , dann ist optp (m1 ) ≤ optp (m2 ).
Beweis: Wenn (Z1 , . . . , Zp ) eine Zerlegung von {1, . . . , m2 } ist, dann induziert (Z1 , . . . , Zp )
auch eine (nicht zwangsläufig optimale) Zerlegung von {1, . . . , m1 }. Der Wert der induzierten Zerlegung liegt wegen der ersten Beobachtung unterhalb des Werts der ursprünglichen
Zerlegung.
Die Rekursionsgleichung (4.3) ist also zusammengesetzt aus den (in m∗ ) monoton steigenden
opt(m∗ ) Werten und den (ebenfalls in m∗ ) monoton fallenden Varianz({m∗ + 1, . . . , m})
Werten. Allerdings erlaubt diese Tatsache keine schnellere Bestimmung des Minimums in
(4.3).
Beispiel 4.2 Die Zahlen a1 , . . . , an seien nicht-negativ. Wir setzen f (i) = ij=1 aj und g(i) =
Pn
ist f monoton wachsend in i und g monoton fallend. Weiterhin ist
j=i aj . Offensichtlich
P
f (i) + g(i) = ai + nj=1 aj und die Bestimmung des minimalen f (i) + g(i)-Werts ist äquivalent
zur Bestimmung des minimalen ai . Allerdings ist eine 2-approximative Lösung sehr einfach
P
P
zu bestimmen, da stets nj=1 aj ≤ f (i) + g(i) ≤ 2 · nj=1 aj gilt.
P
Unsere schnelle Approximation berechnet p-Histogramme für jedes p ≤ k, indem (4.3) nur in
wenigen, sorgfältig ausgewählten Punkten m∗ minimiert wird.
Algorithmus 4.29 Schnelle Bestimmung guter k-Histogramme mit wenig Speicher
(1) Bisher wurden die Zahlen x1 , . . . , xn verarbeitet und die Zahl xn+1 sei gerade erschienen.
Zu diesem Zeitpunkt sind unter Anderem für jedes p (1 ≤ p ≤ k) gespeichert:
- die Folge 1 = linksp1 < linksp2 < · · · < linkspI(p) ≤ n linker Endpunkte.
- für jeden rechten Endpunkt rechtspi = linkspi+1 − 1 die Werte approxp (rechtspi ) von
Prechtsp
Prechtsp
p-Histogrammen für {1, . . . , rechtspi } sowie die Summen i=1 i xi und i=1 i x2i .
/* Der Algorithmus bestimmt eine Zerlegung in p Intervalle und vereinigt dazu einige Intervalle [linkspi , rechtspi ]. Der Wert der Zerlegung von {1, . . . , m} ist
approxp (m).
*/
Für jedes i ≤ I(p) fordern wir die Invariante
approxp (rechtspi ) ≤ (1 + δ) · approxp (linkspi )
für rechtspi = linkspi+1 − 1.
/* Die Invariante fordert insbesondere, dass die Varianz des Intervalls [linkspi , rechtspi ]
nicht zu groß ist. Die Invariante garantiert eine gute Approximation, denn wir zeigen
approxp (n) ≤ (1 + δ)p−1 · optp (n) in Lemma 4.30.
*/
(2) p-Histogramme für {1, . . . , n + 1} werden iterativ bestimmt. Für p = 1 setzen wir
approx1 (n + 1) = Varianz({1, . . . , n + 1}): Approximation und Optimum fallen für p = 1
zusammen. Im Schritt von p auf p + 1 setzen wir
approxp+1 (n + 1) = min
i≤I(p)
approxp (rechtspi ) + Varianz({linkspi+1 , . . . , n + 1}),
88
KAPITEL 4. STREAMING DATA
Wenn approxp+1 (n + 1) = approxp (rechtspi ) + Varianz({linkspi+1 , . . . , n + 1}), dann gibt
der Algorithmus die Zerlegung Zp (rechtspi ) ∪ [rechtspi + 1, n + 1] aus, wobei Zp (rechtspi )
eine Intervallzerlegung von {1, . . . , rechtspi } in p Intervalle mit Wert approxp (rechtspi )
ist. Eine geeignete Datenstruktur muss die Bestimmung von Zp (rechtspi ) erleichtern.
/* Wir bestimmen also ein bestes p+1-Histogramm, indem wir die gegebene IntervallzerSIp
legung {1, . . . , n} = i=1
[linkspi , rechtspi ] an allen rechten Endpunkten rechtspi aufspalten
und ein jeweils bestes approximatives p-Histogramm bis zum Endpunkt rechtspi mit dem
verbleibenden Intervall zusammensetzen. Wir wählen das Beste der untersuchten p + 1Histogramme als unsere approximative Lösung aus.
*/
Wenn approxp+1 (n + 1) > (1 + δ) · approxp+1 (linkspI(p) ), dann fügen wir das Intervall
{n + 1} hinzu, d.h. wir setzen I(p) = I(p) + 1 und linksI(p) = n + 1. Ansonsten bleibt
die Folge linker Endpunkte unverändert.
Wir verifizieren zuerst, dass Algorithmus 4.29 gute p-Histogramme für jedes p ≤ k berechnet.
Lemma 4.30 Für jedes p ≤ k gilt approxp (n) ≤ (1 + δ)p−1 · optp (n).
Beweis: Wir führen eine Doppelinduktion, zuerst nach p und dann nach n durch. Für p = 1
darf nur ein einziges Zeitfenster gewählt werden und die berechnete Lösung stimmt mit der
optimalen Lösung überein. Wir betrachten als Nächstes den Fall von p + 1 Zeitfenstern.
Mit der Rekursionsgleichung (4.3) wissen wir, dass ein x mit
optp+1 (n + 1) = optp (x) + Varianz({x + 1, . . . , n + 1})
existiert. Sei [linkspi , rechtspi ] das Intervall in dem x liegt. Da optp monoton wächst (Beobachtung 4.2), folgt
optp (linkspi ) ≤ optp (x) ≤ optp (rechtspi ).
Weiterhin folgt aus der Invariante in Verbindung mit der Induktionsvoraussetzung
approxp (rechtspi ) ≤ (1 + δ) · approxp (linkspi )
≤ (1 + δ) · (1 + δ)p−1 · optp (linkspi ) ≤ (1 + δ)p · optp (x)
und, da Varianzen monoton fallen (Beobachtung 4.1), gilt
optp+1 (n + 1) = optp (x) + Varianz({x + 1, . . . , n + 1})
≥ (1 + δ)−p · approxp (rechtspi ) + Varianz({x + 1, . . . , n + 1})
≥ (1 + δ)−p · approxp (rechtspi ) + Varianz({rechtspi + 1, . . . , n + 1})
≥ (1 + δ)−p · approxp (rechtspi ) + Varianz({rechtspi + 1, . . . , n + 1})
≥ (1 + δ)−p · approxp+1 (n + 1).
Und das war zu zeigen.
Wir analysieren die benötigten Zeit und Platz-Ressourcen und bestimmen dazu zuerst die
Anzahl linker Endpunkte. Wir fixieren p (1 ≤ p ≤ k) und beobachten, dass Algorithmus 4.29
nur dann n + 1 als neuen linken Endpunkt hinzufügt, wenn sich die approx-Werte des linken
und des rechten Endpunkts des gegenwärtig letzten Intervalls um mehr als den Faktor 1 + δ
unterscheiden.
4.5. HISTOGRAMME
89
Sei MAX die größte der n Zahlen x1 , . . . , xn . Dann ist approxp (rechtspi ) ≤
und damit werden höchstens
O log1+δ n · MAX2
= O(
Pn
2
j=1 xj
≤ n·MAX2
log2 (n · MAX2 )
)
log2 (1 + δ)
linke Endpunkte hinzugefügt. Wir wählen δ so, dass (1+δ)k = 1+ε gilt. Wegen k·log2 (1+δ) =
log2 (1 + ε) erhalten wir insbesondere log2 (1 + δ) = log2 (1 + ε)/k. Also ist die Anzahl linker
Endpunkte für jedes p ≤ k durch
O log1+δ n · MAX2
= O(
k · log2 (n · MAX)
k · log2 (n · MAX2 )
) = O(
).
log2 (1 + ε)
ε
beschränkt. (Wir haben ln(1 + x) = Θ(x) benutzt: Siehe Lemma 1.2.)
Aufgabe 49
Beschreibe eine Datenstruktur für Algorithmus 4.29. Laufzeit und Speicherplatz sollten durch O(
MAX) ) beschränkt sein.
k2
ε
· log2 (n ·
Wir können zusammenfassen:
Satz 4.31 Wenn die nte Zahl mit Approximationskonstante höchstens 1 + ε zu verarbeiten
ist, dann ist Speicherplatz und Laufzeit
O(
k2
· log2 (n · MAX) )
ε
ausreichend, wobei MAX = max{x1 , . . . , xn }.
Für kleine Werte von k genügt also logarithmischer Speicherplatz und logarithmische Laufzeit
pro Zahl.
Aufgabe 50
Wir nennen eine Stichprobe der Größe k zufällig und gleichverteilt gezogen, wenn jede mögliche k-elementige
−1
Teilmenge aus den letzten m ≥ k Punkten des Datenstroms die gleiche Wahrscheinlichkeit m
hat. Für t ≥
k
m betrachten wir zufällig gezogene Stichproben St der Größe k auf dem Zeitfenster
{t − m + 1, . . . , t} und nennen die Folge (St )t≥m paarweise unabhängig, wenn je zwei Stichproben für disjunkte Zeitfenster unabhängig sind.
Betrachte den folgenden Algorithmus A für den Datenstrom x1 , x2 , . . .:
(1) Führe auf x1 , . . . , xm Reservoir Sampling aus, um eine Stichprobe Sm der Größe k zu erhalten. Speichere
die Datenpunkte der Stichprobe in aufsteigender (Alters-)Reihenfolge in einer Schlange ab.
(2) Wiederhole für jedes t = m + 1, m + 2, . . .: Falls der älteste Datenpunkt der Schlange zum Zeitpunkt
t − m in die Stichprobe aufgenommen wurde, entferne ihn und nimm xt auf. Ansonsten ignoriere xt .
(a) Zeige, dass Algorithmus A eine zufällig und gleichverteilt gezogene Stichprobe auf den letzten m Datenpunkten liefert. Hinweis: Was passiert mit dem charakteristischen Vektor der Stichprobe Sm im Laufe
der Zeit?
(b) Zeige, dass die vom Algorithmus A gelieferte Stichproben (St )t≥m nicht paarweise unabhängig sind.
Aufgabe 51
Algorithmus A produziert eine periodische Stichprobe, die viele Anwendungen unmöglich macht. Wir führen
deshalb einen neuen Algorithmus B ein, der eine Stichprobe der Größe 1 liefert. Sei x1 , x2 , . . . ein Datenstrom.
(1) Q sei eine leere doppelt verkette Liste, die in einem Listenelement sowohl den Index, als auch den Wert
eines Datenpunkts speichern kann. Der Wert kann ungesetzt bleiben. Die Listenelemente haben also die
Form (t, xt ) oder (t, ∗). Die einelementige Stichprobe S initialisieren wir durch S = ∅.
(2) Wiederhole für jeden Datenpunkt xt für t = 1, 2, . . .:
90
KAPITEL 4. STREAMING DATA
Schritt a : Falls das erste Listenelement von Q verfällt, d.h. den Index t − m trägt, dann entferne dieses
Element vom Anfang der Liste Q. Wenn das neue erste Listenelement nun den Wert xj hat, dann
setze S = {xj }.
Schritt b : Wenn das erste Listenelement von Q nicht verfällt, dann wirf eine Münze mit Erfolgswahrscheinlichkeit p = 1/ min(t, m). Bei einem Erfolg setze S = {xt }, lösche Q komplett und füge den
Index t als einziges Listenelement in Q ein. Bei Mißerfolg tue nichts.
Schritt c : Falls t nun als Index im letzten Listenelement von Q gespeichert ist, speichere dort zusätzlich
den Wert xt . Wähle dann zufällig gleichverteilt einen Index i aus der Menge {t + 1, . . . , t + m}.
Füge diesen Index als neues Listenelement am Ende von Q ein.
(a) Zeige: Zu jedem Zeitpunkt t ≥ m (nach der Iteration für t) gibt es ein r mit
Q[1] = (i1 , xi1 ), . . . , Q[r − 1] = (ir−1 , xir−1 )
und
Q[r] = (ir , ∗, )
wobei t − m + 1 ≤ i1 < i2 < . . . < ir−1 ≤ t < ir und wobei xi1 die gegenwärtige Stichprobe ist.
Q besitzt also stets den gegenwärtigen Stichprobenschlüssel als erstes Listenelement. Nachfolgende Listenelemente sind nach Zeitpunkt aufsteigend angeordnet und spezifizieren den jeweils neuen Stichprobenschlüssel, wenn der gegenwärtige Stichprobenschlüssel verfällt. Q ist also eine Liste von Nachrückern.
(b) Zeige, dass Algorithmus B eine zufällig und gleichverteilt gezogene Stichprobe auf den letzten m Datenpunkten liefert. Gilt dieselbe Aussage auch, wenn wir Schritt b auslassen?
(c) Zeige oder widerlege, dass Algorithmus B eine Folge von paarweise unabhängigen Stichproben liefert.
(d) |Q| sei die Länge der Liste Q. Zeige, dass prob [|Q| > log m] ≤ m−c für jede Konstante c gilt.
Hinweis: Zeige zuerst, dass prob [|Q| > r] ≤ m
m−r gilt.
r
(e) Zeige, dass die Ungleichung E [|Q|] ≤ e für die erwartete Länge der Liste Q gilt.
Hinweis: Wenn eine Zufallsvariable X nur natürliche Zahlen als Werte annimmt, dann gilt E [X] =
P
∞
prob [X > i].
i=0
Teil II
Internet Routing
91
93
Für die Kommunikation in Netzen stehen im Wesentlichen zwei verschiedene Paradigmen zur
Auswahl. Im Circuit Switching (bzw. in der Leitungsvermittlung) wird zuerst ein Weg zwischen den Kommunikationspartnern bestimmt. Sodann werden Ressourcen auf dem Weg für
die gesamte Dauer der Kommunikation reserviert und die Kommunikation kann ohne Verzug verlässlich durchgeführt werden. Man spricht hier auch von einem „Connection Oriented
Service“. Circuit Switching wird vor Allem von Telefon-Gesellschaften im Festnetz eingesetzt.
Die Verwendung neuer Technologien wie ATM (Asynchronous Transfer Mode) scheint aber
auch im Festnetz zur zumindest partiellen Ablösung des Circuit Switching zu führen.
Im Packet Switching (bzw. in der Paketvermittlung) werden Internet Daten (Zugriffe auf
Web Seiten, e-mail oder Downloads) in kleine Pakete von ungefähr 1500 Bytes aufgebrochen
und über mehrere Zwischenstationen verschickt. Durch das Aufbrechen der Daten in kleine
Pakete können innerhalb kürzester Zeit unterschiedliche Netzwerkbelastungen durch Teilung
der Ressourcen ausgeglichen werden. Darüberhinaus genügt bei dem Verlust eines Pakets
die Neuanforderung des Pakets und nicht die der ganzen Datei. Allerdings leiden EchtzeitAnforderungen: Datenstaus oder der Ausfall von Links oder Routern können den Transport
einiger Pakete beeinträchtigen. Packet-Switching ist heute der de facto Standard für die Internet Kommunikation.
Jedes Paket besteht aus den folgenden drei Komponenten:
- Der Header gibt zum Beispiel die IP-Adresse des Senders und Empfängers, die Länge
des Pakets und die Paketnummer (zur Identifizierung des gegebenen Pakets in der Folge
aller Pakete der verschickten Datei) an.
- Die Payload besteht aus dem Informationsanteil.
- Der Trailer beschreibt das Paketende und beeinhaltet auch Information zur Fehlerüberprüfung (wie etwa die Anzahl der Einsen in der Payload).
Pakete werden nach einem Schichtenmodell versandt. Wir führen einige dieser Schichten gemäß steigender Abstraktion auf:
- Physical Layer: verantwortlich für die physikalische Verbindung zwischen Rechnern.
- Network Interface6 Layer: „Wo die Bits die Kabel treffen“. Hier wird der Transfer zwischen direkt-verbundenen Rechnern abhängig von dem Verbindungstyp —Ethernet, FDDI (Fiber Distributed Data Interface), ATM (Asynchronous Transfer Mode), etc. —
geregelt. Auf diesem Layer werden die Besonderheiten der Hardware „versteckt“.
- Internet Layer: Pakete werden vom Sender, über mehrere Zwischenstationen, an den
Empfänger mit Hilfe des Internet Protocols7 (IP) verschickt. Ressourcen sind dynamisch
zu teilen. Es gibt keinerlei Garantie, dass Pakete in der ursprünglichen Reihenfolge
ankommen und IP garantiert statt dem fehlerfreien Ankommen des Pakets nur „Best
Effort“. Die Fehlerbehandlung wird dem übergeordneten Transport Layer überlassen.
Innerhalb eines Netzes wird das Intra-Domain Routing verwandt, während das InterDomain Routing die Reihenfolge der zu durchlaufenden Netze bestimmt.
6
Ein Interface beschreibt die Kommunikation von einem Layer an das übergeordnete Layer.
Ein Protokoll ist eine Übereinkunft in Hinsicht auf die Kommunikationssprache, das Datenformat, Hardwareanforderungen etc.
7
94
- Transport Layer: verantwortlich für die fehlerfreie Kommunikation zwischen Sender und
Empfänger. Diese Schicht wird durch das Transmission Control Protocol (TCP) gesteuert. Seine Aufgaben sind unter Anderen:
(*) Bestätigung erhaltener Pakete, bzw. Aufforderung nach wiederholter Sendung nicht
erhaltener Pakete.
(*) Aufbrechen der Daten in Pakete beim Sender und Zusammensetzen der Pakete in
korrekter Reihenfolge beim Empfänger.
(*) Flow Control: Der Sender wird gezwungen, die Kapazitäten des Empfängers nicht
zu überschreiten.
(*) Congestion Control: Die durch das Netz ausgelösten Datenstaus werden durch eine
angepasste Emissions- und Wiederversandsrate kontrolliert.
- Application Layer: Die Kommunikation mit den Anwendungen wird geregelt. Beispiele
sind Telnet (Remote Login), FTP (File Transfer Protocol) und Multimedia-Kodierung
(Kompression von Audio- und Video-Daten).
Wir werden uns im Folgenden mit dem Internet und dem Transport Layer beschäftigen und
betrachten zuerst das Routing Problem in größerem Detail.
Die in Pakete aufgeteilten Daten werden in mehreren Schritten an ihr Ziel geleitet. Der jeweils
zuständige Router bestimmt die Zieladresse des Pakets und wählt dann die entsprechende Regel seiner Routingtabelle aus, wobei eine solche Regel einer Gruppe von Zieladressen einen
Zwischenstop zuweist. Der Router überprüft die Belastung dieser primären Verbindung und
untersucht bei Überlastung alternative Verbindungen gemäß weiterer Regeln, um eine bestmögliche Option unter den momentanen Bedingungen zu erhalten. Die Routingtabelle muss
schnell veränderten Bedingungen, wie neuen oder temporär nicht erreichbaren Routern, angepasst werden; dazu wird periodisch Erreichbarkeitsinformation mit benachbarten Routern
ausgetauscht.
Das Internet ist in gegenwärtig ungefähr 30.000 autonome Systeme aufgeteilt. Ein autonomes
System wird von einer Institution (zum Beispiel einem Internet Service Provider) unterhalten
und die Institution ist verantwortlich für das Intra-Domain Routing, also das Verschicken
von Paketen innerhalb eines autonomen Systems. Im Intra-Domain Routing sind EffizienzGesichtspunkte maßgebend: Pakete werden meist über kürzeste Wege verschickt. Im InterDomain Routing müssen Pakete über eine Folge von Knoten aus verschiedenen autonomen
Systemen zugestellt werden. Der Wechsel zwischen autonomen Systemen wird durch besonders
leistungsstarke Router vermittelt, die jede Sekunde bis zu 60 Millionen Pakete bewegen.
Im Folgenden untersuchen wir Routing Algorithmen sowohl für Intra-Domain wie auch für
Inter-Domain Routing. Desweiteren beschäftigen wir uns mit der durch TCP durchgeführten
„Verkehrskontrolle“ (congestion control) zur Verhinderung von Datenstaus und betrachten
Techniken zur Bekämpfung von denial-of-service Attacken.
Kapitel 5
Routing
5.1
Routing Tabellen
Eine IP-Adresse (für IP Version 4) besteht aus insgesamt 32 Bits. Diese 32 Bits bestanden
anfänglich aus zwei Teilen, einer Beschreibung des Netzwerks gefolgt von einer Beschreibung
des Hosts. Später entwickelten sich daraus drei Teile (Netzwerkbeschreibung, Teilnetzwerkbeschreibung und Hostbeschreibung) und mittlerweile beschreibt die IP-Adresse beliebige
Netzwerkhierarchien.
32 Bits erscheinen ausreichend, da damit ungefähr 4 Milliarden Adressen zur Verfügung stehen. Allerdings beschreibt die IP-Adresse auch Routing-Informationen und deshalb ist ein
nur kleiner Anteil des Adressraums auch tatsächlich nutzbar. Die stürmische Entwicklung des
Internets hat dann auch in der IP Version 6 dazu geführt, dass IP-Adressen auf 128 Bits
ausgedehnt werden, wobei 64 Bits für Routing Informationen und die verbleibenden 64 Bits
für die Host-Identifizierung zur Verfügung stehen.
Ein Router inspiziert die IP-Zieladresse α eines Pakets und sucht dann in seiner Routing Tabelle nach α, um den Link für die Weiterleitung des Pakets bestimmen zu können. Tatsächlich
besteht die Routing Tabelle allerdings nur aus Adresspräfixen und der Router sucht nach dem
längsten Präfix von α, der in seiner Tabelle vertreten ist.
In den nächsten beiden Abschnitten wenden wir uns der Frage der Berechnung von Routing
Tabellen zu.
5.2
Intra-Domain Routing
Man verwendet vorwiegend Heuristiken zur Bestimmung kurzer Wege. Wir besprechen Distanz Vektor Algorithmen für das dezentrale Routing und Link State Algorithmen für das
globale Routing. Beide Verfahren sind dynamisch und versuchen, sich ändernden Netzbedingungen anzupassen.
Im dezentralen Routing besitzt ein Router nur Information über die direkt mit ihm verbundenen Router. Ein jeder Router u versucht, seinen Distanzvektor Du zu berechnen, wobei
Du (v) = Länge eines kürzesten Weges von Knoten u nach Knoten v.
Der Bellman-Ford Algorithmus erlaubt eine parallele Berechnung der Distanzvektoren, wobei
wir zuerst die (für das Internet sinnlose) Annahme treffen, dass alle Router eine synchrone,
95
96
KAPITEL 5. ROUTING
also eine durch eine globale Uhr getaktete Berechnung durchführen. In der iten Runde werden
die Teilprobleme
Dui (v) = Länge eines kürzesten Weges von u nach v mit höchstens i Kanten
gelöst. Aber wie? Ein kürzester Weg von Knoten u nach Knoten v mit höchstens i Kanten
wird über einen Nachbarn w von u laufen; das Teilstück ab w besitzt i − 1 Kanten und seine
i−1 (v) gegeben. Als Konsequenz erhalten wir D i (v) = länge(u, w)+D i−1 (v),
Länge ist durch Dw
u
w
und wir müssen die Rekursion
Dui (v) =
min
w,(u,w)∈E
i−1
{ länge(u, w) + Dw
(v) }
benutzen. Natürlich nutzt uns die Länge eines kürzesten Weges wenig und wir benötigen
zumindest den „next hop“, also den ersten Knoten „Nächsteru (v)” auf einem kürzesten Weg
von u nach v.
Algorithmus 5.1 Bellman-Ford
(1) Der gerichtete Graph G = (V, E) und eine Kantengewichtung länge : E → R ist gegeben.
Es gelte länge(u, u) = 0 für alle Knoten u.
(
(2) Setze Nächsteru (v) =
v
(u, v) ∈ E,
und Du (v) =
nil sonst
(
länge(u, v) (u, v) ∈ E,
∞
sonst.
(3) Wiederhole |V | − 1 mal:
Parallel, für jeden Knoten u berechne
Du (v) =
min
w,(u,w)∈E
{länge(u, w) + Dw (v)}
für alle Knoten v. Wenn der Wert von Du (v) sinkt, dann setze Nächsteru (v) = w.
/* Warum können wir Dui (v) durch Du (v) ersetzen? */
Die parallele Laufzeit von Bellman-Ford ist durch O(|V |2 ) beschränkt, wenn wir annehmen,
dass jeder Knoten nur beschränkt viele Nachbarn hat: In |V | − 1 Runden sind die Distanzvektoren zu aktualisieren, wobei pro Runde eine Aktualisierung in Zeit O(|V |) gelingt.
Der Algorithmus von Bellman-Ford funktioniert sogar dann noch, wenn Router asynchron
rechnen und das ist im Vergleich zu anderen kürzeste Wege Algorithmen seine wesentliche
Stärke.
Aufgabe 52
Bestimme die sequentielle Laufzeit des Bellman-Ford Algorithmus für einen gerichteten Graphen G = (V, E).
Vergleiche den Algorithmus von Floyd mit Bellman-Ford in Abhängigkeit von der Anzahl der Kanten.
Aufgabe 53
Wir analysieren den asynchronen Bellman-Ford Algorithmus für das Single-Source Problem.
Algorithmus 5.2
(1) Der Knoten r ist ausgezeichnet. Setze D(r) = 0 und D(v) = ∞ für v 6= r. r sendet
Null an alle Nachbarn.
(2) Wenn Knoten v eine Nachricht von seinem Nachbarn u mit Wert e erhält und wenn e + d(u, v) < D(v),
dann
5.2. INTRA-DOMAIN ROUTING
97
setze parent[v] = u; D(v) = e + d(u, v); sende eine Nachricht mit Wert D(v) an alle Nachbarn mit
Ausnahme von u;
(a) Sei D die Länge eines längsten Weges im Eingabegraphen G = (V, E). Zeige, dass höchstens O(D · |E|)
Nachrichten ausgetauscht werden.
(b) Zeige, dass Algorithmus 5.2 in Zeit O(|V |) läuft. Zur Bestimmung der Laufzeit kann angenommen, dass
jede Nachricht N mit einer Verzögerung vN ∈ [0, 1] ankommt
(c) Was ist die Laufzeit, falls alle Kantengewichte Eins sind? Was ist die Laufzeit, wenn alle Kantengewichte
in der Menge {1, . . . , L} liegen?
Aufgabe 54
Die Kanten eines ungerichteten Graphen mögen natürliche Zahlen als Gewichte besitzen. Nach wievielen Schritten wird der verteilte Bellman-Ford Algorithmus konvergieren, wenn L das Gewicht der schwersten Kante ist
und wenn der Graph aus N Knoten besteht?
Allerdings reagiert Bellman-Ford träge auf veränderte Verkehrsverbindungen wie das folgende
Beispiel zeigt. Wir betrachten drei Knoten A, B und C, die wie folgt angeordnet sind.
1
A
B
1 (L)
C
1
Anfänglich besitzen alle Links das Gewicht 1, aber nach einer gewissen Zeit steige das Gewicht
des Links von B nach C auf L. Wenn der Bellman-Ford Algorithmus synchron ausgeführt wird,
dann wird Knoten B seine Distanz zu Knoten C auf 3 von vorher 1 setzen, denn A behauptet,
einen Weg der Länge 2 nach C zu besitzen. Dieser Weg führt zwar über die jetzt wesentlich
langsamer gewordene Verbindung von B nach C, aber das weiss B aufgrund seiner nur lokalen
Information nicht.
Daraufhin wird A seine Prognose auf 4 hochschrauben, denn seine Verbindung nach B hat die
Länge 1. Nach i Iterationen behauptet B für ungerades i die Distanz i + 2 und A die Distanz
i + 1. Erst nach proportional zu L vielen Schritten hat B die korrekte Distanz gefunden und
der Prozess kommt zum Stillstand. Ist der Link von B nach C zusammengebrochen, also
L = ∞, dann wird der Prozess sogar nicht zum Stillstand kommen und man spricht vom
„Count-to-infinity“ Problem.
Distanzvektor Protokolle werden zum Beispiel im „Route Information Protokoll“ (RIP) eingesetzt. RIP wird zum Beispiel aufgrund des Count-to-Infinity Problems nicht mehr in größeren
Netzen benutzt, ist aber in kleineren Netzen immer noch populär. Stattdessen werden Pfadvektor Protokolle eingesetzt: Die Router berechnen nicht mehr nur den nächsten Hop, sondern
halten eine möglichst vollständige Wegbeschreibung parat und tauschen die Beschreibungen
in regelmäßigen Abständen aus.
Aufgabe 55
In der „Poison Reverse“ Heuristik gibt ein Router u den Wert Du (v) = ∞ als die Länge eines kürzesten Weges
von u nach v an einen Nachbarn w weiter, wenn w der nächste Router auf dem kürzesten Weg nach v ist.
Die „Path“ Heuristik übermittelt den Distanzvektor und den kürzesten Weg zu jedem Eintrag.
Welche der beiden Heuristiken vermeidet das Count-to-Infinity Problem?
In Link State Algorithmen wird Dijkstra’s Algorithmus benutzt. Dazu muss jeder Router die
Gewichte aller Kanten seines Netzes kennen. In periodischen Abständen geben deshalb die
Router die Abstände1 zu ihren Nachbarn durch einen Flooding Algorithmus bekannt. Nach
Beendigung des Flooding Algorithmus löst Router u das Single-Source-Shortest-Path Problem
für Quelle u mit Hilfe von Dijkstra’s Algorithmus.
1
Abstände können sich dynamisch, zum Beispiel durch die Überlastung von Links, ändern.
98
KAPITEL 5. ROUTING
Der Berechnungs- und Nachrichtenaufwand ist natürlich beträchtlich und Link State Algorithmen skalieren deshalb schlecht bei wachsender Netzgröße. Weiterhin werden kürzeste Wege in
unkoordinierter Weise ausgewählt, was dann zu Kantenüberlastungen und dementsprechend
zu Gewichtsänderungen und schließlich zu neuen Wegen führen kann.
OSPF (open shortest path first) führt hierarchisches Routing als einen Kompromiss zwischen
globalem und dezentralem Routing durch. In einer zwei-stufigen Hierarchie werden die Router
in Regionen (oder Areas)2 aufgeteilt: Router kennen die Gewichte aller Kanten in ihrer Region
und damit können Link State Algorithmen innerhalb der Region eingesetzt werden. Eine
Region übernimmt also die Rolle eines „sub-autonomen“ Systems. Die wesentlichen Merkmale
von OSPF sind:
- Anwendung des hierarchischen Routing mit den Hierarchien „autonome Systeme, Regionen und Backbone Regionen (Routergruppen, die Regionen verbinden)“.
- Anwendung von Link State Algorithmen und damit von Dijkstra’s Algorithmus innerhalb der Regionen.
- Mehrfache Distanzmetriken (wie etwa geographische Distanz, Durchsatz und Verzögerung).
Im nächsten Abschnitt betrachten wir das Inter-Domain Routing. Danach untersuchen wir,
nach welchen Queueing-Strategien, Kollisionen aufgelöst werden sollten: Welches Paket ist
über eine Kante zu befördern, wenn mehrere Pakete auf Beförderung warten?
5.3
Inter-Domain Routing
Im Inter-Domain Routing werden Pakete zwischen autonomen Systemen ausgetauscht. Autonome Systeme sind in die Klassen Tier 3 (lokale Reichweite), Tier 2 (regionale Reichweite) und
Tier 1 (globale Reichweite) aufgeteilt. Absprachen verschiedenster Art werden zwischen autonomen Systemen getroffen: In Transit-Verabredungen werden Pakete eines niedrigrangigen
Systems in dem Netz eines hochrangigen Systems gegen finanzielle Entschädigung befördert.
Peering umfasst Absprachen zwischen gleichgestellten Systemen und beinhaltet wechselseitige Beförderung von Paketen; da es sich hier häufig um Absprachen zwischen Wettbewerbern
handelt, können auch hier finanzielle Entschädigungen zum Beispiel bei ungleich starkem
Paketverkehr im Spiel sein.
Das Border Gateway Protocol (BGP) ist der de fakto Standard für Inter-Domain Routing. Da
autonome Systeme aus finanziellen Erwägungen wie auch möglicherweise aus Sicherheitserwägungen ihre eigene Routing Politik besitzen, ist eine für alle autonome Systeme akzeptable
Metrik nicht zu erwarten, und BGP setzt sich deshalb nur das Ziel, den Empfänger eines Pakets ohne Zyklen zu erreichen. Zu diesem Zweck ermöglicht BGP jedem autonomen System,
Klassen von Zieladressen zu veröffentlichen, die es bereit ist zu bedienen: Ein Internet Service
Provider wird zum Beispiel Erreichbarkeit seiner Kunden sicherstellen wollen und wird deshalb Wege zu seinen Kunden veröffentlichen. Die Veröffentlichung von bedienten Zieladressen
(oder genauer, die Veröffentlichung von Wegen zu diesen Zieladressen) ist also die Grundlage,
auf der die Erreichbarkeit eines jeden Empfängers sichergestellt werden muss.
Algorithmus 5.3 BGP Routing Nachrichten.
2
Typischerweise besteht eine Area aus zwischen 300-500 Routern und zwischen 700-1700 Area-lokalen Links.
5.3. INTER-DOMAIN ROUTING
99
(1) Shutdown: Ein benachbarter Router wird über das Kappen der Verbindung aufgrund
eines beobachteten Fehlers informiert.
(2) Keepalive: Jeder BGP-Router sendet mindestens alle drei Sekunden ein Lebenszeichen.
Erhält der Router andererseits innerhalb eines gewissen Zeitraums kein Lebenszeichen
von einem benachbarten BGP-Router, dann wird die Verbindung zu diesem Router
durch Shutdown geschlossen und alternative Routen werden eingeführt.
(3) Update: Ein BGP-Router verschickt bzw. erhält Routing Information von benachbarten
BGP-Routern. Die Routing Information Withdrawn Route beschreibt einen nicht mehr
benutzbaren Weg zu einer Klasse von IP-Adressen 3 , während die Routing Information
Path eine neue Verbindung mit einer Klasse von IP-Adressen publiziert. Die Publikation
besteht aus der Klasse, dem nächsten Router („next hop“) auf dem Weg und der Folge
der autonomen Systeme auf dem Weg.
Kommentar: Jedes autonome System publiziert somit Aktualisierungen der erreichbaren IP-Adressen über die Update-Nachricht. Autonome Systeme haben somit über die
Veröffentlichung von Routen die Möglichkeit,
- eigenen Kunden uneingeschränkten Transit zu bieten,
- in Peering-Absprachen Transit über sorgfältig ausgewählte Routen zu gewähren
- und Transit zum eigenen Provider auf eigene Transit-Kunden einzuschränken.
(4) Decision: Der Router empfängt eine Update-Nachricht über einen neuen Weg für eine
Klasse von IP-Adressen. Der Router berechnet seine bevorzugte Route neu und entscheidet dann, ob seine Routing Tabelle zu verändern ist.
Kommentar: Die Kommunikation des Weges erlaubt eine Paketlieferung ohne Zyklen,
da strikt darauf geachtet wird, dass kein autonomes System zweimal in der Folge der
autonomen Systeme vorkommt. Stellt zum Beispiel ein Router fest, dass sein System
bereits in einer veröffentlichten Route enthalten ist, dann wird diese Veröffentlichung
verworfen.
(5) Policy: Router, die zu demselben autonomen System gehören, können sich über neue
Entscheidungsprozeduren absprechen.
BGP wurde entworfen, um die folgenden wesentlichen Bedingungen zu erfüllen:
- Skalierbarkeit: Inter-Domain Routing muss auch bei einer wachsenden Anzahl autonomer Systeme effizient durchführbar sein.
- Jedes autonome System erhält die Möglichkeit, seine Routing-Entscheidungen dynamisch zu ändern. BGP stellt dazu die Policy-Nachricht (5) zur Verfügung.
- Kooperation zwischen Wettbewerbern ist im Interesse der autonomen Systeme und
wird durch die Veröffentlichung von Routen ermöglicht.
3
Eine Klasse wird durch einen IP-Präfix beschrieben.
100
KAPITEL 5. ROUTING
5.4
Multicast Routing
Wir haben bisher nur das Unicast Routing Problem besprochen, also das Versenden einer
Nachricht von einem Sender an einen Empfänger. Im Multicast Routing ist hingegen ein multimedialer Datenstrom (Video on Demand, Interaktives Fernsehen, Live Übertragungen) von
möglicherweise mehreren Sendern an mehrere Empfänger zu verschicken. Spezielle Routing
Methoden sind einerseits aufgrund der enormen Datenmengen (im Umfang von bis zu mehreren Terrabits pro Sekunde) und andererseits aufgrund der benötigten hohen Dienstgüte
erforderlich.
Wir benutzen die folgende Modellierung. Gegeben ist ein gerichteter Graph G mit beidseitig
gerichteten Kanten, dessen Knoten den Router entsprechen. Jeder Anwender ist einem Router
zugeordnet, seinem „First Hop Router“. Die gegenwärtig benutzten oder vorgeschlagenen Routing Methoden weisen einer jeden Multicast-Gruppe g einen oder mehrere Multicast-Bäume
zu, über die der Datenstrom entlang der Kanten des Baums an die Knoten weitergereicht
wird.
Die Überflutung des Netzes mit Kopien des Datenstroms wird also umgangen, da
jede Kante eines Multicast-Baums nur ein einziges Multicast-Paket transportieren
muss.
Im Entwurf eines erfolgreichen Multicast müssen die folgenden Fragen beantwortet werden:
- Wie wird ein Multicast-Baum bestimmt?
- Wie wird das Einfügen bzw. das Entfernen von Anwendern gehandhabt?
- Wie können die fairen Übertragungskosten, die von einem bestimmten Empfänger zu
bezahlen sind, ermittelt werden? (Die für den Datentransport anfallenden Kosten lassen
sich wegen der Bandbreitenteilung nicht a priori bestimmen.) Welchen Betrag sollte ein
Internet-Service-Provider vom Sender verlangen, wenn dieser kostenpflichtig ist? (Die
im Unicast-Modell gängige Bezahlung proportional zur Emissionsrate des Senders ist
im Multicast-Modell sinnlos.)
Kommerzielle Überlegungen wie bereits im letzten Punkt angesprochen, haben dazu geführt,
dass Multicast im allgemein zugänglichen Internet nicht angeboten wird. Insbesondere unterstützen die meisten Router keinen Multicast, und Multicast ist auf sogenannte MulticastInseln, also bestimmte Multicast-fähige Netzwerke eingeschränkt. Das Mbone (Multicast
Backbone), eine Erweiterung des Internet Protokols (IP, Version 4), verbindet diese Inseln
mit Hilfe von Multicasting-fähigen Routern. (Ein Multicast-Tunnel zwischen je einem Rechner der betroffenen Netzwerke wird aufgebaut und Multicast-Paket werden über UnicastVerbindungen in das jeweils andere Netzerk transportiert, wo sie als Multicast-Pakete weitergereicht werden.)
Wie könnte ein Multicast-Protokoll idealerweise aussehen? In PIM4 (dense mode) nimmt man
an, dass Mitglieder der Multicast-Gruppe dicht über das Netzwerk verteilt sind. Anfänglich
werden Multicast-Pakete durch Flutung in das Netzwerk gepumpt. Zur Weiterleitung verwendet ein Router die Methode des Reverse Path Forwarding (RPF): Ein Paket von einem
Sender S wird nur dann von einem Router R akzeptiert, wenn R das Paket von einem Nachbarn Q erhält und wenn R den Link (R, Q) im Unicast-Routing zum Empfänger S benutzen
4
Protocol Independent Multicast
5.4. MULTICAST ROUTING
101
würde. Ein akzeptiertes Paket wird dann über alle Links, mit Ausnahme des Links (P, Q)
weitergeleitet. RPF baut somit einen Baum „kürzester Wege“.
Auf die Überflutung folgt ein Pruning-Schritt, der in den Blättern des Baums beginnt: Wenn
ein Router feststellt, dass keine Gruppenmitglieder zu seinem Teilbaum gehören, dann meldet er dies an seinen Vaterknoten weiter. Diese Nachricht wird solange „hochgetragen“, bis
ein Router erreicht wird, der mindestens ein Kind mit erreichbaren Gruppenmitgliedern besitzt. Dieser Router vermerkt die negativen Nachrichten und der Baum wird entsprechend
gestutzt. Nach einer fest vorgegebenen Zeitschranke beginnt ein neuer Zyklus des Überflutens gefolgt vom Pruning. Wenn sich neue Mitglieder im Netz anmelden, wird dies dann im
darauffolgenden Zyklus entdeckt.
Der administrative Aufwand durch die Flutung-Pruning Zyklen ist hoch und dementsprechend
werden im Fall dünnbesetzter Gruppen andere Methoden verwandt.
102
KAPITEL 5. ROUTING
Kapitel 6
Queueing-Strategien
Queueing-Strategien haben einen großen Einfluss auf die Schnelligkeit der Beförderung. Wir
nehmen an, dass jede Kante e eine Schlange se besitzt, in der die Pakete auf ihre Beförderung
über die Kante e warten. Um die Notation zu vereinfachen, nehmen wir zusätzlich an, dass in
jedem Schritt nur ein Paket über eine Kante befördert werden kann. Die Queueing-Strategie
muss dann das zu transportierende Paket aus den wartenden Paketen auswählen.
Die FIFO-Strategie (First-In-First-Out) und ihre Varianten wird häufig angewandt. In FairQueueing wird für jede Kante e und für jeden Absender a eine Schlange se,a eingerichtet.
Die Schlangen werden sodann für jede Kante e in Round-Robin Manier durchlaufen und das
zu befördernde Paket der aktuellen Schlange wird nach dem FIFO-Prinzip bestimmt. Auf
diese Art und Weise werden Absender mit geringem Paketverkehr nicht durch Absender mit
großem Paketverkehr benachteiligt. Gewichtetes Fair-Queueing ist eine zweite Variante; hier
werden die Schlangen nicht nach Round-Robin, sondern gemäß den Gewichten der Schlangen
abgearbeitet.
Wir betrachten nur Greedy-Strategien: Zu jedem Zeitpunkt wird ein Paket ausgewählt und
weitergeleitet, wenn die jeweilige Schlange nichtleer ist. Neben der FIFO-Strategie sind vor
Allem die folgenden Greedy-Strategien von Interesse:
- Farthest-To-Go (FTG): Das Paket, das noch die meisten Kanten zu durchlaufen hat,
wird gewählt.
- Nearest-To-Source (NTS): Das Paket, das bisher die wenigsten Kanten durchlaufen hat,
wird gewählt.
- Longest-In-System (LIS): Das Paket, das die meiste Zeit im System verbracht hat, wird
gewählt.
- Shortest-In-System (SIS): Das Paket, das die kürzeste Zeit im System verbracht hat,
wird gewählt.
- Nearest-To-Go (NTG): Das Paket, das noch die wenigsten Kanten zu durchlaufen hat,
wird gewählt.
- Farthest-From-Source (FFS): Das Paket, das bisher die meisten Kanten durchlaufen
hat, wird gewählt.
103
104
6.1
KAPITEL 6. QUEUEING-STRATEGIEN
Stabilität
Wir haben verschiedene Auswertungsmöglichkeiten. Ein statistischer Ansatz aus der Theorie
der Warteschlangen legt eine Emissionsverteilung zugrunde und misst das erwartete Verhalten und die Varianz. Natürlich ist hier nicht klar, welche Verteilung das tatsächliche Paketaufkommen am besten wiedergibt, und wir wählen stattdessen einen Worst-Case Ansatz:
Ein bösartiger Gegner versucht, die Anzahl der sich im System befindlichen Pakete „hochzuschaukeln“. Wir fragen, ob eine vorgegebene Queuing Strategie jeden
Gegner in jedem Graphen in Schach halten kann.
Definition 6.1 G sei ein gerichteter Graph.
(a) Ein (r, b)-Gegner G darf für jeden Knoten Pakete injizieren und deren Wege festlegen.
Für jedes Zeitintervall I und für jede Kante e dürfen allerdings höchstens r · |I| + b der
während I injizierten Pakete die Kante e in ihrem vorgeschriebenen Weg besitzen. r
heißt die Injektionsrate und b die maximale Burstiness.
/* Der Gegner erhält also die Möglichkeit, Wege für die von ihm injizierten Pakete
vorzuschreiben, wobei aber keine Kante überladen werden darf. Damit wird ein Gegner
im Allgemeinen über eine Kante e laufende Pakete in gleichmäßiger Geschwindigkeit
injizieren. Allerdings sind bis zu b Ausnahmen erlaubt.
*/
(b) Eine Queueing-Strategie ist auf G gegen einen Gegner G stabil, wenn es eine Konstante
CG gibt, so dass zu jedem Zeitpunkt die Anzahl der im System verbleibenden Pakete
durch CG beschränkt ist, wenn die Pakete von G in ein Anfangs leeres System injiziert
wurden.
(c) Eine Queueing-Strategie ist stabil, wenn die Strategie gegen jeden (r, b)-Gegner mit
Injektionsrate r < 1 auf jedem gerichteten Graphen stabil ist.
/* Beachte, dass keine Queueing-Strategie gegen (r, b)-Gegner mit Injektionsrate r > 1
stabil sein kann.
*/
Wir sind vor Allem an stabilen Queueing-Strategien interessiert. Eine stabile QueueingStrategie muss für jeden Gegner und für jeden Graphen garantieren, dass kein Hochschaukeln
erfolgt. Wir haben angenommen, dass eine Kante nur ein Paket transportieren kann und
deshalb testet ein (r, b)-Gegner für r < 1 die Queueing-Strategie nahe an der maximal tolerierbaren Auslastung: Für eine Injektionsrate von r > 1 kann ein Hochschaukeln nicht
verhindert werden.
Ein bösartiger (r, 0)-Gegner wählt die zum jeweiligen Zeitpunkt für die Queueing-Strategie
schwierigsten Wege und hat zusätzlich die Möglichkeit „Bursts“ einzubauen, also zu einem
Zeitpunkt sogar bis zu b Pakete zu injizieren, die (irgendwann) eine bestimmte Kante traversieren müssen.
Obwohl eine Injektionsrate r < 1 unterhalb der maximalen Kapazität liegt, können Datenstaus aufgebaut werden: Wir setzen r = 21 und wählen N gerichtete Wege WN −1 , . . . W0
der Längen 2 · (N − 1), 2 · (N − 2), . . . , 2, 0. Weg Wi endet im Knoten ui , der den Knoten u
als einzigen Nachfolger besitzt: u seinserseits besitzt nur den Nachfolger v. Wir provozieren
einen Datenstau für die Kante (u, v) (für Injektionsrate r = 12 ), wenn wir im ersten Schritt
ein Paket in den ersten Knoten des Weges WN −1 , im dritten Schritt ein Paket in den ersten
6.1. STABILITÄT
105
Knoten des Weges WN −2 etc. injizieren. Nach Injektion eines Pakets in den einzigen Knoten
von W0 wird eine Greedy Queueing-Strategie alle Pakete in den Knoten u gepumpt haben,
und wir haben eine Schlange von N Paketen erzeugt, die alle auf ihren Transport über die
Kante (u, v) warten.
Wenn eine Queueing-Strategie gegen einen Gegner stabil ist, dann besitzen alle Schlangen
zu jedem Zeitpunkt eine Höchstzahl von Paketen. Bedeutet Stabilität aber auch, dass Pakete in beschränkter Zeit zugestellt werden? Gibt es einen direkten Zusammenhang zwischen
maximaler Zustellzeit und der maximalen Größe von Schlangen?
Beide Fragen besitzen eine positive Antwort für r < 1, denn jede Schlange wird in einem
genügend langen Zeitfenster mindestens einmal entleert und jedes wartende Paket kann somit
die jeweilige Kante in diesem Zeitraum überqueren:
Lemma 6.2 Die fundamentale Beobachtung
Wir fixieren eine Greedy Strategie. Sei e eine Kante eines vorgegebenen Graphen. Wenn es
zum Zeitpunkt t genau k − 1 Pakete im System gibt, die die Kante e in ihrer Wegbeschreibung
k+b
besitzen, dann wird die Schlange von e irgendwann während der nächsten 1−r
Schritte leer
sein.
k+b
Beweis: Wir fixieren einen Zeitpunkt t und betrachten das Zeitfenster Z = [t + 1, t + 1−r
].
Wenn ein Paket P die Schlange von e im Zeitfenster Z erreicht hat, dann war P entweder zum
k+b
Zeitpunkt t bereits im System oder aber ist eines von höchstens r · 1−r
+ b später injizierten
Paketen. Also möchten insgesamt nur höchstens
k−1+r·
k+b
(1 − r) · (k + b − 1)
k+b
k+b
+b=
+r·
<
1−r
1−r
1−r
1−r
Pakete die Kante e im Zeitfenster Z durchlaufen und die Behauptung folgt, da wir nur Greedy
Strategien betrachten.
Die folgende Anwendung von Lemma 6.2 ist typisch:
Angenommen ein Paket P wartet zum Zeitpunkt t in der Schlange einer Kante e.
Wenn es zum Zeitpunkt t genau k − 1 Pakete im System gibt, die auch die Kante
k+b
e in ihrer Wegbeschreibung besitzen, dann wird P die Kante e nach höchstens 1−r
Schritten überqueren.
Die nächste Aussage stellt einen Zusammenhang zwischen maximaler Schlangengröße und
maximaler Zustellzeit her.
Lemma 6.3 G = (V, E) sei ein gerichteter Graph und es gelte r < 1.
(a) Es gelte k · |E| > b. Wenn zu keinem Zeitpunkt eine Schlange mehr als k Pakete besitzt,
dann wird jedes Paket, das mit einem Weg der Länge höchstens d injiziert wurde, nach
höchstens 2·k·d·|E|
Schritten zugestellt.
1−r
(b) Wenn jedes Paket nach höchstens s Schritten zugestellt wird, dann befinden sich zu
jedem Zeitpunkt höchstens s Pakete in einer Schlange.
Beweis (a): Nach Annahme besitzt jede Schlange höchstens k Pakete und damit befinden
sich zu jedem Zeitpunkt höchstens k ·|E| Pakete in dem System. Wir betrachten eine beliebige
Schlange S zu einem beliebigen Zeitpunkt T und wissen mit Lemma 6.2, dass S irgendwann
während der nächsten k·|E|+1+b
≤ 2·k·|E|
1−r
1−r Schritte geleert wird.
106
KAPITEL 6. QUEUEING-STRATEGIEN
Also überquert jedes Paket mindestens eine Kante innerhalb von
wie behauptet nach höchstens
2·k·d·|E|
1−r
2·k·|E|
1−r
Schritten und kann
Schritten zugestellt werden.
(b) Wenn sich zu irgendeinem Zeitpunkt mehr als s Pakete in einer Schlange S aufhalten,
dann wird das niedrigst-rangige Paket in S für mehr als s Schritte aufgehalten.
Stabilität von Shortest-In-System: Der Graph G = (V, E) ist ebenso vorgegeben wie der
(r, b)-Gegner G mit r < 1.
Um die maximale Verweildauer eines Pakets zu bestimmen, definieren wir die rekursive Folge
kj +b
(kj ) durch k1 = b und kj+1 = 1−r
. Die Folge gibt die Maximalzahl kj von rivalisierenden
Paketen an, wenn bereits j Kanten traversiert wurden:
Lemma 6.4 Sei e eine beliebige Kante und sei P ein beliebiges Paket, das e (irgendwann)
durchlaufen möchte. Wenn P die Schlange seiner jten Kante erreicht, dann gibt es höchstens
kj − 1 andere Pakete im System, die auch die Kante e in ihrer Wegbeschreibung besitzen und
eine mindestens so hohe Priorität wie P haben.
Beweis: Sei e eine beliebige Kante und sei P ein beliebiges Paket. Wir führen einen induktiven
Beweis nach j. Wenn P in seine erste Schlange eingefügt wird, dann haben nur die gleichzeitig
mit P injizierten Pakete eine gleichhohe Priorität. Aber in einem Schritt dürfen insgesamt
höchstens br + bc = b = k1 Pakete injiziert werden, die e traversieren möchten.
Für den Induktionsschritt betrachten wir zuerst die jte Kante ej des Weges von P und nehmen
an, dass P gerade die Schlange von ej erreicht hat. Nach Induktionsannahme gibt es zu diesem
Zeitpunkt höchstens kj − 1 Pakete, die ej auch in ihrer Wegbeschreibung besitzen und eine
mindestens so hohe Priorität wie P haben. Wir wenden Lemma 6.2 an und erhalten, dass
kj +b
P die jte Kante nach höchstens 1−r
Schritten überquert und damit die Schlange der Kante
ej+1 erreicht.
kj +b
In der Wartezeit können höchstens r · 1−r
+ b Pakete injiziert werden, die e als Kante in ihrer
Wegbeschreibung besitzen. Wenn P die Schlange von ej+1 erreicht, haben somit höchstens
kj − 1 + r ·
kj + b
kj + b
+ b = (1 − r + r) ·
− 1 = kj+1 − 1,
1−r
1−r
um e rivalisierende Pakete eine mindestens so hohe Priorität wie P.
Satz 6.5 SIS ist stabil. Wenn d die Länge eines längsten Weges ist, dann besitzt keine SchlanP
ge mehr als kd Pakete und kein Paket verweilt für mehr als (d · b + di=1 ki )/(1 − r) Schritte
im System.
Fazit: Wenn nur Wege logarithmischer Länge vorgegeben werden, dann verweilt jedes Paket
nur für polynomiell viele Schritte im System.
Beweis: Wenn zu irgendeinem Zeitpunkt mehr als kd Pakete in der Schlange zu einer Kante
e warten, dann betrachte ein Paket P, das unter den wartenden Paketen die längste Zeit im
System ist. Paket P hat somit mehr als kd − 1 Rivalen, die e traversieren möchten und eine
mindestens gleichhohe Priorität besitzen. Dies ist im Widerspruch zu Lemma 6.4, da kd ≥ kj
für alle j.
Weiterhin überquert ein Paket seine jte Kante nach höchstens (kj + b)/(1 − r) Schritten und
damit folgt auch die Schranke für die Verweildauer.
6.1. STABILITÄT
107
Aufgabe 56
Zeige, dass LIS stabil ist. Wenn d die Länge eines längsten Weges ist, dann besitzt jede Schlange höchstens
b
b
+ b Pakete, und die Verweildauer eines Pakets ist höchstens r·(1−r)
d.
(1−r)d
Stabilität von Farthest-To-Go: Sei m die Kantenzahl von G und sei d die Länge eines
längsten einfachen1 Weges von G. Wir definieren die rekursive Folge (ki ) durch ki = 0 für
i > d und ki = m · ki+1 + m · b für 1 ≤ i ≤ d.
Satz 6.6 FTG ist stabil. Es sind stets höchstens k1 Pakete im System, jede Schlange enthält
höchstens k2 + b Pakete und jedes Paket hat eine Verweildauer von höchstens
(d · (b + 1) +
d
X
ki )/(1 − r).
i=2
Beweis: Wir zeigen durch eine Rückwärts-Induktion, dass zu jedem Zeitpunkt die Anzahl
der Pakete, die noch mindestens i Kanten traversieren müssen, durch ki beschränkt ist. Die
Behauptung ist für i > d trivial, denn dann ist ki = 0.
Sei e eine beliebige Kante. Wir definieren Xi (e, t) als
die Menge der Pakete in der Schlange von e zum Zeitpunkt t, die noch mindestens
i Kanten traversieren müssen.
Desweiteren sei t∗ < t der letzte Zeitpunkt, zu dem Xi (e, t∗ ) leer war. (Da das System anfänglich leer ist, existiert t∗ .)
Wie gelangt ein Paket P in die Menge Xi (e, t)? Entweder wurde P erst nach dem Zeitpunkt
t∗ injiziert oder P musste zum Zeitpunkt t∗ noch mindestens i + 1 Kanten traversieren, denn
es hatte die Schlange von e zum Zeitpunkt t∗ noch nicht erreicht. Im ersten Fall ist P eines
von höchstens r · (t − t∗ ) + b Paketen, denn höchstens r · (t − t∗ ) + b im Zeitraum [t∗ + 1, t]
injizierte Pakete dürfen die Kante e in ihrer Wegbeschreibung besitzen. Im zweiten Fall ist P
nach Induktionsannahme eines von höchstens ki+1 Paketen.
Wir wenden die Farthest-To-Go Heuristik an und im Zeitfenster [t∗ + 1, t] muss deshalb stets
ein Paket mit noch mindestens i zu traversierenden Kanten die Schlange von e verlassen –denn
t∗ ist der letzte Zeitpunkt, zu dem Xi (e, t∗ ) leer war. Wir erhalten
|Xi (e, t)| ≤ ki+1 + r · (t − t∗ ) + b − (t − t∗ )
= ki+1 − (1 − r) · (t − t∗ ) + b
≤ ki+1 + b.
(6.1)
Also gibt es höchstens m · ki+1 + m · b = ki Pakete, die noch mindestens i Kanten traversieren
müssen und wir haben den Induktionsschritt abgeschlossen.
Die Größe der Schlange von e zum Zeitpunkt t stimmt mit |X1 (e, t)| überein. Da |X1 (e, t)| ≤
k2 + b aus (6.1) folgt, ist die maximale Größe einer Schlange durch k2 + b beschränkt; als
zusätzliche Konsequenz halten sich nie mehr als m · (k2 + b) = k1 Pakete im System auf.
+1+b
Weiterhin folgt t − t∗ ≤ ki+11−r
mit Lemma 6.2: Zum Zeitpunkt t∗ war Xi (e, t∗ ) leer und
∗
alle zum Zeitpunkt t schon im System befindlichen Pakete aus Xi (e, t) mussten mindestens
i + 1 Kanten zurücklegen. Also wird jedes Paket mit i noch zu traversierenden Kanten nach
1
Ein einfacher Weg traversiert jeden Knoten höchstens einmal.
108
KAPITEL 6. QUEUEING-STRATEGIEN
höchstens
durch
ki+1 +1+b
1−r
Schritten die nächste Kante traversiert haben, und die Verweildauer ist
d
X
ki+1 + 1 + b
1−r
i=1
Pd
=
i=2 ki
+ d · (b + 1)
1−r
beschränkt, denn kd+1 = 0.
Aufgabe 57
Pd
Gib einen geschlossenen Ausdruck für k1 , k2 und
k an.
i=2 i
Aufgabe 58
Wir betrachten die Nearest-To-Source Strategie, die stets die Pakete mit den wenigsten bereits durchquerten
Kanten bevorzugt. Wir definieren eine Folge (li ) mit l0 = 0 und li = m · li−1 + m · b sonst.
(a) Zeige : li = kd−i+1 .
(b) Zeige, dass die Zahl der im System befindlichen Pakete, die bisher höchstens i Schritte zurückgelegt
haben, zu jedem Zeitpunkt durch li beschränkt ist.
(c) Leite Schranken für die maximale Paketzahl im System und für die maximale Transportzeit eines Paketes
ab. Folgere daraus die Stabilität von NTS.
6.2
Instabile Queueing-Strategien
In den Konstruktionen benutzen wir das folgende Lemma, das eine beliebige Konfiguration
als Anfangskonfiguration erlaubt.
Lemma 6.7 Die Queueing-Strategie Q sei instabil gegen einen (r, b)-Gegner G auf dem Graphen G, wenn mit einer (möglicherweise) nicht-leeren Konfiguration begonnen wird.
Dann gibt es einen Graphen G∗ und einen (r, b)-Gegner G ∗ , so dass Q auch instabil auf G∗
gegen G ∗ ist, wenn mit der leeren Konfiguration begonnen wird.
Beweis: Wir kleben an jeden Knoten v von G einen Baum Tv , indem wir die Wurzel von
Tv mit v identifizieren. Wenn Knoten v ursprünglich pv Pakete erhalten hat, dann erhält die
Wurzel genau pv Kinder, die jeweils „Anführer“ einer genügend langen Kette sind. Der Baum
Tv muss so gebaut sein, dass
1.) in jedem 1r ten der ersten
1
r
·
P
v∈V
pv Schritte genau ein Paket in ein Blatt injiziert wird,
2.) sich Pakete erst an der Wurzel ihres Baums treffen und
3.) die Pakete eines jeden Baums unter jeder Greedy-Strategie die Wurzel zum selben Zeitpunkt erreichen.
Sei t∗ der Zeitpunkt, zu dem alle Pakete ihre Wurzel erreicht haben. Vom Zeitpunkt t∗ ab,
übernimmt der alte Gegner G auf der jetzt erreichten Wunschkonfiguration.
Wir weisen die Instabilität von FIFO bereits für ein System von vier Knoten a, b, c und d
nach. Die vier Knoten bilden den Kreis a → b ⇒ c → d ⇒ a, wobei b über die zwei Kanten
e1 = (b, c) und e2 = (b, c) mit seinem Nachfolger c und auch d über die zwei Kanten f1 = (d, a)
und f2 = (d, a) mit seinem Nachfolger a verbunden ist.
Satz 6.8 Für r ≥ 0.85 gibt es eine Anfangskonfiguration, auf der FIFO für den obigen Viererzyklus gegen einen (r, 0)-Gegner instabil ist.
6.2. INSTABILE QUEUEING-STRATEGIEN
109
b
e1
a
e2
c
f1
f2
d
Abbildung 6.1: Ein schwieriger Graph für FIFO
Beweis: Wir konstruieren einen (r, 0)-Gegner in Phasen, so dass die Schlange von (a, b) zu
Anfang der 2 · jten Phase mindestens 2 · j Pakete enthält, während die Schlange von (c, d)
am Ende der Phase mindestens 2 · j + 1 Pakete enthält. Für ungerade Phasen 2 · j + 1 wird
die Konstruktion analog verlaufen, wobei wir aber mit mindestens 2 · j + 1 Paketen in der
Schlange von (c, d) beginnen und mit mindestens 2 · j + 2 Paketen in der Schlange von (a, b)
enden. Offensichtlich folgt hieraus die behauptete Instabilität.
Wir definieren den Gegner in Phase 2 · j unter der Voraussetzung, dass eine Menge W von
n ≥ 2 · j Paketen in der Schlange von (a, b) wartet. Diese n Pakete werden dann später in
ihrem Zielknoten b aus dem System genommen.
1.) Während der ersten n Schritte wird eine Menge X von r · n Paketen mit der Wegbeschreibung (a, b), e2 , (c, d) in den Knoten a injiziert. Alle Pakete in X müssen nach
Voraussetzung in der Schlange von (a, b) warten, da die n Pakete aus W nach der
FIFO-Regel Vorfahrt haben.
2.) Während der nächsten r · n Schritte wird eine Menge Y von r2 · n Paketen mit der Wegbeschreibung (a, b), e1 , (c, d) in den Knoten a injiziert. Diese Pakete müssen allerdings
erst den vollständigen Transport der Pakete aus X über die Kante (a, b) abwarten.
Gleichzeitig wird der Weitertransport der jetzt in b ankommenden Pakete aus X über
die Kante e2 aufgehalten, indem r2 · n Pakete mit Wegbeschreibung e2 in b injiziert
werden. Diese Pakete vermischen sich mit den Paketen aus X und die Pakete aus X
1
erhalten eine Dichte von r+1
in der Schlange von e2 : In K Schritten werden r · K Pakete
neu injiziert, K Pakete aus X sind in der Schlange angekommen und insgesamt sind
(r + 1) · K angekommen.
1
Dementsprechend kreuzen während dieser r · n Schritte nur r · n · r+1
Pakete aus X die
2
r·n
·n
Kante e2 und r ·n− r+1
= rr+1
Pakete aus X verbleiben in b. Alle Pakete aus Y befinden
sich weiterhin im Knoten a, fließen aber in den nächsten Schritten ohne Verzug über
die Kanten (a, b) und e1 in den Knoten c.
2
·n
Pakete aus X und und die
3.) Während der nächsten r2 · n Schritte bewegen sich die rr+1
2
r ·n Pakete aus Y über die Kanten e2 bzw. e1 und treffen sich im Knoten c. Gleichzeitig
werden r3 · n Pakete mit Wegbeschreibung (c, d) im Knoten b injiziert.
2
·n
Damit rivalisieren insgesamt r2 · n + rr+1
Pakete aus X ∪ Y mit den neu injizierten r3 · n
Paketen um die Kante (c, d) und nach diesen r2 · n Schritten enthält die Schlange von
2 ·n
(c, d) mindestens r3 · n + rr+1
Pakete.
110
KAPITEL 6. QUEUEING-STRATEGIEN
2
·n
Wir beachten, dass r3 · n + rr+1
> n, denn r3 · (r + 1) + r2 > r + 1 für r ≥ 0.85. Da die
Konstruktion auch für ungerade Phasen analog verläuft, ist die Behauptung gezeigt.
Es kann gezeigt werden, dass FIFO selbst für beliebig kleine Injektionsraten r > 0 instabil
ist [KMS]. Da FIFO von vielen Routern benutzt wird, kann damit ein „schleichender“ Angriff erfolgreich durchgeführt werden, solange der Angreifer die Wegbeschreibung der Pakete
kontrolliert: Selbst nur langsam eingefügte Pakete können nicht schnell genug vom System
befördert werden.
Satz 6.9 Nearest-To-Go ist für r >
√1
2
instabil gegen einen (r, 0)-Gegner.
Beweis: Wir modifizieren das „FIFO-Netz“ geringfügig und arbeiten stattdessen mit einem
Netz aus sechs Knoten.
b
e1
e2
c
a
b’
f
d’
f2
1
d
Abbildung 6.2: Ein schwieriger Graph für NTG
Wie in der Konstruktion für FIFO schaukeln wir das System langsam hoch. Wir machen zu
einem beliebigen Zeitpunkt in unserer Konstruktion die folgende Annahme:
Wenn die im System befindlichen Pakete Vorfahrt haben, dann wird in den nächsten N
Schritten jeweils ein Paket mit Ziel b0 oder b die Kante (a, b0 ) durchlaufen.
Wir injizieren jetzt Pakete in zwei Phasen, um mehr als N Pakete mit Ziel d0 oder d zu
produzieren, die den Knoten d0 noch nicht erreicht haben.
Phase 1 dauert N Schritte. Wir fügen in diesem Zeitraum eine Menge X von r · N Paketen
mit Wegbeschreibung (a, b0 ), (b0 , b), e1 , (c, d0 ) im Knoten a ein. Nearest-To-Go bewegt nur die
N ursprünglichen Pakete, da diese Pakete die wenigsten Kanten zu durchlaufen haben; alle
Pakete aus X müssen warten.
Phase 2 dauert r · N Schritte. Wir injizieren zwei Paketmengen Y und Z von jeweils r2 ·
N Paketen. Die Pakete in Y werden im Knoten a eingefügt und haben den langen Weg
(a, b0 ), (b0 , b), e2 , (c, d0 ), (d0 , d) vor sich. Die Pakete in Z hingegen werden im Knoten b eingefügt
und durchlaufen den kurzen Weg e1 .
Am Ende der zweiten Phase haben alle Pakete aus X den Knoten a verlassen, während alle
Pakete aus Y in a warten müssen: Das Ziel d für die Pakete aus Y ist weiter entfernt als das
Ziel d0 für die Pakete aus X. Die Pakete aus X müssen aber die r2 · N Pakete aus Z an sich
vorbeiziehen lassen und am Ende der zweiten Phase haben deshalb r2 · N Pakete aus X und
alle r2 · N Pakete aus Y den Knoten d0 noch nicht erreicht.
Wenn wir also keine weiteren Pakete injizieren, dann wird in den nächsten M ≥ 2 · r2 · N > N
Schritten jeweils ein Paket mit Ziel d0 oder d die Kante (c, d0 ) durchlaufen. Wir treffen also
eine im Vergleich zum Anfang der Konstruktion ähnliche Situation mit diesmal aber mehr
als N involvierten Paketen an. Die Instabilität von Nearest-To-Go ist nachgewiesen, wenn
6.2. INSTABILE QUEUEING-STRATEGIEN
111
wir unsere bisherige, im Knoten a beginnende Konstruktion jetzt im Knoten c entsprechend
beginnen lassen.
Aufgabe 59
Zeige, dass auch Farthest-From-Source gegen einen (r, 0)-Gegner für r >
√1
2
instabil ist.
Fazit: Farthest-To-Go, Nearest-To-Source, Longest-In-System und Shortest-In-System sind
stabil. Die populäre FIFO Strategie wie auch Nearest-To-Go und Farthest-From-Source sind
hingegen instabil; Gleiches kann auch für die LIFO-Strategie gezeigt werden. Diese Strategien
können also durch bösartig verteilte Pakete in die Knie gezwungen werden.
Aufgabe 60
Die LIFO-Strategie gibt stets dem Paket den Vorzug, welches die geringste Zeit wartet. Wir wollen zeigen, dass
LIFO instabil ist, indem wir einen Graphen und eine Injektionsfolge angeben, die es uns erlaubt, das System
hochzuschaukeln. Der folgende Graph bietet eine Möglichkeit dazu:
X
Y
e1
B
e0
A
e2
e3
C
e4
D
e6
e5
A’
e’
5
e’6
D’
e’4
C’
e’2
e’3
Y’
e’0
B’
e’1
X’
(a) Nimm an, dieses Netzwerk wird mit LIFO betrieben und zu einem Zeitpunkt t gilt Folgendes: Würde
ab Zeitpunkt t die Injektion neuer Pakete eingestellt, so würden noch für s Schritte jeweils ein Paket
mit Ziel C und dem Restweg e0 , e2 die Kante e0 durchlaufen.
Konstruiere eine (r, b) Injektionsfolge für die Schritte nach Zeitpunkt t, so dass schließlich zu einem
Zeitpunkt t0 > t gilt: Würde ab Zeitpunkt t0 die Injektion neuer Pakete eingestellt, so würden noch für
s0 Schritte jeweils ein Paket mit Ziel C 0 und dem Restweg e00 , e02 die Kante e00 durchlaufen, wobei s0 > s
gilt.
(b) Warum folgt aus Teil a die Instabilität von LIFO?
Hinweise: Falls in einem Schritt mehrere Pakete in einem Knoten ankommen, so darf das weitergeleitete
Paket unter diesen bösartig gewählt werden.
Es existiert eine Lösung, bei der zunächst rs Pakete in X injiziert werden und anschließend zeitgleich jeweils
r2 s Pakete in Y und D injiziert werden.
Farthest-To-Go und Nearest-To-Source stechen hervor, da für sie sogar Stabilität für r =
1 gezeigt werden kann [G]. Andererseits schneiden Farthest-To-Go und Nearest-To-Source
mit maximaler Schlangengröße O(b · |E|d−1 /(1 − r)) und Verweildauer O(b · |E|d−1 /(1 − r))
zumindest in der Analyse leicht schlechter ab als Longest-In-System und Shortest-In-System
mit maximaler Schlangengröße O(b/(1−r)d ) und Verweildauer O(b/(1−r)d ), bzw. O(d·b/(1−
r)d ), wenn |E| >> 1/(1 − r).
Für alle betrachteten Strategien kann weder eine polynomielle maximale Schlangengröße noch
eine polynomielle Verweildauer gezeigt werden. Wir erhalten nur dann polynomielle Beziehungen, wenn nur Wege logarithmischer Länge zu traversieren sind. Man beachte aber, dass
sogar sublogarithmische Distanzen im Webgraphen zu erwarten sind und unsere Analysen
112
KAPITEL 6. QUEUEING-STRATEGIEN
zeigen, dass die vier obigen Queueing-Strategien im Anwendungsfall selbst unter worst-case
„Attacken“ standhalten, wenn Kapazitäten nicht überschritten werden!
Offenes Problem 2
(a) Besitzen Farthest-To-Go, Nearest-To-Source und Shortest-In-System polynomielle Verweildauer und polynomielle Schlangengrößen, wenn die Injektionsrate r hinreichend klein gewählt wird? Exponentiell große
Verweildauer und Schlangengröße kann für hinreichend großes r < 1 nachgewiesen werden [AAF].
Besitzt Longest-In-System eine polynomielle Verweildauer für alle r < 1? Es ist bekannt, dass die Verweildauer
exponentiell im Durchmsser sein kann.
(b) Ist Longest-In-System für r = 1 stabil?
In [AAF] wird auch untersucht, ob es Graphen gibt, die unter jeder Queueing Strategie stabil
sind und es wird gezeigt, dass der Ring für jede Knotenanzahl stabil ist. (Beachte, dass die
anscheinend geringfügige MModifikation der beiden Doppelkanten im Viererzyklus zu einem
instabilen Netz führt.) Die Klasse stabiler Graphen ist allerdings recht klein. Im wichtigen
ungerichteten Fall gibt es sogar keine nicht-trivialen „stabilen Graphen“ und der Entwurf
guter Queueing Strategien ist damit für jede interessante Netzarchitektur wichtig.
Aufgabe 61
Wir betrachten nur ungerichtete, zusammenhängende Graphen. Zeige, dass nur Graphen mit höchstens zwei
Knoten unter jeder Queueing-Strategie stabil sind.
6.3
Queuegröße
Wir haben bisher stabile und instabile Queueing-Strategien kennengelernt, uns aber nicht
mit der Frage nach der Queuegröße und der damit äquivalenten Frage nach der Transportzeit
der einzelnen Strategien beschäftigt. Insbesondere muss uns interessieren, ob es QueueingStrategien gibt, deren maximale Queuegröße oder maximale Transportzeit polynomiell im
Durchmesser oder zumindest polynomiell in der Knotenanzahl ist. Wir werden hier eine leider
negative Antwort für eine große Klasse von Strategien erhalten.
Allgemein kann man sich eine Queueing Strategie durch eine Prioritätsfunktion repräsentiert
denken, die das vorhandene Wissen über das Netzwerk, den bisherigen Verlauf des Pakets
und den noch zu durchlaufenden Weg auf eine Priorität des Pakets abbildet. Die Strategie
gibt dann stets einem Paket mit maximaler Priorität den Vorzug. Klassen von Strategien
entstehen dann natürlicherweise dadurch, dass man charakterisiert, welche Informationen die
Prioritätsfunktion als Argument erhält. Wir betrachten die große Klasse der Strategien ohne
Zeitnahme.
Definition 6.10 Eine Queueing Strategie Sf arbeitet ohne Zeitnahme, wenn sie einem Paket
p die Priorität f (G, P, a) zuweist, wobei G der Graph des Netzwerks, P der Weg von p und a
die Zahl der bereits von p traversierten Kanten ist. Wir nennen Strategien, die ohne Zeitnahme
arbeiten, auch WTS-Strategien (without time stamping.)
Prominente WTS-Strategien sind Nearest-To-Source (NTS), Farthest-From-Source (FFS),
Nearest-To-Go (NTG), und Farthest-To-Go (FTG) mit den jeweiligen Prioritätsfunktionen
fNTS (G, P, a) = −a, fFFS (G, P, a) = a, fNTG (G, P, a) = a − |P | und
fFTG (G, P, a) = |P | − a.
√
Wir zeigen, dass jede WTS-Strategie zu einer Queuegröße von 2Ω( n) gezwungen werden kann,
wobei n die Knotenzahl ist. Der Durchmesser d der Graphenfamilie ist dabei asymptotisch
√
gleich n, womit die Queuegröße 2Ω(d) beträgt.
6.3. QUEUEGRÖßE
113
Abbildung 6.3: Graph Gk enthält k 2 Gatter Gi,j sowie die zusätzlichen Knoten X, Y, Z, X 0 , Y 0
und Z 0 angeordnet und verbunden wie links angedeutet. Ein dicker Pfeil steht hier für k + 1
parallele Kanten in der jeweiligen Richtung. Jedes Gatter besteht aus zwei internen Knoten
Ai,j , in dem alle eingehenden Kanten enden, und Bi,j , dem alle ausgehenden Kanten entspringen. Diese Knoten sind durch 2k + 1 gerichtete Kanten, x1i,j , . . . , x2k+1
von Ai,j nach
i,j
Bi,j verbunden. Die eingehenden Zeilenkanten, die entweder aus Gi,j−1 bzw. aus Y kommen,
l für 1 ≤ l ≤ k + 1. Die eingehenden Spaltenkanten, die entweder aus G
benennen wir ri,j
i−1,j
bzw. Y 0 kommen, benennen wir cli,j für 1 ≤ l ≤ k + 1. Die ausgehenden Zeilenkanten (bzw.
Spaltenkanten) der letzten Spalte Gi,k (bzw. Zeile Gk,j ) nach Z [Z 0 ] heißen ri,k+1 [ck+1,j ].
Schließlich nennen wir die k + 1 Kanten von X nach Y (bzw. X 0 and Y 0 ) r0l (bzw. cl0 ) für
1 ≤ l ≤ k + 1.
Satz 6.11 [W] Es gibt eine Familie Gk von Graphen mit n = 2k 2 + 6 Knoten und Durchmes2rk
ser d = 4k, auf der jede WTS-Strategie mit Injektionsrate r > 0.5 und Burstiness b > 2r−1
Θ(k) gezwungen werden kann. Damit ist die Queuegröße 2Θ(d) ,
zu einer Queuegröße
√ von 2
Θ(
n)
beziehungsweise 2
.
Dieses Resultat zeigt, dass Zeitmessung notwendig ist, wenn man an polynomiellen Queuegrößen interessiert ist, da die einzigen sinnvollen Größen, die in WTS-Strategien keinen Eingang
finden, Zeiten sind wie etwa die Lebenszeit eines Pakets – wie in LIS verwendet – oder die
aktuelle Wartezeit eines Pakets – wie in FIFO verwendet.
Beweis von Satz 6.11: Gk = (Vk , Ek ) besteht im Wesentlichen aus k 2 Kopien des Gatters
Gij (vergl. Abb. 6.3). Gk hat 2k 2 + 6 Knoten und der Durchmesser beträgt 4k.
Sei Ri die Menge der Wege von X zu Z, die ausschließlich die Gatter der Zeile i durchlaufen und sei Cj die Menge der Wege von X 0 zu Z 0 , die ausschließlich Gatter der j-ten Spalte
durchlaufen. In unserer Konstruktion arbeiten wir ausschließlich mit diesen Zeilen- und Spaltenwegen.
l : Dieser Weg gehört
Für jede der Kanten xlij bestimmen wir einen domininanten Weg Wi,j
zu Ri ∪ Cj , benutzt xlij und erhält unter allen Paketwegen, die xlij durchlaufen, maximale
l also die Priorität
Priorität in der Schlange von xlij . Damit besitzt ein Paket auf Wi,j
max max {f (Gk , P, 2j)|P benutzt
P ∈Ri
xlij },
max {f (Gk , P, 2i)|P benutzt
P ∈Cj
xlij }
,
114
KAPITEL 6. QUEUEING-STRATEGIEN
da ein Paket auf einem Weg aus Ri (bzw. Cj ) genau 2j Kanten (bzw. 2i Kanten) durchlaufen
l zu R gehört, nennen wir die Kante xl
hat, wenn es die Schlange von xlij erreicht. Falls Wi,j
i
ij
zeilendominiert und andernfalls spaltendominiert. Darüberhinaus nennen wir Gatter Gi,j zeilendominiert (bzw. spaltendominiert) wenn mindestens k+1 seiner xlij Kanten zeilendominiert
(bzw. spaltendominiert) sind. Also ist jedes Gatter entweder zeilen- oder spaltendominiert.
Mindestens die Hälfte aller Gatter ist zeilendominiert oder mindestens die Hälfte aller Gatter
ist spaltendominiert. Es gibt also eine Zeile, in der mindestens die Hälfte aller Gatter spaltendominiert sind, oder eine Spalte, in der mindestens die Hälfte aller Gatter zeilendominiert
sind. Sei o.B.d.A. Zeile i0 eine solche Zeile.
Dann existieren q ≥ k2 spaltendominierte Gatter in Zeile i0 und wir können ebenso o.B.d.A.
annehmen, dass in spaltendominierten Gattern Gi0 ,j die Kanten x1i0 ,j , . . . , xk+1
i0 ,j spaltendominiert sind. Der folgende Algorithmus wählt die Wege aus, die bei der anschließenden Einfügung
von Paketen benutzt werden.
1. Die Kantenmenge L enthalte die Kante ri0 ,k+1 , die Kanten r0l sowie ril0 ,j und xli0 ,j für
1 ≤ j ≤ k und 1 ≤ l ≤ k + 1. Wir nennen Kanten in L legal und nennen einen Weg
legal, wenn er nur legale Kanten verwendet, in X beginnt und in Z endet.
/* Beachte dass legale Wege stets in Zeile i0 verlaufen.
*/
2. Sei z := q.
/* z durchläuft die spaltendominierten Gatter von rechts nach links.
*/
3. for j = k to 1 do
(a) Wähle e ∈ {ril0 ,j |1 ≤ l ≤ k + 1} ∩ L beliebig.
/* Kante e ist also ein legaler Eingang in das Gatter Gi0 ,j .
*/
(b) Wenn Gi0 ,j spaltendominiert ist:
i. Sei Sz ein legaler Weg, der e benutzt, und unter allen legalen Wegen, die
e benutzen, eine minimale Priorität in Qe erhält: f (Gk , Sz , 2j − 1) ist also
minimal.
ii. Entferne die Kanten aus L, die Sz vor e durchläuft.
iii. Wähle eine beliebige Kante e0 ∈ ({xli0 ,j |1 ≤ l ≤ k + 1} \ Sz ).
/* Kante e0 ist also eine legale Kante, die von Sz nicht benutzt wird.
*/
0
iv. Sei Dz der domininante Weg von e .
/* Die Kante e0 ist spaltendominiert und Dz verläuft somit in Spalte j. Wir
benutzen Dz später, um auf der Zeile i0 laufende Pakete aufzuhalten.
*/
v. Setze z := z − 1.
(c) Sonst: Wähle e0 ∈ {xli0 ,j |1 ≤ l ≤ k + 1} ∩ L beliebig.
(d) Entferne alle Kanten ril0 ,j 6= e und xli0 ,j 6= e0 mit 1 ≤ l ≤ k + 1 aus L.
/* Wir sagen, dass die Kanten e und e0 fixiert sind. Später gewählte Wege Sz 0 (mit
z 0 < z) laufen somit über die bisher schon fixierten Kanten. Die Wege Sz 0 und Sz
treffen sich aber wegen Schritt 3(b)ii zum ersten Mal in der Eingangskante e. */
4. Wähle einen legalen Weg S0 beliebig.
/* S0 ist bis auf die Mehrfachkante von X nach Y festgelegt.
*/
6.4. EINE RANDOMISIERTE QUEUEING-STRATEGIE
115
Man beachte, dass die Wahlen von e und e0 jeweils wohldefiniert sind, da zu Beginn für jedes
j mindestens k + 1 legale ril0 ,j und xli0 ,j Kanten existieren. Höchstens k − 1 dieser Kanten
werden vor der Wahl von e und e0 im Schritt 3(b)ii durch vorhergehende Schleifendurchläufe
gelöscht.
Wir fügen nun in q Phasen Pakete ein, wobei die Phasen den spaltendominierten Gattern
Gi0 ,j1 , Gi0 ,j2 , . . . Gi0 ,jq der Zeile i0 entsprechen. Um den Prozess in Gang zu setzen, nutzen
wir einmalig die Burstiness aus und fügen im ersten Schritt b Pakete mit Wegbeschreibung
S0 ins System ein. Diese Paketmenge nennen wir X0 .
Phase t beginnt, wenn das erste Paket von Xt−1 die Queue der fixierten Kante ril0 ,jt erreicht
und dauert |Xt−1 | Schritte. Wir fügen jetzt jeweils Pakete mit Rate r und Wegbeschreibungen
St und Dt ein. Man beachte, dass St und Dt kantendisjunkt sind und diese Einfügungen belasten somit jede Kante mit Rate höchstens r: Sz und Dz haben lediglich das gemeinsame Gatter
Gi0 ,jt , Sz erreicht und verlässt es auf Zeilenkanten, Dz auf Spaltenkanten. Schließlich wird in
Schritt 3(b)iii sichergestellt, dass Sz und Dz verschiedene xli0 ,j Kanten zur Durchquerung des
Gatters benutzen.
In der Queue der fixierten Kante ril0 ,jt treffen die Pakete aus St erstmalig auf die Pakete aus
Xt−1 . Ihre Priorität in dieser Queue ist nicht größer als die Priorität eines Paketes der Menge
Xt−1 , da jedes Paket aus Xt−1 auf einem der Wege S0 , . . . , St−1 unterwegs ist, und diese Wege
alle legal waren, als St minimal unter den legalen Wegen gewählt wurde. Also kann keines
der r|Xt−1 | Pakete auf St das Gatter Gi0 ,jt in Phase t durchqueren, da die Eingangskante
durchgehend von Xt−1 Paketen benutzt wird.
Nach höchstens 2k Schritten der Phase t erreicht das erste auf Dt eingefügte Paket das Gatter
Gi0 ,jt . Von diesem Zeitpunkt an bis zum Ende der Phase (und das sind |Xt−1 | − 2k Schritte)
erreichen r · (|Xt−1 | − 2k) Pakete auf dem dominanten Spaltenweg das Gatter Gi0 ,jt .
Alle Pakete in Xt−1 laufen über die fixierte Kante xli0 ,jt und diese Pakete werden somit
durch die Pakete des dominanten Spaltenweges aufgehalten. Daher schaffen es mindestens
r · (|Xt−1 | − 2k) Pakete aus Xt−1 nicht, das Gatter Gi0 ,jt in Phase t zu durchqueren.
Sei Xt die Vereinigung der Menge der aufgehaltenen Xt−1 -Pakete und der neu auf St eingefügten Pakete. Dann ist
|Xt | ≥ r(|Xt−1 | − 2k) + rXt−1 = 2r|Xt−1 | − 2rk.
Für r > 21 und hinreichend großes2 b ist jede Menge Xt um (fast) den multiplikativen Faktor
2r größer als
Xt−1 . Da q = Θ(k) = Θ(d) gilt, hat die letzte Menge Xq die Größe 2Θ(k) =
√
2Θ(d) = 2Θ( n) , was zu zeigen war.
6.4
Eine randomisierte Queueing-Strategie
Wir schließen mit einer randomisierten Queueing-Strategie, die hochwahrscheinlich polynomielle Verweildauer und polynomielle Schlangengröße besitzt. Wir analysieren dazu zunächst
eine randomisierte Strategie für das statische Routing Problem. Beim statischen Routing
Problem sind die zu transportierenden Pakete von Beginn an im System. Es werden keine
weiteren Pakete zur Laufzeit hinzugefügt.
2
Die Bedingung |X1 | ≥ 2r · |X0 | − 2rk > |X0 | ist äquivalent zu |X0 | >
ausreichend.
2rk
2r−1
und da, |X0 | = b, ist b >
2rk
2r−1
116
KAPITEL 6. QUEUEING-STRATEGIEN
Es sei auch hier d die maximale Länge eines einfachen Weges in G und m die Zahl der
Kanten. Sei weiter c das maximale Vorkommen einer Kante in den Wegen der Pakete, also
die größte Zahl von Paketen, die über eine Kante transportiert werden sollen. Damit sind c
und d triviale untere Schranke für die Laufzeit. Unsere statische Queueing Strategie wird mit
hoher Wahrscheinlichkeit eine Laufzeit von
(1 + ε) · c + O(d · log(mcd))
für beliebiges vorgegebenes ε erreichen.
Algorithmus 6.12 Eine randomisierte Queueing-Strategie für statisches Routing
(1) Wähle für jedes Paket unabhängig und gleichverteilt eine Startverzögerung aus der Menαc
ge {1, . . . , log(mcd)
}, wobei wir α in der Analyse passend bestimmen werden. Setze i = 1.
(2) Wiederhole, solange nicht zugestellte Pakete existieren:
(a) Bewege zum Zeitpunkt i alle Pakete mit Startverzögerung höchstens i um eine
Kante entlang ihres Weges weiter. (Wann immer mehrere Pakete dieselbe Kante
durchlaufen wollen, wird dies mehr als einen Zeitschritt erfordern.) Pakete mit
höherer Startverzögerung werden nicht bewegt.
(b) Erhöhe i um 1.
Wir bestimmen zunächst die Zahl der Iterationen von Schleife (2). Ein Paket wartet höchstens
αc
log(mcd) Iterationen und kommt dann in jeder Iteration dem Ziel um eine Kante näher. Nach
αc
Iterationen sind also alle Pakete zugestellt.
d + log(mcd)
Kritisch für die Laufzeit ist die Frage, wieviele Zeitschritte in Schritt (2a) nötig sind. Dafür
müssen wir untersuchen, wieviele Pakete in derselben Iteration i dieselbe Kante durchlaufen
möchten. Die Zufallsvariable Ne,i bezeichnet die Zahl der Pakete, die in Iteration i durch
Kante e laufen möchten. Desweiteren ist Ip,e,i eine Indikatorvariable, die angibt, ob Paket p
P
in Iteration i über Kante e laufen möchte. Es ist Ne,i = p Ip,e,i und wir beschränken den
Erwartungswert:
E[Ne,i ] = E[
X
p
=
X
Ip,e,i ] =
X
E[Ip,e,i ]
p
prob[ Paket p will in Iteration i die Kante e durchlaufen ]
p
log(mcd)
log(mcd)
=
αc
α
Die Abschätzung ist richtig, da höchstens c Pakete überhaupt Kante e auf ihrem Weg haben und von den möglichen Startverzögerungen höchstens eine dazu führt, dass p genau in
Iteration i über die Kante e laufen möchte.
Wir benutzen die Chernoff Schranke, um die Wahrscheinlichkeit von zu langen Iterationen
zu beschränken. (Die Chernoff-Schranke ist anwendbar, da die Pakete ihre Startverzögerung
unabhängig voneinander auswürfeln.)
≤ c·
prob[Ne,i > (1 + ε) ·
log(mcd) ε2
log(mcd)
] ≤ e− α · 3
α
2
= (mcd)−ε /(3α)
6.4. EINE RANDOMISIERTE QUEUEING-STRATEGIE
117
Die Wahrscheinlichkeit, dass irgendeine Iteration der Schleife (2) länger als (1 + ε) · log(mcd)
α
dauert, beschränken wir, indem wir die gerade gefundene Wahrscheinlichkeit mit der Zahl m
αc
der Kanten und der maximalen Iterationszahl d + log(mcd)
multiplizieren.
prob[ irgendeine Iteration dauert länger als (1 + ε) ·
Wählen wir α ≤
c−1
c
· d · log(mcd), so ist d +
αc
log(mcd)
log(mcd)
]
α
≤ (mcd)
−ε2
3α
αc
·m· d +
log(mcd)
≤ c · d, und wir erhalten
prob[ irgendeine Iteration dauert länger als (1 + ε) ·
log(mcd)
]
α
≤ (mcd)
−ε2
+1
3α
.
2
Zu jedem gegebenen ε können wir α ≤ ε6 wählen und damit ist die Wahrscheinlichkeit einer
zu langen Iteration durch (mcd)−1 beschränkt. Multiplizieren wir die obere Schranke der
αc
der Iterationsanzahl, so erhalten wir:
Iterationsdauer mit der oberen Schranke d + log(mcd)
Lemma 6.13 Algorithmus 6.12 löst das statische Routingproblem mit Wahrscheinlichkeit 1−
(mcd)−1 in Zeit
(1 + ε) · c +
1+ε
· (d · log mcd) = (1 + ε) · c + O(d · log mcd)
α
für jedes ε > 0.
Wir kommen zurück zu unserem eigentlichen Problem, dem dynamischen Routing. Wir wollen
hierfür den folgenden Algorithmus analysieren. Den Parameter T legen wir in der Analyse
geeignet fest.
Algorithmus 6.14 Eine randomisierte Queueing-Strategie.
(1) Der Algorithmus arbeitet mit den Zeitintervallen Zi = {iT + 1, . . . , (i + 1)T } der Länge
T . Alle Pakete, die im Zeitintervall Zi in das System gelangen, werden in eine Menge
Xi aufgenommen. Wir sagen, dass Xi zum Zeitpunkt (i + 1)T , also nach Injektion aller
Pakete im Zeitintervall Zi , aktiv wird. Xi wird deaktiviert, wenn sämtliche Pakete in Zi
zugestellt wurden.
(2) Wiederhole:
(a) Bestimme das kleinste k, so dass Xk aktiv ist.
(b) Führe auf den Paketen aus Xk den statischen Algorithmus aus. Nach seiner Beendigung sind alle Pakete aus Xk zugestellt und Xk wird deaktiviert.
Wir sollten T also so wählen, dass der Algorithmus, wenn alles normal läuft, eine Menge Xi
zugestellt hat, bevor die nächste Menge Xi+1 aktiv wird. Andernfalls besteht die Gefahr, dass
wir uns lange Warteschlangen von aktiven Mengen einhandeln.
Wir sagen, dass der statische Algorithmus auf Xi erfolgreich ist, wenn alle Pakete aus Xi in
Zeit
1+ε
(1 + ε) · (rT + b) +
· d · log(md(rT + b))
α
zustellt werden. Da wir einen (r, b) beschränkten Gegner annehmen, wird Xi für jede Kante
e höchstens rT + b Pakete besitzen, die e durchlaufen möchten. Wenn wir also c = rT + b
118
KAPITEL 6. QUEUEING-STRATEGIEN
setzen, dann ist der statische Algorithmus gemäß Lemma 6.13 auf Xi mit Wahrscheinlichkeit
1 − (mcd)−1 erfolgreich.
Da die Fehlerwahrscheinlichkeit aber nur invers polynomiell ist, richten wir einen zusätzlichen
Faktor von 1 + ε als Fehlertoleranz ein. Wir setzen also T kleinstmöglich, so dass
d
T ≥ (1 + ε) · c + · log(mcd) .
α
2
Beachte, dass T auf der rechten Seite nur linear (in c = rT + b) bzw. logarithmisch eingeht,
so dass wir keine Probleme haben werden, ein solches T zu finden.
Aufgabe 62
d log(m)
Zeige T = Θ( 1−r·(1+ε)
2 ).
Im Erfolgsfall schafft unser Algorithmus also eine Menge Xi sogar mit Zeitreserve, bevor die
nächste Menge aktiv wird: Von der zur Verfügung stehenden Zeit T wird dann nur die Zeit
ε
T
= 1+ε
T
T /(1+ε) verbraucht und damit kann der eventuelle Rückstand um mindestens T − 1+ε
wieder abgetragen werden.
Sei τi die Zeitverzögerung, nach der der statische Algorithmus die Verarbeitung von Xi übernimmt. Ist τi > 0, so wird die Abarbeitung von Xi im Erfolgsfall den Rückstand additiv
ε
um min{T · 1+ε
, τi } verkleinern. Im Misserfolgsfall schätzen wir die zusätzliche Verzögerung
pessimistisch durch d(rT + b) = dc ab: Die höchstens r · T + b injizierten Pakete können
nacheinander in Zeit höchstens d an ihr Ziel gebracht werden.
ε
· T ≥ 4. Wenn
Wir nehmen an, dass c ≥ 1, m, d ≥ 2 und dass T so groß gewählt ist, dass 1+ε
ε
τi ≥ T · 1+ε , dann gilt also für die erwartete Veränderung im Hinblick auf die Planerfüllung
ε
1
1
· T · (1 −
)+
·c·d
1+ε
c·d·m
c·d·m
ε
1
1
≤ −
· T · (1 −
)+
1+ε
c·d·m
m
3 1
≤ −4 · + = −2.5.
4 2
E[τi+1 − τi ] ≤ −
Die Folge τ1 , τ2 , . . . zeigt also das folgende Verhalten:
(1) τi+1 − τi ≤ c · d und
(2) E[τi+1 − τi ] ≤ −2.5, falls τi ≥
ε
1+ε
· T.
Unter diesen Bedingungen kann gezeigt werden [H], dass für jedes i
prob[ τi ≥ α · c · d ] ≤ e−Ω(α)
gilt.
Satz 6.15 Es gelte T = Θ( d log(m)
1−r ) und c = r · T + b. Dann gilt für jede Menge Xi mit
Wahrscheinlichkeit mindestens 1 − e−Ω(α) , dass alle Pakete aus Xi nach höchstens
2 · T + O(c · d) = O(
d2 · log2 m
)
1−r
Schritten zugestellt werden. Also ist Algorithmus 6.14 stabil und besitzt hochwahrscheinlich
eine polynomielle Verweildauer.
Kapitel 7
Erasure Codes
Bei großen Multicast-Aufgaben (Versand langer Programmcodes oder Videos hoher Qualität
an mehrere hunderttausende Empfänger) muß eine Rekonstruktion trotz Paketverlusts in
Echtzeit gewährleistet werden.
Um Paketverlust zu kompensieren liegt es natürlich nahe, die zu versendende Information
redundant zu kodieren. Die Zielvorgaben sollten sein:
(1) Rekonstruktion trotz hohen Paketverlusten. Wir geben allerdings keine Worst-Case Garantie, sondern garantieren Rekonstruktion nur mit hoher Wahrscheinlichkeit.
(2) Superschnelle Kodierungs- und Dekodierungsalgorithmen, um die hohen Bandbreiten
von Hochleistungskanälen (Glasfaser, ATM oder Gigabit Ethernet) ausnutzen zu können.
Beispiel 7.1 Automobile Data Broadcasting
Ein Schlüsselproblem im Data-Broadcast für Autos ist die Anforderung verläßlicher Kommunikation mit einer Vielzahl von Empfängern über unsichere Kanäle (wechselnde Landschaften,
Tunnel). Da eine Rückverbindung zum Empfänger nicht besteht, ist ein nicht-kompensierbarer
Paket-Verlust äußerst schwerwiegend und redundante Kodierung ist erforderlich.
Wir beschreiben zuerst das formale Modell eines Kanals K mit Verlust (erasure-channel oder
auch lossy channel genannt): Für ein Alphabet Σ werden Nachrichten der Form
(a1 , 1) · (a2 , 2) · · · (ai , i) · · · (an , n)
(mit a1 , . . . , an ∈ Σ) über den Kanal K verschickt. (Das Alphabet Σ kann zum Beispiel
aus allen Bitfolgen einer bestimmten Höchstlänge bestehen.) K löscht ein Paket (ai , i) mit
Wahrscheinlichkeit ρ, wobei die Wahrscheinlichkeit des Löschen eines Pakets nicht von den
anderen Paketen abhängt. Beachte, dass jedes Paket (ai , i) einen Zeitstempel, nämlich den
Zeitpunkt i, enthält: Der Empfänger weiß also, welche Pakete verloren gegangen sind.
Bemerkung 7.1 Auf den ersten Blick ist der Erasure-Kanal kein realistisches Modell für das
Beispiel des Internets. Dort wird man erwarten, dass die Löschwahrscheinlichkeiten zeitlich
benachbarter Pakete stark korreliert sind. Eine solche Korrelation können wir aber auflösen, wenn wir „gegen den Kanal randomisieren“, also die Pakete vor dem Versand zufällig
permutieren.
119
120
KAPITEL 7. ERASURE CODES
Wir beschreiben die Tornado Codes, die selbst hohe Verlustraten tolerieren und zusätzlich
noch superschnelle Kodier- und Dekodieralgorithmen anbieten. Um die Beschreibung zu vereinfachen, nehmen wir an, dass jedes Paket nur aus einem Bit und der Paketnummer besteht.
Der Tornado Code wird durch eine Folge von „dünn-besetzten“ bipartiten Graphen Bi =
(Ui , Vi , Ei ) (mit |Vi | = β · |Ui | für β < 1 und |Ei | = O(|Ui |)) definiert.
Informationsbits
Checkbits
+
+
+
+
+
+
B
2
Checkbits
B1
Informationsbits
Abbildung 7.1: Die bipartiten Graphen des Tornado Codes
Wir nennen die „linken“ Knoten von Bi (also die Knoten in Ui ) Informationsbits und die
„rechten“ Knoten von Bi (also die Knoten in Vi ) Check-Bits. Die Informationsbits von B1
entsprechen den Eingabebits, wobei die Zuordnung von Eingabebits und Informationsbits
zufällig gewählt ist, um gegen den Kanal zu randomisieren. (Natürlich bleiben die Pakete mit
einem Zeitstempel versehen).
Für die Kodierung der Eingabebits werden zuerst die Werte aller Checkbits von B1 durch
Xoring der inzidenten Informationsbits von B1 berechnet. Sodann interpretieren wir die rechten Bits von B1 als die Informationsbits von B2 und berechnen die Checkbits von B2 , also
die rechten Knoten von B2 , wiederum durch Xoring der inzidenten Informationsbits von B2 .
Dieses Verfahren wird für alle bipartiten Graphen wiederholt.
√
Nach hinreichender Kompression (d.h. wenn |Vk | ≤ n zum ersten Mal erreicht wurde) wird
der Reed-Solomon Code1 D als letzte Kodierungsstufe der Hierarchie eingefügt. Die Folge der
Informations- und Checkbits, zusammen mit den Namen der entsprechenden Knoten, ist die
Kodierung der Eingabe.
Aufgabe 63
Ein linearer (m, n)-Code mit m ≥ n wird durch eine 0, 1 Matrix A mit m Zeilen und n Spalten sowie Rang(A) =
n (über ZZ2 ) beschrieben. Eine Nachricht x ∈ {0, 1}n wird dann durch y = Ax über dem Körper ZZ2 kodiert.
(Beachte, dass der Tornado Code ein linearer Code ist.)
Eine kodierte Nachricht y wird durch den Erasure Kanal geschickt und man erhält die Nachricht y 0 mit
yi0 =
yi
∗
Bit i „überlebt“,
sonst.
Zeige: Wenn y 0 nur von einer Nachricht x „erzeugt“ wurde, dann kann x in poly(n) Schritten bestimmt werden.
Fazit: Die Dekodierung linearer Erasure Codes ist also effizient möglich. Da sogar zufällig ausgewürfelte Matrizen A ihren maximalen Rank nach (zufälligem) Streichen von (nicht zu vielen) Zeilen (hochwahrscheinlich)
1
Ein fehlerkorrigierender Code, der in quadratischen Zeit kodiert und dekodiert.
121
beibehalten, sind lineare Codes gute Erasure-Codes. Tornado Codes sind aber durch ihre superschnelle Kodierung und Dekodierung unter den linearen Codes ausgezeichnet.
Algorithmus 7.1 Erzeugung des Tornado Codes und Kodierung.
Komponenten: die Eingabelänge n, der Check-Faktor β und der Reed-Solomon Code D.
√
(1) Wähle m minimal so, dass n·β m ≤ n. Erzeuge die bipartiten Graphen Bi = (Ui , Vi , Ei )
(für i = 1, . . . , m).
(a) Bestimme Grad-Sequenzen u = (ui,2 , . . . , ui,L ) und v = (vi,2 , . . . , vi,R ) (mit der
Intention, dass Ui , bzw. Vi , genau ui,j , bzw. vi,j , Knoten vom Grad j besitzt). Bi
P
PR
wird dann ei = L
j=2 j · ui,j =
j=2 j · vi,j Kanten erhalten.
/* Grad-Sequenzen werden später berechnet.
*/
(b) Setze Ui∗ = {1, . . . , ei } = Vi∗ und bestimme eine zufällige Bijektion bi : Ui∗ → Vi∗ .
(c) Zerlege Ui∗ in beliebiger Weise in ui,j disjunkte Teilmengen der Größe j (für j =
2, . . . , L) und zerlege Vi∗ in beliebiger Weise in vi,j disjunkte Teilmengen der Größe
j (für j = 2, . . . , R). „Kollabiere“ die erhaltenen Teilmengen auf jeweils einen
Repräsentantenknoten und nenne die neuen Knotenmengen Ui und Vi .
/* Damit haben wir alle Knoten in Ui , bzw. in Vi vom Grad j definiert.
*/
(d) Verbinde einen Knoten u ∈ Ui mit einem Knoten in v ∈ Vi , wenn ein Element
der Teilmenge von u auf ein Element der Teilmenge von v durch die Bijektion b
abgebildet wird.
/* Bei diesem Prozess können Mehrfach-Kanten auftreten, die auch als solche zu
behandeln sind. Beachte, dass Ui (bzw. Vi ) genau ui,j (bzw. vi,j ) Knoten vom Grad
j besitzt.
*/
(2) Permutiere die Eingabefolge zufällig. (Natürlich bleiben die Pakete mit einem Zeitstempel versehen). Kodiere die permutierte Folge, indem zuerst die Eingabebits an die linken
Knoten von B1 angelegt werden. Sodann berechne die Werte aller Check-Bits. Nach der
Kodierung gemäß Bm ist die Kodierung gemäß D die letzte Phase der Kodierung. (Die
Codewortlänge von D sei Θ(β m · n).)
Die Folge der Informations- und Checkbits, zusammen mit den Namen der entsprechenden Knoten, ist die Kodierung der Eingabe.
Aufgabe 64
Die Tornado-Codes kodieren die Menge der n Eingabebits Bits durch Einfügen von Checkbits mit dem Check√
√
Faktor β. Der Code endet mit n Checkbits, die durch den Reed-Solomon Code in quadratischer Zeit (in n)
kodiert und dekodiert werden.
Wie groß sollte β (in Abhängigkeit von der Löschwahrscheinlichkeit ρ) mindestens sein, um eine Rekonstruktion
nicht auszuschliessen?
Wir werden später einen kleinen linearen Anteil weiterer Knoten und Kanten einsetzen. Wir
haben in der Beschreibung des Tornado Codes die Konstruktion der Grad-Sequenzen offengelassen. Die Grad-Sequenzen werden wir so bestimmen, dass der folgende Dekodierungsalgorithmus eine möglichst große Fehlerrate verkraftet.
Algorithmus 7.2 Dekodier-Algorithmus für Tornado Codes.
(1) Die kodierte Folge ist nach Verlust einiger Bits zu dekodieren.
122
KAPITEL 7. ERASURE CODES
(2) Beginne die Rekonstruktion mit dem Reed-Solomon Code. Setze i = m.
(3) Wiederhole, solange es mindestens ein Check-Bit c in Bi mit genau einem fehlenden
Vorgänger b0 gibt:
Setze b0 = c ⊕ b1 ⊕ · · · ⊕ bk , wobei b1 , . . . , bk die vorhandenen Vorgänger von c seien.
(4) Wenn ein linker Knoten von Bi nicht korrigiert werden konnte, dann brich mit einer
Fehlermeldung ab.
Ansonsten, wenn i = 1, dann ist die Korrektur geglückt. Wenn i > 1, dann setze i = i−1
und wiederhole Schritt (3).
Aufgabe 65
Die bipartiten Graphen in der Definition des Tornado Codes mögen die Knotenmenge V und die Kantenmenge
E besitzen.
Beschreibe, wie Algorithmus 7.2 in Zeit O(|V | + |E|) implementiert werden kann. Benenne insbesondere geeignete Datenstrukturen.
Aufgabe 66
Algorithmus 7.2 gibt in einigen Fällen auf, obwohl eine Rekonstruktion möglich wäre.
(a) Gib einen bipartiten Graphen G = (L ∪ R, E) an und weise jedem Knoten einen Wert aus {0, 1, ∗} zu,
so dass
- jeder Knoten aus R einen Wert aus {0, 1} erhält,
- es genau eine Belegung der mit ∗ beschrifteten Knoten mit {0, 1} gibt, so dass die Beschriftung
aller Knoten aus R der Parität der Beschriftungen seiner Nachbarn entspricht,
- aber Algorithmus 7.2 die eindeutige Lösung nicht findet.
(b) Gib zwei bipartite Graphen G1 = (L1 ∪ R1 , E1 ) und G2 = (L2 ∪ R2 , E2 ) mit R1 = L2 nebst {0, 1, ∗}
Beschriftung an, die die folgenden Eigenschaften erfüllen.
- Jeder Knoten aus R2 hat einen Wert aus {0, 1}.
- Keiner der Graphen Gi besitzt eine eindeutige Belegung der mit ∗ beschrifteten Knoten mit
Werten aus {0, 1}, so dass die Beschriftung jedes Knotens aus Ri der Parität der Beschriftung
seiner Nachbarn in Li entspricht.
- Der verklebte Graph G = (L1 ∪ L2 ∪ R2 , E1 ∪ E2 ) besitzt eine eindeutige Belegung der mit ∗
beschrifteten Knoten mit Werten aus {0, 1}, so dass die Beschriftung jedes Knotens aus Ri der
Parität der Beschriftung seiner Nachbarn in Li entspricht.
(c) Warum ersetzt man die Heuristik von Algorithmus 7.2 nicht durch die Gauß’sche Eliminierung?
Aufgabe 67
G = (L∪R, E) sei ein bipartiter Graph mit maximalem Grad zwei für die Knoten in R. Die Werte aller Knoten
von R seien bekannt, während die Werte einiger linker Knoten fehlen.
Beweise oder widerlege: Algorithmus 7.2 findet stets eine eindeutige konsistente Beschriftung, wenn eine solche
existiert.
Das Abbruchkriterium in Schritt (4) für i > 1 dient nur der theoretischen Analyse. In praktischen Anwendungen sollte ein Abbruch nur erfolgen, wenn tatsächlich Informationsbits der
ersten Hierarchie nicht rekonstruiert wurden.
Warum wählen wir nicht reguläre bipartite Graphen, also Graphen in denen alle linken Knoten denselben Grad und alle rechten Knoten denselben Grad besitzen? Vom Standpunkt eines
Informationsbits (also vom Standpunkt eines linken Knotens) ist ein hoher Grad hochwillkommen, denn dann bestehen die größten Chancen von irgendeinem der vielen rechten Nachbarn
bestimmt zu werden. Andererseits werden diese Chancen zunichte gemacht, wenn alle linken
7.1. INFORMATIONSRATE
123
Nachbarn denselben hohen Grad besitzen: Nur wenige rechte Knoten besitzen dann genau
einen fehlenden linken Nachbarn.
Bei einer sorgfältigen Auswahl der Gradsequenzen (mit dementsprechender nicht-regulärer
Struktur) wird die Rekonstruktion in Wellen verlaufen. Die wenigen hochgradigen linken
Nachbarn werden sofort rekonstruiert, gefolgt von ihren etwas niedrig-gradigeren Kollegen
und so weiter. Die vielen niedrigst-gradigen linken Knoten werden dann in wenigen letzten
Wellen rekonstruiert: Der Tornado produziert rasant wachsende Wellen rekonstruierter linker
Knoten. Die in Kapitel 7.2 durchgeführte Analyse wird diese Analogie begründen.
7.1
Informationsrate
Wie kompakt ist die Kodierung? Wir definieren die Informationsrate durch
Informationsrate =
Eingabelänge
.
Codewortlänge
Die Codewortlänge beträgt
n+
m
X
√
√
√
1 − β m+1
n
β i · n + O( n) = n ·
+ O( n) ≤
+ O( n).
1−β
1−β
i=1
Da n Eingabebits vorliegen, erhalten wir die Informationsrate
1−β
√ )
1 + O( 1−β
n
.
Sei ρ die Wahrscheinlichkeit, mit der der Kanal Bits verliert. Dann ist offensichtlich eine
n
Bits notwendig, um den Bitverlust des Kanals zu komCodewortlänge von mindestens 1−ρ
pensieren, und damit wird die Informationsrate bestenfalls 1 − ρ betragen.
Wir machen den Ansatz β = ρ(1 + ε) und erreichen damit erstaunlicherweise eine Informationsrate von fast 1 − ρ. Es bleibt zu zeigen, dass eine Rekonstruktion in jeder Hierarchiestufe Bi mit hoher Wahrscheinlichkeit gelingt. Dabei können wir rekursiv annehmen, dass
alle Check-Bits von Bi bereits rekonstruiert wurden. (Die Induktionsbasis wird durch den
fehlerkorrigierenden Code D gelegt.)
7.2
Berechnung der Grad-Sequenzen
Wir stellen uns vor, dass ein durch das Löschen von Bits verstümmeltes Codewort w zu dekodieren ist. Die Wahrscheinlichkeit des Löschens einer Bitposition sei ρ und die Löschungen
der Positionen seien stochastisch unabhängig. Wir nehmen weiterhin an, dass die Rückwärtsdekodierung von Algorithmus 7.2 den Graphen B = Bi erreicht hat. Das setzt voraus, dass
ein jeder rechter Knoten von Bi entweder bereits vorhanden ist oder erfolgreich rekonstruiert
wurde. Wir sagen, dass ein rechter Knoten von B rekonstruiert, falls höchstens einer seiner
linken Nachbarn verloren gegangen ist. Sei v ein beliebiger linker Knoten von B, dessen Bit
verloren gegangen ist. Wann werden wir im Stande sein, das verlorene Bit zu bestimmen?
Zuerst betrachten wir sämtliche Check-Knoten, die mit v benachbart sind und hoffen auf
einen benachbarten rekonstruierenden Check-Knoten. Formal können wir somit v als einen
ODER-Knoten interpretieren, der auf mindestens einen rekonstruierenden Nachbarn hofft.
124
KAPITEL 7. ERASURE CODES
Wann kann uns einer dieser (rechten) Nachbarn w glücklich machen? Genau dann, wenn alle
linken Nachbarn von w (mit der Ausnahme von v) vorhanden sind. Mit anderen Worten,
jeder rechte Nachbar w von v spielt die Rolle eines UND-Knotens. Wir haben aber noch nicht
verloren, wenn sich kein rekonstruierender rechter Nachbar von v findet, denn „wer noch
kein rekonstruierender Knoten ist, der kann’s noch werden“! Nach der ersten Generation (der
rechten Nachbarn von v), schauen wir uns deshalb die zweite Generation, also die Enkelkinder
von v, an. Nicht vorhandene Enkelkinder von v können mit der gleichen Überlegung wie für
v rekonstruiert werden: auch sie lassen sich formal als ODER-Knoten auffassen.
Was passiert, wenn wir diesen Prozess solange wiederholen, bis wir alle Knoten im Abstand
2l von v erreicht haben? (Wir werden l so klein wählen, dass der von den erreichten Knoten
induzierte Teilgraph von B mit hoher Wahrscheinlichkeit ein Baum ist.) Wir setzen v als
ODER-Knoten auf die Wurzel des Baums, gefolgt von den rechten Nachbarn (als UNDKnoten), gefolgt von deren linken Nachbarn (mit Ausnahme von v) als ODER-Knoten und
so weiter. Die Blätter dieses Baums Tl (v) sind linke Knoten, die wir mit 0 (nicht vorhanden)
oder 1 (vorhanden) beschriften. Die Knoten der Tiefe 2l − 1 sind rechte Knoten, die genau
dann rekonstruierend werden, wenn alle Kinder vorhanden sind, d.h. mit 1 beschriftet sind.
Mit anderen Worten, ein Knoten der Tiefe 2l − 1 ist rekonstruierend, wenn der Knoten als
UND-Knoten den Wert 1 berechnet. Wann ist ein Knoten der Tiefe 2l−2 rekonstruierbar, bzw
vorhanden? Um dies zu formalisieren, erlauben wir das Festfrieren des entsprechenden ODERKnotens auf 1 zusätzlich zum Formalismus des UND-ODER Baums (falls das entsprechende
Paket nicht verloren ist). Damit ist ein Knoten der Tiefe 2l−2 genau dann rekonstruierbar oder
vorhanden, wenn der Knoten festgefroren ist, oder wenn eines seiner Kinder rekonstruierend
ist. Und die Berechnung des Wertes 1 ist hinreichend und notwendig zur Berechnung des Bits
des Knotens.
Wir fassen zusammen. Mit einem induktiven Argument erhalten wir, dass der Ausgangsknoten
v genau dann entweder vorhanden ist (also festgefroren auf Wert 1) oder rekonstruierbar ist,
wenn der oben beschriebene UND-ODER Baum Tl (v) den Wert 1 berechnet!
Schauen wir uns die möglichen Bäume Tl (v) genauer an. Wir wollen die Wahrscheinlichkeit
in B bestimmen, dass eine Kante einen linken (bzw. rechten) Knoten mit einem rechten (bzw
PR
P
linken) Knoten vom Grad j verbindet. Wir besitzen insgesamt L
j=2 j · vi,j
j=2 j · ui,j =
Kanten. Von diesen Kanten verbinden genau j · vi,j Kanten einen linken Knoten mit einem
rechten Knoten vom Grad j, und genau j · ui,j Kanten verbinden einen rechten Knoten mit
einem linken Knoten vom Grad j. Wir definieren die Wahrscheinlichkeiten
j · ui,j
pj = PL
j=2 j · ui,j
j · vi,j
und qj = PR
j=2 j · vi,j
dafür, dass eine Kante einen rechten (bzw. linken) Knoten mit einem linken (bzw. rechten)
Knoten vom Grad j verbindet. Diese Verteilungen definieren auch den durchschnittlichen
linken (bzw. rechten) Grad. Zum Beispiel ist
L
X
pj
j=2
j
PL
= PL
j=2 ui,j
j=2 j
· ui,j
=
1
.
Gradlinks
(7.1)
Beachte, dass stets
β·
L
X
pj
j=2
j
=
R
X
β·n
qj
=
Kantenzahl j=2 j
(7.2)
7.2. BERECHNUNG DER GRAD-SEQUENZEN
125
gilt.
Wenn wir uns einen beliebigen Knoten v 0 in Tl (v) ungerader Tiefe (also einen rechten Knoten)
anschauen und eine Kante e = (v 0 , u) zu einem Kind u wählen, dann verbindet e den Knoten
v 0 mit Wahrscheinlichkeit pj mit einem Knoten vom Grad j: Also wird ein innerer Knoten
in gerader Tiefe genau j − 1 Kinder mit Wahrscheinlichkeit pj besitzen (beachte, dass eine
Kante von u bereits vom Vater geschluckt wurde).
Mit analogem Argument: Ein beliebiger Knoten ungerader Tiefe besitzt mit Wahrscheinlichkeit qj genau j − 1 Kinder. Leider bringt die Wurzel diesen Formalismus durcheinander, da
sie keinen Vater besitzt; deshalb stiebitzen wir eine ihrer Kanten durch zufällige Wahl.
Hier ist allerdings ein Wort der Warnung angebracht. Die Kinderzahlen entsprechen nicht unabhängigen Zufallsvariablen: Wenn bereits viele Knoten mit einer bestimmten Kinderzahl im
Baum aufgetreten sind, wird diese Kinderzahl entsprechend unwahrscheinlicher, denn unsere
bipartiten Graphen besitzen eine festgelegte Anzahl von Knoten für jeden Grad. Insbesondere
sind die zugewiesenen Wahrscheinlichkeiten für die Kinderzahlen nur als approximativ anzusehen. Wir werden deshalb dafür Sorge tragen, dass die Bäume Tl (v) klein bleiben, damit die
Approximation nur mit einem kleinen, vernachläßigbaren Fehler behaftet ist.
Um die möglichen UND-ODER Bäume Tl (v) zu beschreiben, führen wir die Klasse Tl (~
p, ~q)
von UND-ODER Bäumen der Tiefe 2l ein, um die zufällige Wahl der bipartiten Graphen
wiederzugeben. Wenn wir uns vorstellen, dass wir die Bäume in Tl (~
p, ~q) von der Wurzel aus
wachsen lassen, dann wird ein ODER-Knoten vODER mit Wahrscheinlichkeit pi genau i − 1
Kinder und ein UND-Knoten vUND mit Wahrscheinlichkeit qi genau i − 1 Kinder besitzen.
(Wir modellieren also die zufällige Konstruktion der bipartiten Graphen.)
Wir nehmen jetzt auch die Löschwahrscheinlichkeit ρ mit in unseren Formalismus auf. Dazu
markiere die Blätter eines Baums in Tl (~
p, ~q) zufällig durch 0 (mit Wahrscheinlichkeit ρ) oder
durch 1 (mit Wahrscheinlichkeit 1 − ρ). Linke Knoten, also Knoten gerader Tiefe, werden
ebenfalls mit Wahrscheinlichkeit 1 − ρ auf den Wert 1 festgefroren. (Wir modellieren den
zufällig löschenden Erasure Kanal.)
Im Evaluierungsproblem für UND-ODER Bäume fragt man nach der Wahrscheinlichkeit Nulll (ρ), dass die angelegte zufällige Eingabe die Ausgabe 0 an der Wurzel produziert.
(Der Wahrscheinlichkeitsraum besteht aus allen Paaren (T, x), so dass x eine Eingabe für den
Baum T ∈ Tl (~
p, ~q) ist. Die Wahrscheinlichkeit des Paares (T, x) ist das Produkt der Wahrscheinlichkeit von T mit der Wahrscheinlichkeit von x. Die Wahrscheinlichkeit für eine Null
an einer beliebigen Position in x ist ρ.)
Erstaunlicherweise lässt sich die Wahrscheinlichkeit Nulll (ρ) leicht rekursiv bestimmen. Dazu
zuerst eine vorbereitende Definition.
Definition 7.3 Für die Verteilungen p~ = (p1 , . . . , pL ) und ~q = (q1 , . . . , qR ) definieren wir die
Polynome
p(x) =
L
X
i=2
pi · xi−1 und q(x) =
R
X
i=2
sowie das Iterationspolynom
f (x) = ρ · p(1 − q(1 − x)).
Lemma 7.4 Setze Null0 (ρ) = ρ. Dann gilt für jedes l ≥ 1,
Nulll+1 (ρ) = f (Nulll (ρ)).
qi · xi−1
126
KAPITEL 7. ERASURE CODES
Beweis: Es ist
f (Nulll (ρ)) = ρ · p(1 − q(1 − Nulll (ρ))).
Wir betrachten ein UND-Gatter der Tiefe 1. Wenn das UND-Gatter i − 1 Kinder besitzt
(und dies passiert mit Wahrscheinlichkeit qi ), dann kann nur dann der Wert 1 erzielt werden,
wenn alle i − 1 ODER-Kinder den Wert 1 erreichen und dies passiert mit Wahrscheinlichkeit
(1 − Nulll (ρ))i−1 . Mit anderen Worten, q(1 − Nulll (ρ)) ist die Wahrscheinlichkeit, dass ein
UND-Knoten der Tiefe 1 wahr wird.
Wann wird die Wurzel den Wert 0 bekommen? Zuerst darf die Wurzel nicht festgefroren
sein (und dies passiert mit Wahrscheinlichkeit ρ). Wenn das ODER-Gatter j − 1 Kinder
besitzt, darf weiterhin keines dieser Kinder wahr sein und wir wissen bereits, dass dies mit
Wahrscheinlichkeit (1−q(1−Nulll (ρ)))j−1 passiert. Die Wahrscheinlichkeit für j −1 Kinder ist
aber pj und damit ist ρ · p(1 − q(1 − Nulll (ρ))) die Wahrscheinlichkeit für das Wurzelergebnis
0 und die Behauptung folgt.
Wir möchten erreichen, dass Nulll (ρ) = f (l) (ρ) schnell kleine Werte annimmt. Dazu machen
wir den Ansatz
f (x) = ρ · p(1 − q(1 − x)) < x für 0 < x ≤ ρ.
(7.3)
Wenn Bedingung (7.3) gilt, dann wird die Folge f (l) (ρ) in l monoton fallen und gegen Null
konvergieren. Wenn andererseits die Bedingung für x0 ≤ ρ verletzt ist, gilt f (l) (x0 ) > x0 für
jedes l. (Dies folgt, da die Polynome p(x) und q(x) monoton wachsende Funktionen in x sind.
Damit ist auch f eine monoton wachsende Funktion in x.)
Um die Gradverteilung der linken Knoten zu definieren, legen wir die folgende Verteilung fest:
pi =
1
P
(i − 1) · di=1
für i = 2, . . . , d + 1.
1
i
Um den durchschnittlichen Grad der linken Knoten zu berechnen, beachte
d+1
X
pj
1
= Pd
j
i=1
j=2
·
1
i
und mit (7.1) folgt Gradlinks = di=1
rechten Knoten durch die Verteilung
P
qi =
1
i
d+1
X
1
1
= Pd
(j − 1) · j
i=1
j=2
·
d+1
d .
1
i
·
d
d+1
Wir bestimmen ebenso die Gradverteilung der
e−α · αi−1
(i − 1)!
für i ≥ 2.
Um die Beziehung (7.2) einzuhalten, müssen wir α so wählen, dass
X qi
i≥2
i
=
X e−α · αi−1
i≥2
i!
=
e−α
β
· (eα − 1) =
α
Gradlinks
gilt. Diese Forderung wird erfüllt, falls
Gradlinks
α · eα
= α
β
e −1
7.3. LEISTUNGSDATEN DER TORNADO CODES
127
gilt. Wir haben Gradlinks bereits berechnet und erhalten deshalb
d
1 d + 1 eα − 1
Gradlinks eα − 1 X
=
α=
·
·
·
β
eα
i
d
β · eα
i=1
Wir haben hier ein wenig geschummelt, da die tatsächliche Verteilung auf den rechten Knoten
natürlich auch endlich sein muss. Da die qi aber schnell gegen Null konvergieren, haben wir
nur einen vernachlässigbaren Fehler eingebaut.
Wir können jetzt überprüfen, wie schnell Nulll (ρ) gegen Null konvergiert. Es ist
−1
p(x) < Pd
1
i=1 i
· ln(1 − x) und q(x) = eα·x−α
und deshalb
−ρ
f (x) = ρ · p(1 − q(1 − x)) < Pd
1
i=1 i
ρ
· ln(eα·(1−x)−α ) = Pd
1
i=1 i
· α · x.
Mit der Forderung an α erhalten wir
f (x) <
und für ρ ≤ β ·
d
d+1
ρ · (d + 1) eα − 1
·
·x
β·d
eα
ist insbesondere f (x) <
eα −1
eα
· x. Als Konsequenz:
Lemma 7.5 Für die Verteilungen p~ und ~q mit pi =
qi =
e−α ·αi−1
(i−1)!
1
P
d
1
i=1 i
(für i = 2, . . . , d + 1) und
(für i ≥ 2) ist Bedingung (7.3) erfüllt, falls
ρ≤β·
7.3
(i−1)·
d
.
d+1
Leistungsdaten der Tornado Codes
Wir nehmen von jetzt ab an, dass die bisher nicht fixierten Gradsequenzen gemäß den Verteilungen p~ und ~q festgelegt werden. Nach Lemma 7.4 sowie Lemma 7.5 ist damit die Wahrscheinlichkeit der erfolglosen Rekonstruktion eines Bits an einer vorher fixierten Bitposition
durch eine beliebig kleine Konstante nach oben beschränkt.
Aber wir besitzen n viele Bitpositionen und die erfolglose Rekonstruktion eines wenn auch
kleinen, aber immer noch linear großen Anteils der Bitpositionen kann damit nicht ausgeschlossen werden! In experimentellen Tests wurden dann auch häufig nicht-rekonstruierbare
Bitpositionen gefunden.
Aber wir haben dennoch einen signifikanten Fortschritt gemacht, denn der erwartete Prozentsatz ρ von fehlenden Bits konnte auf einen wesentlich kleineren linearen Anteil α nichtrekonstruierbarer Bits gesenkt werden. Darüberhinaus kann gezeigt werden, dass Bi mit
i
Wahrscheinlichkeit mindestens 1 − 2−Ω(β ·n) höchstens α · β i · n nicht rekonstruierbare Informationsbits besitzt.
Der Rekonstruktions-Prozess beginnt mit dem fehlerkorrigierenden Code D mit Codewort√
länge Θ( n). D sei so gewählt, dass D einen Prozentsatz von ρ0 > ρ fehlenden Bits mit
128
KAPITEL 7. ERASURE CODES
√
konstanter Fehlerrate verkraftet. Damit wird D mit Wahrscheinlichkeit 1 − 2−Ω( n) eine vollständige Rekonstruktion erlauben, denn mit dieser Wahrscheinlichkeit wird ein Prozentsatz
von höchstens ρ0 aller Bits fehlen. Damit sind sämtliche Check-Bits des letzten bipartiten
Codes Bm rekonstruiert und leider wird dennoch ein α-Anteil der Informationsbits von Bm
nicht rekonstruierbar sein.
Wir fügen einen relativ kleinen, aber immer noch linear großen Anteil von neuen Check-Bits
zu Bm hinzu und verbinden die β m · n Informationsbits von Bm mit diesen neuen CheckBits über linear viele, zufällig eingesetzte Kanten. Der neue bipartite Graph wird auf allen
Informationsbits von Bm den Grad g besitzen.
Wir geben eine informelle Beschreibung des Effekts dieser neuen Kanten. Sei U 0 die Menge nicht-rekonstruierbarer Informationsbits, also |U 0 | ≤ α · β m · n. Da wir Kanten zufällig
eingesetzt haben, wird U 0 mindestens g2 · |U 0 | + 1 Nachbarn besitzen: Bei zufälliger Kantenauswahl wird die Menge U 0 also expandieren. Wenn jeder Nachbar mit mindestens zwei Knoten
aus U 0 verbunden ist, dann kann U 0 höchstens g2 · |U 0 | Nachbarn besitzen: Es gibt mindestens einen Nachbarn, der nur mit genau einem Knoten u ∈ U 0 verbunden ist! Dieser Knoten
u ist jetzt rekonstruierbar! Die Wiederholung dieses Arguments garantiert die vollständige
Rekonstruktion aller Informationsbits von Bm .
Damit sind aber alle Check-Bits von Bm−1 rekonstruiert und wir wiederholen unser Vorgehen
diesmal für Bm−1 .
Aufgabe 68
Ein bipartiter Graph G = (L ∪ R, E) heißt ein (γ, α)-Expander, wenn für alle U ⊆ L mit |U | ≤ α · |L| gilt
|Γ(U )| ≥ γ · |U |, wobei Γ(U ) die Menge der mit U benachbarten Knoten ist.
Ein bipartiter Graph G = (L ∪ R, E) heißt ein eindeutiger α-Expander, wenn für alle U ⊆ L mit |U | ≤ α · |L|
ein Knoten v ∈ R mit genau einem Nachbarn in U existiert.
a) G = (L ∪ R, E) sei ein durch folgenden Prozess zufällig erzeugter bipartiter Graph mit |L| = |R| = n:
−1
Zu jedem Knoten u ∈ L wird zufällig gleichverteilt mit Wahrscheinlichkeit nd
die Nachbarmenge
Γ({u}) ⊆ R mit |Γ({u})| = d gewählt.
α sei eine hinreichend kleine Zahl. Zeige, dass G mit positiver Wahrscheinlichkeit ein ( d2 , α)-Expander
ist. Diese Aussage ist für d = O(1) zu zeigen.
Hinweis: Zeige, dass die Wahrscheinlichkeit, dass G eine Menge U mit ∅ =
6 U ⊆ L und |U | ≤ αn und
d
|U
|
enthält,
klein
ist.
eine Menge W mit Γ(U ) ⊆ W ⊆ R und
|W
|
=
2
Die Stirling Approximation liefert nk ≤ ( ne
)k .
k
b) Zeige, dass ein (γ, α)-Expander auch ein eindeutiger α-Expander ist, falls γ >
v ∈ L den Grad d besitze.
Satz 7.6 Die Verteilungen p~ und ~q seien durch pi =
−α
(i−1)·
1
P
d
i−1
1
i=1 i
d
,
2
wobei jeder Knoten
(für i = 2, . . . , d + 1) und
·α
qi = e (i−1)!
(für i ≥ 2) definiert. D sei ein „guter“ fehlerkorrigierender Code. D habe die
√
Codewortlänge Θ( n) und besitze Kodierungs- und Dekodierungsalgorithmen mit höchstens
quadratischer Laufzeit.
1
Der Tornado Code T werde durch D, die Verteilungen p~ und ~q, den Parameter β = ρ·(1+ 2·ε
)
und durch die Einsetzung von Expander Graphen entsprechender Größe konstruiert. Dann
besitzt T für ρ < 12 die Informationsrate
Rate(T ) ≥ (1 − ρ) · (1 − ε).
Eine√Rekonstruktion gelingt für hinreichend großes n mit Wahrscheinlichkeit mindestens 1 −
2−Ω( n) . Kodierungs- und Dekodierungsalgorithmen benötigen höchstens O(n · ln( 1ε )) Schritte.
7.3. LEISTUNGSDATEN DER TORNADO CODES
129
Beweis: Wir haben bereits die Informationsrate berechnet und
1−β
√ )
1 + O( 1−β
n
als Ergebnis (vor dem Einsetzen der Expandergraphen) erhalten. Diese Rate wird um den
Faktor 1 − γ für eine kleine Konstante γ sinken, da die Expander Graphen neue Knoten in
den Graphen des Tornado Codes einfügen. Für hinreichend großes n kann γ als beliebig klein
angenommen werden.
Für eine erfolgreiche Rekonstruktion genügt die Forderung β ≥ ρ· d+1
d gemäß Lemma 7.5. Wir
2
ε
setzen d = ε und erhalten die Forderung β ≥ ρ · (1 + 2 ), die wir natürlich mit β = ρ · (1 + 2ε )
erfüllen. Die Informationsrate ist also mindestens
1 − ρ · (1 + 2ε )
(1 − γ) ·
1 + O(
1−ρ·(1+ 2ε )
√
)
n
≥ (1 − ρ) · (1 − ε),
für hinreichend großes n.
Die Laufzeit der Kodier- und Dekodieralgorithmen ist proportional zur Kantenzahl des GraP
1
phen des Tornado Codes. Wir besitzen O(n · 1−β
) Knoten, wobei Gradlinks = di=1 1i · d+1
d =
Θ(ln(d)) der durchschnittliche Grad der linken Knoten ist. Die Kantenzahl ist somit
O(n ·
1
1
1
· ln( )) = O(n · ln( )),
1−β
ε
ε
denn wegen ρ < 1/2 wird β nicht zu nahe an 1 „gedrängt“.
Bemerkung 7.2 Unter den konventionellen Erasure-Codes ist der Reed-Solomon Code am
erfolgreichsten. In experimentellen Vergleichen mit Varianten des Reed-Solomon Codes wurden Dateien der Größen 1 MB, 2MB, 4 MB, 8 MB und 16 MB bei einer Paketgröße von
einem KB kodiert und dekodiert. Die Informationsrate 1/2 wurde zu Grunde gelegt. Bei
den Laufzeiten (Kodieren/Dekodieren) ergab sich unter Auswahl der besten Reed-Solomon
Variante
- 1 MB. Tornado: 0.26 Sek / 0.14 Sek; Reed-Solomon 93 Sek / 40.5 Sek.
- 2 MB. Tornado: 0.53 Sek / 0.19 Sek; Reed-Solomon 442 Sek / 199 Sek.
- 4 MB. Tornado: 1.06 Sek / 0.40 Sek; Reed-Solomon 1717 Sek / 800 Sek.
- 8 MB. Tornado: 2.13 Sek / 0.87 Sek; Reed-Solomon 6994 Sek / 3166 Sek.
- 16MB. Tornado: 4.33 Sek / 1.75 Sek; Reed-Solomon 30802 Sek / 13269 Sek.
Die Experimente wurden auf einer SUN Ultrasparc (167 MHz) mit 64 MB RAM von den
Autoren der Tornado Codes durchgeführt. Diese Zahlen belegen eindeutig den Laufzeitvorteil
der Tornado Codes.
Kommen wir zu den Nachteilen. Tornado Codes basieren auf einer rekursiven Paritäts-Kodierung und sind deshalb sehr anfällig für verfälschte Pakete. Diese Verfälschungen werden
nicht nur nicht korrigiert, sondern sogar vervielfacht. Dies scheint ihren Einsatz für sicheres
Internet Routing jedoch nicht zu behindern, da bei kleinen Paketgrößen der Paketverlust,
jedoch nicht die Verfälschung von Paketen droht.
130
KAPITEL 7. ERASURE CODES
Kapitel 8
End-to-End Congestion Control
Paketverluste entstehen aufgrund von Überlast, defekten Routern, Bitfehlern während der
Übertragung oder nicht ausreichender Puffer-Kapazität des Empfängers. Weitere Fehlerquellen sind duplizierte Pakete sowie das Eintreffen von Paketen in falscher Reihenfolge.
TCP, das Transmission Control Protokoll, ist die verantwortliche Kontrollinstanz für die
Behebung von Überlast und die bestmögliche Nutzung der Link-Kapazitäten. Die TCPVerkehrskontrolle misst dazu die Belastung einer Sender-Empfänger Verbindung über den
bisher beobachteten Durchsatz der Verbindung und versucht, sich adaptiv auf die Belastung
durch Hoch- oder Runterfahren der Emissionsrate einzustellen.
- Der Sender berechnet ein Sendefenster (sliding window), dessen Größe sich dynamisch
dem Durchsatz anpasst, aber die Länge des Empfänger-Puffers nicht übersteigen sollte. Das Sendefenster besteht aus einem Intervall aufeinanderfolgender Pakete und beschreibt die versandbereiten Pakete, bzw. die versandten, aber noch nicht bestätigten
Pakete. (Der Empfänger bestätigt den Erhalt eines Pakets durch eine Bestätigung – Acknowledgements oder Ack –, die Paketen in der Gegenrichtung hinzugefügt wird.) Pakete
werden durchnummeriert, um dem Empfänger die Möglichkeit zu geben, die Pakete in
richtiger Reihenfolge zusammenzusetzen.
bestätigt
nicht bestätigt
kann gesendet werden
zukünftige Pakete
Sliding Window (Länge = Länge des Empfänger Puffers)
Abbildung 8.1: Sliding Window und bestätigte Pakete
- Man unterscheidet kumulative, duplizierte und selektive Bestätigungen. Eine kumulative
Bestätigung bestätigt stets auch den Erhalt aller vorher gesandten Pakete.
Eine duplizierte Bestätigung wird verschickt, wenn ein Paket in falscher Reihenfolge
empfangen wird: Nur das jüngste in richtiger Reihenfolge empfangene Paket wird bestätigt. Eine duplizierte Bestätigung ist also ein Hinweis, aber kein Beweis, für einen
Paketverlust.
131
132
KAPITEL 8. END-TO-END CONGESTION CONTROL
Eine selektive Bestätigung führt bis zu vier Paket-Intervalle explizit auf, die erfolgreich
empfangen wurden. Selektive Bestätigungen sind vor Allem dann wichtig, wenn mehrere
Paketverluste in einem Sendefenster auftreten und nur sie bieten die Möglichkeit, die
nachzusendenden Pakete zu identifizieren.
Die verschiedenen Bestätigungsarten erklären sich einerseits aus dem nur wenigen Bytes
langem Platz für Bestätigungen und andererseits aus der Redundanzanforderung, um
sich auch gegen den Verlust von Bestätigungen behaupten zu können.
- Der Sender berechnet die Rundreisezeit (bzw. Round-Trip Time oder RTT) eines Pakets. Die Rundreisezeit ist der sich dynamisch verändernde Zeitraum, beginnend im
Versand des Pakets an den Empfänger und endend im Erhalt des vom Empfänger versandten Ack. Die Rundreisezeit wird durch Stichproben aktualisiert.
- Der Retransmission Timeout (RTO) ist der Zeitraum, in dem der Sender auf eine Bestätigung eines versandten Pakets wartet. Geht innerhalb des RTO-Zeitraums keine
Bestätigung ein, wird das Paket wieder gesendet. Der RTO-Zeitraum verändert sich
dynamisch mit der Rundreisezeit: Bei steigender Rundreisezeit, und damit bei stärker
belasteten Links, wird RTO entsprechend hochgesetzt und der Sender wartet länger auf
eine Bestätigung.
- Ein Fehler tritt auf, wenn der RTO-Zeitraum ohne eine Bestätigung überschritten wird
(RTO-Fehler) oder wenn der Sender drei identische duplizierte Bestätigungen erhalten
hat (Ordnungsfehler). (Der Sender wartet also ab in der Hoffnung, zwischenzeitlich noch
eine Bestätigung zu erhalten.)
- Der Sender versucht, sein Sendefenster den Netzbedingungen anzupassen und benutzt
dazu die Komponenten Slow Start, Congestion Avoidance, Fast Retransmit und Fast
Recovery. Es gibt zahlreiche TCP-Varianten (TCP Tahoe, TCP Vegas, TCP Reno, TCP
New Reno, TCP Sack), die sich in der Implementierung dieser vier Verfahren zum Teil
wesentlich unterscheiden. Wir beschreiben TCP Sack.
(*) Slow Start wird beim Aufbau einer Verbindung bzw. nach einem RTO-Fehler aufgerufen. (Ein RTO-Fehler wird als wesentlich ernster als ein Ordnungsfehler aufgefasst, denn bei einem Ordnungsfehler erhält der Empfänger ja noch neue Pakete.) Slow Start beginnt mit einem kleinen Sendefenster S0 und endet, wenn der
Schwellenwert S1 (S0 << S1 ) überschritten wird. Wenn Bestätigungen für alle bisher versandten Pakete innerhalb des Retransmission Timeouts eingegangen sind,
dann wird die Länge des gegenwärtigen Sendefensters S auf S = max{2 · S, S1 }
hochgesetzt.
Also steigert Slow Start die anfänglich sehr geringe Emissionsrate durch multiplikatives Anwachsen (multiplicative increase) bis entweder der Schwellenwert S1
überschritten wird oder bis ein Fehler auftritt. Wird S1 überschritten, dann wird
in das Congestion Avoidance Verfahren gewechselt.
(*) Congestion Avoidance erhöht die Fenstergröße S um Eins (additives Anwachsen,
bzw. additive increase), wann immer alle Pakete eines Fensters bestätigt wurden.
(*) Fast Retransmit wird aufgerufen, wenn ein Ordnungsfehler für ein Paket auftritt.
Das (vermutlich) verlorene Paket wird neu versandt ohne den Retransmission Ti-
133
meout abzuwarten. Die gegenwärtige Emissionsrate S wird halbiert (multiplikatives Fallen, bzw. multiplicative decrease) und Fast Recovery wird aufgerufen.
(*) Fast Recovery: Mit Hilfe der selektiven Bestätigungen wird ein Scoreboard berechnet, das alle vermutlich verlorenen Pakete des Fensters aufführt. Desweiteren
schätzt der Sender die Anzahl der (regulär) ausstehenden Pakete und hält die
Schätzung in der Variable „pipe“ fest. Der Sender sendet Pakete des Scoreboards
bzw. neue Pakete nur dann, wenn pipe < S gilt, wobei S die aktuelle Fenstergröße
ist. pipe wird für jedes versandte Paket um Eins erhöht und für jede Bestätigung
um Eins erniedrigt: Die Belastung des Netzes ist somit durch S beschränkt.
Tritt ein RTO-Fehler auf, wird Slow Start aufgerufen, wobei die aktuelle Fenstergröße als neuer Schwellenwert S1 gewählt wird. Werden hingegen alle Pakete des
Scoreboards bestätigt, erfolgt ein Aufruf von Congestion Avoidance.
Bemerkung 8.1 Das Knie-Kliff Modell erklärt die unterschiedlichen Geschwindigkeiten der
einzelnen TCP-Komponenten beim Hochfahren. Dazu betrachten wir den Durchsatz als Funktion der Last und beobachten bei wachsender, aber relativ kleiner Last einen schnellen Anstieg
des Durchsatzes. Ab einer gewissen Last L0 verlangsamt sich der Durchsatz merklich und
kommt dann letztlich ab Last L1 völlig zum Erliegen. Wird Last L1 überschritten, kollabiert
der Durchsatz fast vollständig.
Das Lastintervall [0, L0 ] definiert das Knie und das Lastintervall [L0 , L1 ] das Kliff. Slow Start
versucht möglichst schnell, also ganz anders als sein Name besagt, die Last L0 zu erreichen.
Congestion Avoidance hingegen begibt sich langsam auf den Weg zum Kliff, wohlwissend,
dass der Absturz droht.
(Multiplicative Decrease)
Fast Retransmit
Slow Start
(mit Schwellenwert S )
1
Fast Recovery
Congestion Avoidance
(Additive Increase)
Abbildung 8.2: Interaktion von Slow Start, Congestion Avoidance, Fast Retransmit und Fast
Recovery.
Die Kombination von Congestion Avoidance und Fast Retransmit folgt somit dem konservativen Prinzip des additiven Anwachsen / multiplikativen Fallens (AIMD).
Bemerkung 8.2 TCP Tahoe, TCP Reno wie auch TCP Sack sind Implementierungen verschiedener AIMD-Verfahren. Alle Verfahren erhöhen in Congestion Avoidance ihre Senderate
r additiv um α, wenn kein Paket-Verlust eintritt. Die Verfahren unterscheiden sich aber in
134
KAPITEL 8. END-TO-END CONGESTION CONTROL
ihrer Implementierung von Fast Retransmit, also in ihrer Reaktion auf einen Paketverlust.
In allerdings stark vereinfachter Darstellung ergeben sich die folgenden Definitionen. (β mit
0 < β < 1 und γ ∈ R>0 sind Konstanten.)
TCP Tahoe (starke Geschwindigkeitsreduktion): Tritt mindestens ein Paket-Verlust auf,
dann legt der Sender eine Sendepause fixierter Länge ein. Nach Ablauf der Sendepause wird
die Rate r auf β · r erniedrigt.
TCP Reno (mittlere Geschwindigkeitsreduktion): Tritt genau ein Paketverlust ein, dann
wird die Rate auf β·r−γ reduziert, aber eine Sendepause wird nicht eingelegt. Treten hingegen
mehrere Paketverluste auf, dann wird eine Sendepause von vorher festgelegter Länge eingelegt.
Als neue Rate wird eine langsame, vorher fixierte Rate gewählt, die nicht von r abhängt.
TCP Sack (sanfte Geschwindigkeitsreduktion): Treten v Paket-Verluste auf, dann wird die
Rate auf β · r − γ · v reduziert. Der Sender legt aber keine Sendepause ein.
Beispiel 8.1 Active Queue Management (AQM)
AQM-Algorithmen entfernen sogar vorsätzlich Pakete als Teil einer Verkehrskontrolle. Warum
sollte man Pakete entfernen, wenn dies nicht erzwungen ist? Der Sender entfernter Paket
stellt fest, dass diese nicht ankommen und vermindert daraufhin (hoffentlich) freiwillig die
Sendegeschwindigkeit.
Der AQM-Algorithmus Drop-Tail weist ankommende Pakete ab, falls die maximale Queuegröße überschritten wird. Paketstaus werden allerdings nur langsam aufgelöst, da Sender zu
spät von überlaufenden Queues erfahren, und deshalb versucht der AQM-Algorithmus RED
(Random Early Detection), die durchschnittliche Queue-Größe klein zu halten. RED arbeitet
mit den Schwellenwerten MIN und MAX und arbeitet mit einer Löschwahrscheinlichkeit pM
in Abhängigkeit von der Queuegröße M . Die Bestiimung von pM ist nicht automatisch.
Da das Verwerfen der Pakete in Routern zufällig erfolgt, können durch RED unter Umständen
eine Vielzahl von Verbindungen zur Neuübertragung veranlasst werden, was den Stau verschärfen kann. Andererseits kann es auch dazu führen, daß zu viele Verbindungen abbremsen
und es dadurch erst Recht zu Lastschwankungen kommt. Desweiteren könnte ein Client sich
durch das Nichtverzögern des Datenverkehrs Bandbreitenvorteile verschaffen, da gehorsame
Clients ihre Flüsse abbremsen, und demgemäß sind mit dem reinen RED-Algorithmus keine
Quality-of-Service Konzepte umsetzbar.
Daher wurden erweiterte Algorithmen wie Blue und Stochastic Fair Blue (SFB) entwickelt,
die sich besser für die Verkehrskontrolle eignen. Eine durch Blue verwaltete Queue löscht
Pakete ebenfalls randomisiert mit einer adaptiv bestimmten Wahrscheinlichkeit p, wobei p
bei einer Überlast auf p · (1 + ε) erhöht und bei einer Unterlast auf p · (1 − ε) reduziert wird.
Stochastic Fair Blue (SFB) bestimmt Löschwahrscheinlichkeiten in Abhängigkeit von der
Rate eines Paketflusses, wobei die Rate durch Hashing oder durch die wesentlich speichereffizienteren Bloom-Filter approximiert wird. Wenn die Löschwahrscheinlichkeit eines Flusses
gegen 1 konvergiert, dann reagiert der Fluss nicht auf die gelöschten Pakete und der Fluss
erfährt eine Strafbehandlung.
In den nächsten Abschnitten versuchen wir, die Stärken und Schwächen von AIMD-Verfahren
genauer zu verstehen.
8.1. AIMD FÜR EINE RESSOURCE
8.1
135
AIMD für eine Ressource
Wir untersuchen ein stark vereinfachtes Szenario, in dem n Verbindungen die Ressource
„Bandbreite“ nutzen möchten. Wir nehmen an, dass Verbindung i zum Zeitpunkt t den Anteil
xi (t) ≥ 0 angefordert hat. Um die Anforderung xi (t + 1) zum Zeitpunkt t + 1 zu bestimmen,
wird i die Antwort y(t) ∈ {fahr hoch, fahr runter} des Systems abwarten und dann xt+1 als
Funktion von xi (t) und y(t) bestimmen.
Die Aufforderung y(t) ist für alle Verbindungen verpflichtend. Weiterhin fordern wir, dass alle
Verbindungen dasselbe lineare Anforderungsschema
(
xi (t + 1) =
aH + bH · xi (t) yt = fahr hoch,
aR + bR · xi (t) yt = fahr runter
benutzen. Unser Ziel ist die Bestimmung eines linearen Anforderungsschematas, das die Fairness
P
( ni=1 xi (t + 1))2
P
Ft+1 =
n · ni=1 xi (t + 1)2
zum Zeitpunkt t + 1 maximiert.
Aufgabe 69
Zeige, dass 0 ≤ Ft ≤ 1 gilt. Darüberhinaus ist Ft genau dann maximal (Ft = 1), wenn alle xi (t) identisch sind.
Lemma 8.1 Ein lineares Anforderungsschema ist multiplikativ für das Runterfahren (aR = 0
und bR < 1) und additiv für das Hochfahren (bH = 1), falls den Anweisungen des Systems
Folge zu leisten ist und der Fairnessanstieg in jedem Schritt zu maximieren ist.
Beweis: Die Verbindung i muss ihre Anforderung für „yt = fahr runter” drosseln. In diesem
Fall ist also xi (t + 1) = aR + bR · xi (t) < xi (t) zu fordern, falls xi (t) > 0. Da xi (t + 1) ≥ 0
auch für kleine Werte von xi (t) sichergestellt werden muss, darf aR nicht negativ werden.
Andererseits muss xi (t + 1) < xi (t) ebenfalls für kleine Werte von xi (t) garantiert werden und
damit folgt aR = 0. Wir erhalten also
aR = 0 und 0 ≤ bR < 1.
(8.1)
Für die Antwort „yt = fahr hoch” ist hingegen xi (t + 1) = aH + bH · xi (t) > xi (t) zu fordern
und wir erhalten die Bedingungen
aH ≥ 0 und bH ≥ 1.
(8.2)
Wir betrachten als Nächstes die Konvergenz gegen die optimale Fairness. Es ist
( ni=1 xi (t + 1))2
( ni=1 aH + bH · xi (t))2
Pn
P
=
n · i=1 xi (t + 1)2
n · ni=1 (aH + bH · xi (t))2
P
( ni=1 aH /bH + xi (t))2
P
.
n · ni=1 (aH /bH + xi (t))2
P
Ft+1 =
=
P
Wir fassen den letzten Ausdruck als Funktion von c = aH /bH auf und erhalten die Funktion
n
X
G(c) = (
i=1
c + xi (t))2 /(n ·
n
X
i=1
(c + xi (t))2 .
136
KAPITEL 8. END-TO-END CONGESTION CONTROL
Beachte, dass G(0) = Ft . Wir zeigen, dass G0 (c) ≥ 0 für c ≥ 0 und damit ist G für c ≥ 0 eine
monoton wachsende Funktion. Die Bedingung G0 (c) ≥ 0 ist äquivalent mit1
n
X
2n · (
c + xi (t)) · (n ·
i=1
n
X
(c + xi (t))2 ) ≥ (
i=1
c + xi (t))2 · (2n ·
i=1
und damit, nach Kürzung um den Term 2n · (
n·
n
X
Pn
i=1 c
n
X
n
X
i=1
i=1
(c + xi (t))2 ≥ (
n
X
(c + xi (t)))
i=1
+ xi (t)) > 0 äquivalent mit
c + xi (t))2 .
Diese Ungleichung ist stets erfüllt und der Nachweis der Monotonie von G für c ≥ 0 ist
geführt.
Da die Funktion G für c ≥ 0 monoton wachsend ist, müssen wir c größtmöglich wählen, um
einen maximalen Fairnessanstieg zu gewährleisten. Wenn die Anforderungen runter zu fahren
sind, bleibt die Fairness damit aufgrund von (8.1) unverändert (denn aR = 0), während im
Fall des Hochfahrens die Setzung bH = 1 wegen (8.2) optimal ist. (Allerdings ist im Fall
aH = 0 zu berücksichtigen, dass die Fairness unabhängig von bH unverändert bleibt. aH = 0
kann somit ausgeschlossen werden, da ein Fairnessanstieg für jedes aH > 0 erfolgt.)
Das Argument zeigt, dass additives Anwachsen zu dem stärksten Anstieg der Fairness führt.
Dies ist nicht weiter verwunderlich, da ein langsames Ansteigen jeder beteiligten Verbindung
denselben Zusatzgewinn bringt. Allerdings ist Lemma 8.1 keine wirklich überzeugende Rechtfertigung des additive increase - multiplicative decrease Rezepts, denn wir schränken uns in
Lemma 8.1 freiwillig auf die kleine Klasse der linearen Anforderungsschemata ein.
Aufgabe 70
Es ist zu erwarten, dass Nutzer mit verschiedenen Bandbreiten auf die Ressource zugreifen. Diese sollen nun
entsprechend ihrer Bandbreite bedient werden.
Pn
Gegeben sei eine Verteilung (pi )1≤i≤n mit pi ≥ 0 für jedes i und i=1 pi = 1. Steht die Ressource in Kapazität
B zur Verfügung, so ist jetzt das Ziel, dass Anfrage i den Anteil pi · B erhält.
Wir definieren die gewichtete Fairness als
Pn
xi (t))2
Ft = Pn i=11
.
2
(
i=1 pi
(xi (t))
Beachte, dass wir die ursprüngliche Definition der Fairness für die Gleichverteilung pi =
1
n
erhalten.
1. Zeige, dass 0 ≤ Ft ≤ 1 gilt.
P
2. Zeige, dass Ft = 1 ⇔ xj (t) = pj
xi (t). Hinweis: Lemma 1.1 ist hilfreich. Beachte auch, dass cos(φ) =
1 ⇔ φ = 0 für einen Winkel −π < φ ≤ π.
3. Zeige, dass wir Ft+1 ≥ Ft für das Kommando „runter“ (beziehungsweise Ft+1 > Ft für das Kommando
„hoch“) erreichen, wenn wir
xi (t + 1) =
xi (t) + pi
β · xi (t)
falls Kommando hoch erfolgt,
falls Kommando runter erfolgt
wählen.
Wir verschärfen jetzt das betrachtete Szenario und lassen zu, dass alte Verbindungen terminieren und neue Verbindungen hinzukommen, bleiben aber bei der Einschränkung auf eine
einzige Ressource. Wie schnell konvergiert AIMD gegen ein sich jetzt dynamisch änderndes
1
Zur Erinnerung: ( fg )0 =
f 0 ·g−f ·g 0
g2
und ( fg )0 ≥ 0 ist äquivalent zu f 0 · g ≥ f · g 0 .
8.1. AIMD FÜR EINE RESSOURCE
137
Fairness-Optimum? Wir nehmen an, dass AIMD die Bandbreite im Hochfahren um 1 erhöht
und im Runterfahren um den Faktor β < 1 erniedrigt.
Wir fixieren eine Verbindung V und nehmen an, dass das System eine Gesamtbandbreite
B zur Verfügung stellt. V wird zu einem Zeitpunkt T mit Bandbreite 0 aufgenommen und
wird dann in einer Folge von Additionsschritten mehr und mehr Bandbreite gewinnen. Wir
interessieren uns vor Allem für die Folge T0 < T1 < · · · Tk < · · · der Zeitpunkte, zu dem das
System den Befehl des Runterfahrens gibt. Es gelte T ≤ T0 .
Lemma 8.2 Wenn Verbindung V bis zum Zeitpunkt Tk besteht, dann beträgt ihre Bandbreite
vor dem Zeitpunkt Tk mindestens
B
(1 − β)k ·
,
nk
wobei nk die Anzahl der Verbindungen zum Zeitpunkt Tk ist. Zu einem Zeitpunkt t ∈ [Tk−1 , Tk [
besitzt jede andere Verbindung höchstens die Bandbreite von V plus die Bandbreite β k · B.
Beweis: Wir führen den Begriff der gerechtfertigten Bandbreite für alle dem Zeitpunkt T
folgenden Zeitpunkte ein. Wir legen fest, dass die von den einzelnen Verbindungen zum Zeitpunkt T gehaltenen Bandbreiten ungerechtfertigt sind. (Wir nehmen also die Sichtweise der
Verbindung V ein, die zum Zeitpunkt T mit Bandbreite 0 beginnen muss.) Danach gewinnen
alle Verbindungen bis zum Zeitpunkt T0 zusätzliche Bandbreite und wir legen diese gewonnene
Bandbreite als gerechtfertigt fest. (Intuition: Die Verbindung V muss die ihrerseits gewonnene Bandbreite auch den anderen Verbindungen zugestehen.) Zum Zeitpunkt T0 werden alle
Bandbreiten, ob gerechtfertigt oder nicht, mit dem Faktor β erniedrigt. Im Zeitraum ]T0 , T1 [
gewinnen dann alle Verbindungen gerechtfertigte Bandbreiten etc.
Wieviel Bandbreite ist zum Zeitpunkt Tk gerechtfertigt? Nur die Bandbreite zum Zeitpunkt
T ist ungerechtfertigt und danach kommt nie mehr ungerechtfertigte Bandbreite hinzu. Da
die ungerechtfertigte Bandbreite zu jedem Zeitpunkt Ti um den Faktor β erniedrigt wird, ist
vor dem Zeitpunkt Tk höchstens die Bandbreite β k · B ungerechtfertigt.
Der Begriff der berechtigten Bandbreite ist für die Verbindung V optimal, da keine andere
Verbindung mehr berechtigte Bandbreite besitzen wird als V : spätere Verbindungen besitzen
weniger und zwischenzeitlich terminierende Verbindungen geben zusätzliche Bandbreite frei.
Das aber bedeutet, dass V vor dem Zeitpunkt Tk mindestens die Bandbreite (1 − β k ) · B/nk
errungen hat.
Eine andere Verbindung W wird dann die meiste Bandbreite an sich reißen können, wenn sie
zum Zeitpunkt T die gesamte (und damit ungerechtfertigte) Bandbreite B besitzt. Zu einem
Zeitpunkt t ∈ [Tk−1 , Tk [ ist aber die ungerechtfertigte Bandbreite auf β k · B geschmolzen und
die Verbindung W besitzt dann höchstens die (gerechtfertigte) Bandbreite von V plus die
ungerechtfertigte Bandbreite β k · B.
Jede Verbindung erhält also mindestens ihren fairen Anteil mit exponentieller Geschwindigkeit, wenn man die Zeit in der Anzahl der Befehle zum Runterfahren misst.
Zuletzt nehmen wir das folgende, stark vereinfachte steady-state Modell an, um den Durchsatz
D von AIMD in Abhängigkeit von der Verlustrate p zu bestimmen:
Ein Sender fährt seine Sende-Rate um jeweils ein Paket solange hoch, bis ein
Schwellenwert S erreicht ist. Danach erfolgt ein Paketverlust und der Sender muss
seine Rate von S auf S2 halbieren.
138
KAPITEL 8. END-TO-END CONGESTION CONTROL
Beginnend mit Senderate S2 erhalten wir in den ersten S2 Schritten den Gesamtdurchsatz
P
D∗ = Si=S/2 i ≈ 83 · S 2 und D∗ fällt auch in jedem darauffolgendem Zeitintervall der Länge S2
an. Also erhalten wir den durchschnittlichen Durchsatz D ≈ 38 · S 2 /(S/2) = 34 · S. Andererseits
erfahren wir in jedem Zeitintervall der Länge S/2 genau einen Paketverlust, und damit ist
8
p ≈ 3·S
2 die durchschnittliche Verlustrate. Als Konsequenz haben wir die Beziehung
1
D = Θ( √ )
p
erhalten. Man überzeugt sich jetzt sofort, dass die Beziehung D = Θ( p1 ) für AIAD, MIAD
und MIMD gilt und AIMD besitzt die höchste Durchsatzrate als Funktion der Verlustrate.
Aufgabe 71
Wir betrachten wieder das AIMD-Verfahren für eine Ressource, die pro Zeiteinheit in Kapazität B zur Verfügung steht. Wir verwenden das Anforderungsschema
xi (t + 1) =
xi (t) + 1
β · xi (t)
falls Kommando hoch erfolgt,
falls Kommando runter erfolgt.
Wir nehmen an, dass die Parameter so gewählt sind, dass nach einmaligem Runterfahren die Kapazität unterschritten wird. Als Spanne eines Systems zum Zeitpunkt t bezeichnen wir die maximale Differenz |xi (t) − xj (t)|
zwischen zwei Anfragen zum Zeitpunkt t.
(a) Zeige, dass ein System mit n Verbindungen und anfänglicher Spanne ∆ nach
Θ
B
· ln
n
∆
Iterationen eine vorgegebene Spanne ε nicht überschreitet.
(b) Neben der Fairness ist die Auslastung der Ressource eine wichtige Qualitätsgröße: Am gerechtesten ist
schließlich ein kaputtes System. Als Auslastung A zum Zeitpunkt t definieren wir
Pn
A(t) =
xi (t)/B
A(t − 1)
i=1
Pn
falls
sonst.
i=1
xi (t) ≤ B,
Wir beschränken uns auf eine Verbindung (n = 1). Zeige, dass der mittlere Auslastungsfaktor
mit wachsendem t gegen einen Wert von mindestens 12 · (β + 1) strebt.
1
t
Pt
t0 =1
A(t0 )
Man nennt einen Paketfluss mit Durchsatz D = Θ( √1p ) auch TCP-freundlich, da der Fluss
zumindest scheinbar seine Geschwindigkeit nach den TCP-Regeln steuert. Da ein Router die
Beziehung Durchsatz/Verlustrate nachprüfen kann, können somit aggressive Flüsse, erkannt
und eliminiert werden.
Aufgabe 72
Die TCP-Geschwindigkeitsregeln sind für Streaming Audio- und Video-Applikationen zu konservativ und man
betrachtet deshalb auch die folgenden Geschwindigkeitsregeln: Beim Hochfahren wird xi (t+1) = xi (t)+α·xi (t)k
und beim Herunterfahren wird xi (t + 1) = xi (t) − β · xi (t)l für α, β > 0 gefordert.
(a) Wir nehmen an, dass sich zwei Verbindungen um eine Ressource streiten und dass sich diese beiden
Verbindungen nach den neuen Geschwindigkeitsregeln richten. Wir nehmen desweiteren an, dass das System
genau dann auf die Bremse tritt, wenn x1 (t) + x2 (t) > 1. Zeige, dass limt→∞ (x1 (t), x2 (t)) = (1/2, 1/2) gilt.
(b) Verallgemeinere Teil (a) auf den Fall von beliebig vielen Verbindungen.
1
(c) Zeige, dass D = Θ( p1/(k+l+1
) gilt. Also erzeugen die neuen Geschwindikeitsregeln genau dann TCPfreundliche Flüsse, wenn k + l = 1 (und l ≤ 1) gilt.
Offenes Problem 3
Entwerfe ein realistisches Szenario, in dem AIMD als fast-optimal nachgewiesen werden kann. In [EDD] wird
ein On-line Szenario mit einer einzelnen Ressource entworfen.
8.2. ALTERNATIVE GESCHWINDIGKEITSREGELN
8.2
139
Alternative Geschwindigkeitsregeln
Zwar setzt sich AIMD in der obigen Analys gegen MIMD, AIAD und MIAD durch, doch ist
ein Vergleich mit einer größeren Klasse von Strategien unterblieben und nur der Fall einer
einzigen umkämpften Ressource wurde betrachtet. Schließlich haben wir unter idealisierten
Annahmen wie einer nicht zu berücksichtigenden Round-Trip Time gearbeitet. Die folgenden
Kritikpunkte müssen deshalb angesprochen werden:
(1) TCP ändert Geschwindigkeiten nur aufgrund von Paket-Verlusten.
Der Paket-Verlust ist nicht anderes als ein binäres Signal, das aber nicht den Grad der
Verstopfung angibt und damit keine Möglichkeit einer der Ursache angepassten Reaktion erlaubt. Da das Feststellen eines Paketverlusts ohne Zusatzinformation erfolgt, ist
die Reaktion notwendigerweise defensiv und Durchsatz-feindlich. Vorbeugende Gefahrmeldungen durch Router scheinen vernünftiger als ein Warten auf den Unfall.
(2) Die Reaktionszeit hängt stark von der Round-Trip Time ab, die kontroll-theoretisch als
Feedback-Verzögerung wirkt.
Als Konsequenz benachteiligt TCP Paketflüsse mit grosser Round-Trip Time. Um Stabilität bei großer Feedback-Verzögerung zu bewahren, müssen Sender zwangsläufig entsprechend langsamer reagieren, aber das Ausmaß der Geschwindigkeitsveränderung ist
unklar: Wenn Sende- und Empfangsrate auseinanderklaffen, dann ist aus Sicht der Kontrolltheorie ein invers proportionales Abbremsen angemessen. Wenn hingegen auf eine
durch eine Queue verursachte Verzögerung reagiert werden muss, dann ist ein invers
quadratisches Abbremsen angeraten.
(3) TCP skaliert schlecht mit steigender Link-Kapazität von optischen Links und wachsender Verzögerung auf Satelliten-Links.
Sally Floyd berechnet, dass eine standard TCP-Verbindung mit Paketen von 1.5 KB,
einer Round-Trip Time von 100 Millisekunden und einem Steady-State Durchsatz von
10 Gigabit pro Sekunde ein Sliding Window von ungefähr 84,000 Segmenten und eine
Verlustrate von Eins zu 5 Milliarden (oder äquivalent ein verlorenes Paket in 1 2/3
Stunden) benötigt. Solche Anforderungen sind durch das konventionelle TCP nicht zu
bewältigen.
(4) Slow Start benötigt Θ(log2 N ) Verdopplungen bis die volle Bandbreite N erreicht ist.
Dies ist kein Problem für langlebige Flüsse, aber sehr wohl ein Problem für kurzlebige
Flüsse, die während ihrer Lebenszeit Slow Start nicht verlassen und dementsprechend
die zur Verfügung stehende Bandbreite auch nicht voll nutzen können. (Beachte, dass
ein Zeitfenster der Länge mindestens RTT zwischen Verdopplungen liegen muss.)
Die zukünftige Form der Verkehrskontrolle ist unklar. Zum jetzigen Zeitpunkt konkurrieren
die folgenden Modifikationsvorschläge miteinander.
HighSpeed TCP (ftp.rfc-editor.org/in-notes/rfc3649.txt) verhält sich wie das konventionelle TCP, wenn das Sliding Window nicht zu groß ist. Auch für große Sliding Windows
wird das AIMD Verfahren beibehalten, allerdings mit aggressiveren Inkrementen und langsamerem Abbremsen.
140
KAPITEL 8. END-TO-END CONGESTION CONTROL
Desweiteren wird Slow Start durch Limited Slow Start ersetzt, wenn TCP mit einem großen
Sliding Window beginnt: Statt die Senderate exponentiell zu steigern, wird die Fenstergröße
nach jedem Acknowledgement um eine Konstante vergrößert. Selbst wenn ein Acknowledgement ausbleibt, wird die Fenstergröße allerdings um eine kleinere Konstante vergrößert.
QuickStart (www.ietf.org/internet-drafts/draft-amit-quick-start-04.txt)
Bei Eröffnung einer Verbindung zwischen Hosts A und B sendet A ein Paket mit einer
gewünschten Emissionsrate. Router auf dem Weg von A nach B können die gewünschte
Emissionsrate billigen, modifizieren oder ablehnen. Host B sendet dann das Ergebnis der
“Router-Umfrage” an A zurück. Sollte die Anfrage abgelehnt werden, wählt A eine DefaultEmissionsrate. Natürlich ist das Ziel, bereits mit einer großen Emissionsrate, beziehungsweise
mit einem großen Sliding Window zu beginnen.
Beide Verfahren sind also konservative TCP-Erweiterungen und die Kritikpunkte (1) und (2)
bleiben bestehen.
Explicit Control Protocol (XCP) geht auf die Publikation [KHR] zurück. Siehe auch
http://www.isi.edu/isi-xcp/ und http://www.ana.lcs.mit.edu/dina/XCP/. XPC verfolgt zwei neue Ansätze. Zuerst verschickt XPC explizite Stauinformationen: Die Router informieren den Sender durch Acknowledgements über den Verstopfungsgrad und erlauben damit
eine der Ursache angepasste Reaktion. Zuletzt behandeln Router Effizienz (möglichst große
Ausnutzung der Bandbreite) und Fairness (möglichst gleichmäßige Aufteilung der Bandbreite) getrennt, was zu einer schnelleren, aber immer noch fairen Bandbreitennutzung führen
soll.
In XCP gibt der Sender A die Größe seines Sliding Windows und die gegenwärtige RoundTrip Time im Paket-Header bekannt und nennt anfänglich seine gewünschte Emissionsrate S.
Jeder Router auf dem Weg modifiziert S aufgrund dieser Information, schreibt die modifizierte
Information in den Paket-Header und reicht das Paket an den nächsten Router weiter. Der
Empfänger B verschickt dann die Empfehlung als Teil des Acknowledgements zurück an A.
Insbesondere kann somit QuickStart als Teil von XCP aufgefasst werden.
Jeder Router R bestimmt für jeden Link die durchschnittliche Round-Trip Time T der über
den Link führenden Pakete. R beginnt jetzt ein Zeitintervall der Länge T mit einer Geschwindigkeitsempfehlung und wartet die nächsten T Schritte ab, um die Konsequenz der bisherigen
Empfehlung einschätzen zu können. Danach wird ein neues Zeitfenster mit aktualisiertem T
aufgemacht und das Vorgehen wiederholt sich.
Die Geschwindigkeitsempfehlung wird vom Effizienz-Controller und dem Fairness-Controller
entworfen. Der Effizienz-Controller bestimmt die freie Bandbreite B am Ende des alten Zeitfensters sowie (im Wesentlichen) die minimale Queuegröße Q während des letzten Zeitfensters
und definiert dann
φ=α·B−β·Q
als zu vergebende, bzw. zu drosselnde Bandbreite für Koeffizienten α, β ∈ [0, 1]. (Die minimale
Queuegröße geht negativ ein, damit die Queue entleert werden kann.)
Der Fairness-Controller wendet AIMD an, um φ auf die Flüsse aufzuteilen:
- Für φ ≥ 0 erhält jeder Fluss dasselbe additive Inkrement.
- Für φ < 0 sinkt die Bandbreite eines jeden Flusses um denselben Faktor.
8.2. ALTERNATIVE GESCHWINDIGKEITSREGELN
141
Beachte, dass für φ = 0 die Effizienz maximiert wurde und damit ein weiterer Fairnessanb
stieg ausgeschlossen ist. Deshalb wird die Bandbreite max{0, 10
− |φ|} des Gesamtflusses zur
Fairness-Umverteilung benutzt (b ist die Bandbreite des Gesamtflusses).
Schließlich müssen wir noch den Fehlerfall ansprechen. Hier verhält sich XCP wie TCP.
XCP ist sogar fairer als das konventionelle TCP, da in TCP eine Umverteilung nur im Fehlerfall geschieht. Desweiteren kann gezeigt werden, dass XCP in einem vereinfachten Modell
(eine strittige Ressource mit n Verbindungen, die die gleiche Round-Trip Time besitzen) gegen
ein Fairness- und Effizienz-Optimum konvergiert.
Experimentelle Untersuchungen [KHR] zeigen, dass XCP eine höhere Bandbreitenausnutzung,
kleinere Queuegrößen und eine geringere Verlustrate besitzt. Gleichzeitig fordert XCP keinen
großen administrativen Aufwand und sollte von Hochgeschwindigkeitsroutern benutzbar sein.
142
KAPITEL 8. END-TO-END CONGESTION CONTROL
Kapitel 9
IP-Traceback
In einer typischen Verbindung kontaktiert ein Rechner einen Webserver mit
der Bitte um Zugang, E-Mail, IP-Ping Anfragen oder Internet Control Message Protocol
(ICMP) Paketen.
In einer Denial-of-Service Attacke schickt ein Angreifer über eine große Zahl gehackter Rechner eine Vielzahl von Anfragen mit falscher Rückadresse an sein Opfer. Die Ressourcen des
Servers werden aufgebraucht und der Server wird lahmgelegt.
Wir stellen uns das Problem, den Weg der angreifenden Pakete zu den gehackten Rechner
zurückzuverfolgen. Man beachte, dass der Paket-Header nur die IP-Adresse des Senders und
des Empfängers bereitstellt und neben dem Hop-Count keine weitere Information über den
zurückgelegten Weg zur Verfügung stellt. Leider lässt das IP-Protokoll zu, das der Sender
seine IP-Adresse eintragen darf und gefälschte IP-Adressen sind somit leicht zu erstellen.
Wir stellen zuerst eine Reihe tatsächlicher benutzter Methoden sowie potentielle Methoden
mit ihren Vor- und Nachteilen vor.
- Anhängen von ID’s der durchlaufenen Router: Dieses sicherste Verfahren scheitert an
der vorgegebenen Maximallänge des Paket-Headers. Desweiteren ist es schwierig eine
Maximallänge für den Weg vorzugeben, da der Angreifer ein gefälschtes Anfangsstück
des Weges einsetzen kann und damit den vorgesehen Platz füllt.
- Filterung: Router bestimmen, ob die Adresse des Senders legal ist. Ein solcher Ansatz ist
für geringes Paketvolumen und kleine Netze adäquat, da dann die Legalität überprüfbar
ist. Allerdings besteht die Gefahr, dass eine legale Adresse gefälscht wird.
- Testen der Links: Der am nächsten zum Opfer liegende Router rekonstruiert die Links,
auf denen der Angriffsverkehr verläuft. Dieses Vorgehen setzt voraus, dass der Angriff
andauert, bzw. dass der Angreifer auf die Rückverfolgung nicht reagieren kann. Desweiteren wird die Rückverfolgung den Routern aufgeladen.
- Logging: Erhaltene und weitergeleitete Pakete werden in einem „Logbuch“ festgehalten. Dieser Ansatz verbraucht enorme Ressourcen und setzt voraus, dass verschiedenste
Provider in der Rückverfolgung kooperieren.
- ICMP Traceback1 : Es wird eine Stichprobe der erhaltenen Pakete angelegt (mit einer
1
ICMP (Internet Control Message Protocol) ist eine Komponente des Internet Layers. Es benutzt das
Internet Layer, um Probleme im Paketversand bekannt zu geben.
143
144
KAPITEL 9. IP-TRACEBACK
Stichprobenwahrscheinlichkeit von z.B. 1/20000). Sodann wird für jedes „gezogene“ Paket eine ICMP-Traceback Nachricht an den Empfänger verschickt, wobei die Nachricht
die Router auf dem Weg zum Empfänger aufführt. Dieser Zugang ist erfolgversprechend,
allerdings wird die geringe Stichprobengröße eine Rekonstruktion behindern und auch
der Angreifer erhält die Möglichkeit gefälschte ICMP-Nachrichten abzuschicken.
Das Modell: Wir repräsentieren das Opfer als Wurzel eines Baums B und Router als innere
Knoten von B. Die inneren Knoten entsprechen potentiellen Angreifern. Unser Ziel ist die
Rekonstruktion der Angriffswege. Wir machen die folgenden Annahmen:
- Ein oder mehrere Angreifer attackieren das Opfer, wobei Angreifer zusammenarbeiten
und über Rekonstruktionsversuche im Bilde sind.
- Pakete können verloren gehen, bzw in anderer Reihenfolge empfangen werden.
- Router müssen ihre Berechnungskraft vorwiegend für den Datentransport einsetzen.
- Angriffe sind nur ernst zu nehmen, wenn sie das Opfer wesentlich behindern.
- Innerhalb kurzer Zeit von einem Angreifer abgeschickte Pakete benutzen im Wesentlichen denselben Weg.
Wir stellen einen ersten Verteidigungsmechanismus vor, der aus einer randomisierten Markierung der Pakete durch die Router des Weges sowie aus einem Rekonstruktionsalgorithmus des
Opfers besteht. Die einzig notwendige Kooperation unter den Routern besteht somit in der
Paket-Markierung und die Rekonstruktion wird allein vom Opfer durchgeführt. Wir müssen
allerdings annehmen, dass der Paket-Header drei zusätzliche Felder zur Verfügung stellt: ein
Start- und Endefeld sowie ein Distanzfeld, die insgesamt bis zu 72 Bits (zweimal 32 Bits für
die IP-Adressen und 8 Bits für das Distanzfeld) verbrauchen. (Die beiden Start- und Endefelder werden die Endknoten einer durchlaufenen Kante festhalten, das Distanzfeld hält den
Abstand zwischen dem Endknoten und dem gegenwärtigen Knoten fest.)
Algorithmus 9.1 Randomisierte Markierung
Wenn ein Router einen zu hohen Distanzwert entdeckt, dann wird er sich im Startfeld
eintragen und das Distanzfeld auf Null setzen. Ansonsten entscheidet sich ein Router R
mit Wahrscheinlichkeit p, ein Paket P zu markieren. Wenn R das Paket markiert, dann
trägt er sich im Startfeld ein und setzt das Distanzfeld auf Null.
Wenn R das Paket nicht markiert und das Distanzfeld den Wert Null hat, dann trägt
sich R in das Endefeld ein. Jeder nicht markierende Router wird das Distanzfeld inkrementieren.
Kommentar: Ein Angreifer besitzt zwar die Möglichkeit, seine Pakete zu markieren, aber
die meisten seiner Pakete werden von Upstream-Routern überschrieben. Selbst wenn ein
vom Angreifer markiertes Paket durchkommt, dann erzwingt die Distanz-Markierung,
dass die tatsächliche Distanz zum Angreifer mindestens so groß ist wie die im Paket
vermerkte Distanz: Es wird dem Angreifer nicht gelingen, den Verdacht auf eine Kante
zwischen ihm und dem Opfer zu lenken, aber es ist durchaus möglich, den Verdacht auf
weiter entfernt liegende Kanten zu lenken.
Algorithmus 9.2 Rekonstruktion durch das Opfer
145
(1) Das Opfer initialisiert einen nur aus der Wurzel bestehenden Baum und trägt sich als
Wurzel ein.
(2) Wenn ein angreifendes Paket mit der Markierung (start, ende, distanz) empfangen wird,
dann setzt das Opfer die Kante (start, ende) ein, falls noch nicht vorhanden und falls
die vermerkte Distanz mit der tatsächlichen Distanz zwischen ende und Opfer übereinstimmt.
Kommentar: Wenn die vermerkte Distanz mit der tatsächlichen Distanz zwischen ende
und Opfer übereinstimmt, dann ist der Angreifer ein Nachfahre des Knotens ende.
(3) Die längsten Wege des Baums zur Wurzel entsprechen den vermuteten Angriffswegen.
Wir stellen die wesentlichen Eigenschaften der beiden Algorithmen zusammen.
Satz 9.3 (a) Wenn sich ein Angreifer im Abstand d vom Opfer befindet, dann wird sein Weg
nach einer erwarteten Anzahl von höchstens
ln(d) + O(1)
p · (1 − p)d−1
Paketen offengelegt. (Wenn p ≈ d1 , dann genügen somit O(d · ln(d)) Pakete. Die Wahrschein1
lichkeit p = 25
wird empfohlen, da Wege nur selten die Länge 25 überschreiten.)
(b) Wenn α Angreifer teilnehmen, dann erhöht sich die für die Rekonstruktion aller Wege
notwendige erwartete Paketzahl um den Faktor α.
Beweis (a): Die Wahrscheinlichkeit, dass das Opfer ein vorgegebenes Paket erhält, das zuletzt
vom iten Router des Weges markiert wurde, ist genau
p · (1 − p)d−i .
Diese Wahrscheinlickeiten werden vom ersten Router minimiert.
Wie lange brauchen wir im Erwartungsfall bis das Opfer für jeden Router R des Weges ein von
R „unterschriebenes“ Paket erhalten hat? Das Coupon Collector Problem gibt die Antwort:
- d verschiedene Coupons müssen gesammelt werden, wobei pi die Wahrscheinlichkeit ist,
den iten Coupon zu ziehen.
- Wenn q = min{pi | 1 ≤ i ≤ d } ist, dann genügt die erwartete Anzahl
Versuchen:
ln(d)+O(1)
q
von
1
q
ist die erwartete Wartezeit bis der Coupon mit niedrigster Wahrscheinlichkeit
gezogen ist. Die Wartezeit bis alle Coupons gezogen sind, ist dann noch mit dem
Logarithmus der Anzahl der Coupons zu multiplizieren.
Also genügt die erwartete Paket-Zahl
ln(d) + O(1)
p · (1 − p)d−1
für die Rekonstruktion. (b) ist offensichtlich.
146
KAPITEL 9. IP-TRACEBACK
Aufgabe 73
Wir untersuchen in dieser Aufgabe die Relevanz einer guten Wahl der Markierungswahrscheinlichkeit p beim
Probabilistic Packet Marking. Wir nehmen an, dass ein Angreifer Pakete entlang eines Weges der Länge d
sendet. Das Ziel ist eine Rekonstruktion des kompletten Weges. Sei W (d) die Wartezeit bis der komplette Weg
bekannt ist.
Wir wissen bereits, dass E[W (d)] = O(d · log(d)) für p = d1 gilt.
(a) Zeige: E[W (d)] = Ω(dk · log(d)) für p =
(b) Zeige: E[W (d)] = ω(dk ) für p =
√1
d
1
dk
und k > 1.
und beliebiges festes k.
Ein Schwachpunkt dieses Verfahrens ist die große Anzahl der in Anspruch genommenen Bits
im Paket-Header. Wir stellen deshalb einige Varianten vor, die die Anzahl benötigter Bits
signifikant reduzieren.
Eine erste Modifikation benötigt statt den beiden Start- und Endefeldern nur ein einziges
Kanten-ID-Feld von 32 Bits und halbiert somit fast die benötigte Bitzahl: Wenn ein Router
R sich entscheidet, ein Paket zu markieren, dann wird der nächste Router R0 des Weges
das XOR R ⊕ R0 berechnen. Wenn das Opfer über den Weg (R1 , . . . , Rk ) angegriffen wird,
dann wird es mit Rk , Rk−1 ⊕ Rk , . . . , Ri ⊕ Ri+1 , . . . markierte Pakete erhalten, die es dann
nacheinander unter Benutzung des Distanzfeldes dekodieren kann.
Aufgabe 74
Wir versuchen den Speicheraufwand von 72 (bzw. 40) Bits weiter zu reduzieren.
(a) Zeige, wie man durch Aufteilung der Adressen in k Fragmente den Speicheraufwand weiter reduzieren
kann. Welche Probleme können hierbei auftreten (wenn Pakete von mehr als einem Angreifer analysiert
werden) und wie kann man diese Probleme umgehen? Welcher Speicherbedarf ist mit dieser Methode
erreichbar?
Wie läuft die Kodierung und Dekodierung der Weginformation ab, wenn das Opfer, ausgehend von einem
einzelnen Angreifer, den Weg vom ersten Router nach dem Angreifer bis zum Opfer rekonstruieren will?
(b) Zeige, dass die erwartete Anzahl eintreffender Pakete (die benötigt werden, um den Weg zu rekonstruieren) bei einer Weglänge l und einer Markierungswahrscheinlichkeit p durch
k · ln(k · l)
p(1 − p)l−1
nach oben beschränkt ist.
Eine substantielle Verbesserung kann nicht erreicht werden, wenn nur die Typen verschiedener
Nachrichten, nicht aber ihre Anzahl festgehalten wird:
Lemma 9.4 Das Opfer sei die Wurzel eines vollständigen binären Baums der Tiefe n und
ein Angreifer befinde sich auf einem unbekannten Blatt des Baums. Jedes Paket besitze ein
Markierungsfeld von b Bits, das durch die Router des durchlaufenen Wegs beschreibbar ist.
Der Inhalt des Markierungsfelds definiere den Typ des Pakets.
Wenn das Opfer nur die Typen der erhaltenen angreifenden Pakete festhält und nicht deren
jeweilige Anzahl, dann muss b ≥ log2 (n − 1) gelten, damit das Opfer das angreifende Blatt
mit Wahrscheinlichkeit mindestens 12 rekonstruieren kann.
b
Beweis: Es gibt 2b verschiedene Pakettypen und 22 verschiedene Teilmengen von Pakettypen. Das Opfer muss aus der Teilmenge der erhaltenen Pakettypen auf das angreifende Blatt
zurückschließen können. Wenn dieser Rückschluss auf eines der 2n Blätter mit Wahrscheinlichkeit mindestens 12 gelingen soll, dann muss die Anzahl dieser Teilmengen mindestens 2n /2
betragen und
2n
b
22 ≥
2
147
folgt. Nach zweimaligem Logarithmieren erhalten wir b ≥ log2 (n − 1).
Wir zeigen jetzt, dass das Zählen der erhaltenen Nachrichten pro Typ einen entscheidenden
Vorteil bringt. Allerdings wird dieses Schema nur für ein angreifendes Blatt erfolgreich sein
und wir müssen auf das Markierungsschema von Algorithmus 9.1 für den allgemeinen Fall
zurückgreifen.
Wir nehmen der Einfachheit halber an, dass das Opfer der Wurzel eines binären Baums der
Tiefe n entspricht. (Diese Annahme kann entfernt werden und dient nur einer einfacheren
Beschreibung.) Unser Ziel ist die Rekonstruktion des angreifenden Blatts mit einem einzigen
Bit! Da wir in einem binären Baum arbeiten, dessen Kanten wir uns Null/Eins markiert
vorstellen, wird der Angreifer durch einen unbekannten binären String B = (B1 , . . . , Bn )
beschrieben. Unser neues Markierungsschema wird die Wahrscheinlichkeit p, dass das Opfer
ein mit Eins markiertes angreifendes Paket erhält, so steuern, dass vom Wert von p auf den
Bitstring B zurückgeschlossen werden kann. Ein solcher Rückschluss ist zum Beispiel dann
P
trivial, wenn p = ni=1 Bi · 2−i . Für die Dekodierung eines ähnlichen Schemas benötigen wir
die folgende Beobachtung:
Lemma 9.5 Unbekannte Bits B1 , . . . , Bn sind vorgegeben sowie bekannte reelle Zahlen p, σ
und c1 , . . . , cn mit den folgenden Eigenschaften:
(1) |p −
Pn
i=1 ci
· Bi | ≤ σ,
(2) für jedes i (1 ≤ i ≤ n − 1) gilt ci > 2 · σ +
Pn
j=i+1 cj
und
(3) cn > 2 · σ.
Dann kann die Bitfolge (B1 , . . . , Bn ) aus der Folge (p, σ, c) rekonstruiert werden.
Beweis: Es genügt zu zeigen, dass Bit Bi rekonstruiert werden kann, wenn B1 , . . . , Bi−1
bereits rekonstruiert wurden. Wir behaupten, dass cn−k > 2k+1 · σ als Konsequenz der Eigenschaften (2) und (3) folgt. Wir führen ein induktives Argument und stellen zuerst cn > 21 · σ
mit Eigenschaft (3) fest. Der Induktionsschluss folgt unmittelbar, da mit Eigenschaft (2)
cn−k > 2 · σ +
k−1
X
cn−j > 2 · σ +
j=0
k−1
X
2j+1 · σ = 2k+1 · σ
j=0
gilt. Insbesondere ist also stets ci > 0.
Fall 1: p − i−1
j=1 cj · Bj ≥ ci − σ. Wir wenden wieder Eigenschaft (2) an und erhalten
Pi−1
P
p − j=1 cj · Bj ≥ ci − σ > σ + nj=i+1 cj . Also folgt
P
p−
i−1
X
j=1
cj · Bj −
n
X
cj · Bj ≥ p −
j=i+1
i−1
X
cj · Bj −
j=1
n
X
cj > σ.
j=i+1
Da Eigenschaft (1) für Bi = 0 verletzt wird, ist zwangsläufig Bi = 1.
Fall 2: p −
Pi−1
j=1 cj
p−
· Bj < ci − σ. Diesmal ist
i−1
X
j=1
cj · Bj − ci · Bi −
n
X
j=i+1
cj · Bj ≤ p −
i−1
X
j=1
cj · Bj − ci · Bi
148
KAPITEL 9. IP-TRACEBACK
und Eigenschaft (1) wird für Bi = 1 verletzt: Es ist zwangsläufig Bi = 0.
Sei r = 12 − ε für ein später zu bestimmendes ε. Wir entwerfen ein Markierungsschema, das
Pn
−i
i=1 Bi · r /2 als Wahrscheinlichkeit einer vom Opfer erhaltenen Eins erzwingt. Sei Rn das
angreifende Blatt und sei Ri der ite Router auf dem Weg zur Wurzel R0 .
Algorithmus 9.6 Randomisierte Markierung mit einem Bit
Ri erhält ein Paket von Router Ri+1 . Das im Paket enthaltene Bit sei Ci . Der Router
Ri bestimmt das Bit Bi , das die Kante zum Kind Ri+1 beschriftet.
Wenn (Bi , Ci ) = (0, 0), dann wird das Bit Ci mit Null überschrieben. Wenn (Bi , Ci ) =
(0, 1) (bzw. (Bi , Ci ) = (1, 0) oder (Bi , Ci ) = (1, 1)), dann wird Ci mit Wahrscheinlichkeit
r (bzw. 21 oder 1 − ε) durch eine Eins ersetzt. Ist der Münzwurf nicht erfolgreich, dann
wird Ci durch eine Null ersetzt. Das modifizierte Paket wird an Ri−1 weitergeleitet.
Wir überprüfen zuerst, dass das Opfer auch tatsächlich eine Eins mit der gewünschten WahrP
scheinlichkeit ni=1 Bi · ri−1 /2 erhält. Für t ∈ {0, 1} sei pti die Wahrscheinlichkeit, dass Router
Ri das Bit Ci = 1 erhält, wenn der Angreifer zu Anfang das Paket mit dem Bit t markiert
hat.
Wenn Bi = 0, dann ist pti−1 = r · pti . Für Bi = 1 hingegen ist pti−1 = 21 · (1 − pti ) + (1 − ε) · pti =
1
1
1
t
t
2 + ( 2 − ε) · pi = 2 + r · pi . Also ist
pti−1 = r · pti + Bi ·
und wir erhalten
pt0 = t · rn +
n
X
1
2
Bi · ri−1 /2
i=1
durch Induktion. Für die Analyse von Algorithmus 9.6 müssen wir weiterhin sicherstellen,
dass wir bei hinreichend großer Paketzahl P hochwahrscheinlich eine scharfe Approximation
P
p von ni=1 Bi · ri−1 /2 = pt0 − t · rn = p00 erhalten. Wenn x die Anzahl der Pakete mit Bit 1
ist, dann geben wir p = Px − rn /2 als Schätzung an.
Wir haben uns damit, unabhängig von der Wahl des vom Angreifer eingesetzten Bits, bereits
den Fehler rn /2 eingehandelt. Dieser Verlust ist unvermeidlich, denn der erwartete Anteil
P
P
p∗ der Einsen liegt im Intervall [ ni=1 Bi · ri−1 /2, rn + ni=1 Bi · ri−1 /2] = [p00 , p10 ] und der
Angreifer kontrolliert den exakten Wert. Wir machen den Ansatz
P = 3 · ln(2/δ)/(ε2 · r2·n )
und untersuchen die Wahrscheinlichkeit, dass |p − p∗ | >
Variante der Chernoff-Schranke liefert dann die Schranke
prob[ |p − p∗ | >
rn
2
+ ε · rn . Die Anwendung einer
rn
+ ε · rn ] ≤ δ.
2
Wir dekodieren mit Hilfe von Lemma 9.5 und zeigen zuerst, dass die Eigenschaften von Lemma
n
9.5 für p, σ = r2 + ε · rn und ci = ri−1 /2 mit Wahrscheinlichkeit mindestens 1 − δ erfüllt
sind. Eigenschaft (1) ist eine Konsequenz der Chernoff-Schranke. Für Eigenschaft (3) müssen
n
wir r2 + ε · rn < cn /2 = rn−1 /4 fordern. Diese Forderung ist äquivalent zu der Ungleichung
r · ( 12 + ε) < 1/4, die wegen r = 21 − ε erfüllt ist. Eigenschaft (2) folgt aus Eigenschaft (3), da
P
ci − nj=i+1 cj > cn .
149
Satz 9.7 Algorithmus 9.6 erlaubt die Rekonstruktion eines Weges, wenn mindestens P =
3 · ln(2/δ)/(ε2 · r2·n ) Pakete vom Opfer erhalten werden.
Die Anzahl der Pakete ist von der Form O((2 + ε0 )2·n ) und damit zu groß für praktische
Anwendungen. Allerdings kann unser Schema für b Bits so modifiziert werden, dass die notb
wendige erwartete Paketzahl auf ungefähr O((2 + ε0 )4·n/2 ) gedrückt wird. Aber der etwas
verschwenderische Algorithmus 9.1 bleibt überlegen, da er mehrere Angreifer verkraftet.
150
KAPITEL 9. IP-TRACEBACK
Teil III
Die Theorie nicht-kooperativer
Spiele
151
Kapitel 10
Algorithmische Spieltheorie
Das Internet kann als ein verteiltes, dezentrales System von eigensüchtigen Agenten aufgefasst
werden. Besitz, Betrieb und Benutzung von Ressourcen durch viele unabhängige Agenten verleiht dem Internet den Charakter eines ökonomischen Systems1 . Der Entwurf von Methoden
für die Beherrschung dieses Systems verlangt neben konventionellen informatischen Techniken wie Algorithmen- und Protokollentwurf auch die Einbeziehung von spieltheoretischen
Konzepten.
In der Spieltheorie werden Spiele untersucht, in denen unabhängige Spieler versuchen, ihren Gewinn zu maximieren. Anwendungen finden sich immer dann, wenn das Resultat einer
individuellen Entscheidung nicht allein von dieser Entscheidung abhängt, sondern von den
Entscheidungen aller Mitspieler:
- Wie sollte der Preis eines neuen Produkts bei Markteinführung gewählt werden, wenn
Mitbewerber bereits ähnliche Produkte anbieten?
- Sollte ein Land eine harte oder eher konziliante Linie in seiner Außenpolitik vertreten?
- Wie sollte sich ein Bieter in einer Auktion verhalten?
- Wie sollten Wege in einem Transportnetz gewählt werden?
Häufig führen Spielsituationen zu nicht wünschenwerten Resultaten. Die Spieltheorie fragt
deshalb auch, ob Systeme von Anreize geschaffen werden können, um sozial erwünschtes
Verhalten hervorzurufen.
Allerdings sind viele Ergebnisse der Spieltheorie existentiell und lassen eine effiziente Berechnung optimaler Strategien ungeklärt. In der Informatik wird größtenteils entweder angenommen, dass Spieler gehorsam sind und nach vorher festgelegten Regeln spielen oder aber ein
gegnerisches worst-case Verhalten zeigen; eine algorithmische Untersuchung von Anreizen und
ihren Konsequenzen fehlte vollständig. Der Entwurf von Protokollen in der Informatik ist sicherlich wesentlich; es muss aber auch sichergestellt werden, dass die Protokolle befolgt werden
und dazu ist eine Verbindung spieltheoretischer und informatischer Methoden hilfreich.
Das Ziel dieses Kapitels ist zum Einen die Analyse einiger wichtiger spieltheoretischer Methoden vom Standpunkt der Algorithmik und damit die Beschreibung der Anfänge einer algorithmischen Spieltheorie. Zum Anderen sollen spieltheoretische Methoden in informatische
1
Zum Beispiel scheinen gerade kommerzielle Überlegungen dafür maßgeblich zu sein, dass Multicast nur
eingeschränkt zur Verfügung steht.
153
154
KAPITEL 10. ALGORITHMISCHE SPIELTHEORIE
Protokolle eingebettet werden, um dem eingangs erwähnten Aspekt des Internets als Marktplatz gerecht zu werden. Insbesondere möchten wir untersuchen, wie weit die Konsequenzen
egoistischen Verhaltens, bzw. sozial erwünschten Verhaltens voneinander abweichen. Weitere
Ziele bestehen im Entwurf von einfachen verteilten Systemen von Anreizen und Regeln, um
zu erzwingen, dass eigensüchtiges Verhalten zu sozial erwünschtem Verhalten wird.
Beispiel 10.1 Internet Routing ist eine erste Anwendung. Internet Service Provider halten
sich gegenwärtig an das BGP-Protokoll und befördern Transit-Verkehr nach Absprachen unter
den Providern. Die Beförderung fremder Pakete ist im eigenen Interesse, da ja auch eigene
Pakete durch fremde ISP’s weitergeleitet werden sollen.
Ein einheitliches Bezahlsystem fehlt aber und wird durch Ad-hoc Absprachen ersetzt. Dies
führt dazu, dass Inter-Domain Routing nicht effizient ist: Anstatt einen kürzesten Weg zu
wählen, wird nur angestrebt, ein Paket schleifenfrei weiterzuleiten. Sollte der Internet Verkehr
weiter zunehmen, dann wird sich das Verhalten der ISP’s ändern müssen und Methoden der
Spieltheorie können Anwendung finden, um zum Beispiel ISP’s dazu zu bewegen, ihre wahren
Weiterleitungskosten offenzulegen. Zusätzliche Komplexität entsteht, da diese „Mechanismen“
über verteilte Algorithmen zu implementieren sind.
Wir setzen im Folgenden voraus, dass sich die Spieler rational2 verhalten und versuchen, ihre
jeweilige Auszahlung zu maximieren, ohne miteinander Absprachen zu treffen. Wir stellen
zuerst verschiedene Spieltypen vor und beginnen mit der „einfachen“ Klasse der 1-Zug Spiele,
in der die n Spieler unabhängig voneinander jeweils einen einzigen Zug ausführen.
Definition 10.1 Ein Spiel in Normalform wird durch ein Tripel (n, S, U ) repräsentiert.
- n ist die Anzahl der Spieler,
- S = (Sp | 1 ≤ p ≤ n) ist der Vektor der möglichen Strategien der einzelnen Spieler. Wir
nehmen an, dass jede Strategiemenge Sp endlich ist.
- U = (up | 1 ≤ p ≤ n) ist ein Vektor von Funktionen up : ×ni=1 Si → R, wobei
up (s) die Auszahlung für Spieler p beschreibt, wenn die Spieler das Strategieprofil
s = (s1 , . . . , sn ) ∈ ×ni=1 Si benutzen.
In dieser Formulierung versuchen die Spieler, ihre Auszahlung zu maximieren. Wenn es
darum geht Kosten zu minimieren, verwenden wir Kostenfunktionen cp : ×ni=1 Si → R.
Das Spiel (n, S, U ) heißt ein Nullsummenspiel, wenn
n
X
up (s) = 0
p=1
für jedes Strategieprofil s = (s1 , . . . , sn ) ∈ ×ni=1 Si gilt. In Zwei-Personen Spielen stimmt also
stets der Gewinn des ersten Spielers mit dem Verlust des zweiten Spielers überein.
Beispiel 10.2 Das Ampel-Spiel
Wir modellieren das Verhalten von Autofahrern vor einer roten Ampel, wobei Spieler 1 ein
individueller Autofahrer ist und Spieler 2 für die restlichen Verkehrsteilnehmer steht. Beide
2
Gerade wegen der Annahme unbeschränkter Rationalität wird die Spieltheorie kritisiert. Diese Kritik gilt
für Spieler mit großer Rechenkraft natürlich nur in entsprechend eingeschränktem Maße.
155
Spieler haben die Optionen zu „gehorchen“ bzw. „die Ampel zu überfahren“. Wenn ein Spieler
gehorcht, dann muss er die Wartezeit t in Kauf nehmen; überfahren beide Spieler die rote
Ampel, dann müssen beide Spieler die Stauzeit T >> t in Kauf nehmen. Überfährt schließlich
genau ein Spieler die rote Ampel, muss der gehorsame Spieler die Zeit t+T wartend verbringen.
Wir modellieren dieses Zwei-Personen Spiel durch eine Spielmatrix. Die beiden Strategien von
Spieler 1 (bzw 2), also Anhalten oder Überfahren, werden in den beiden Zeilen und Spalten
festgehalten. Jeder Eintrag gibt die Zeitstrafe für beide Spieler wieder, die Spieler versuchen
also ihre Kosten –die Haftstrafen– zu minimieren. In unserem Ampel-Spiel ergibt sich dann
die Spielmatrix
Anhalten Überfahren
Anhalten
t, t
t + T, 0
Überfahren
0, t + T
T, T
Die rationale Entscheidung von Spieler 1 ist ein Überfahren der roten Ampel, denn Spieler
1 steht sich beim Überfahren, unabhängig vom Gegenzug, besser. (Wir sagen auch, dass die
erste Zeile von der zweiten Zeile dominiert wird.)
Um ein sozial akzeptables Verhalten zu erzwingen, muss das Spiel somit umdefiniert werden.
Dies kann zum Beispiel dadurch erreicht werden, dass eine (Zeit-)Strafe S für das Überfahren
zu entrichten ist. Wenn p die Wahrscheinlichkeit ist, geschnappt zu werden, dann ergibt sich
aus der Sicht von Spieler 1 die Spielmatrix
Anhalten
Überfahren
Anhalten Überfahren
t
t+T
p·S
T +p·S
und Anhalten ist profitabel, falls p · S > t.
Dieses Spiel beschreibt die Problematik der Erstellung von Internet Protokollen: Besitzer
von Ressourcen sollen dazu bewegt werden, ihre Ressourcen zu teilen und Anwender sollen
dazu bewegt werden, Regeln zu folgen. Protokolle müssen dazu geeignete Kombinationen von
Belohnungen und Strafen ausgeben.
Obwohl Spiele in Normalform auf den ersten Blick nur die sehr eingeschränkte Klasse der 1Zug Spiele beschreiben, lassen sich auch komplizierte Mehrzug Spiele als Spiele in Normalform
auffassen. Als ein erstes Beispiel betrachten wir Spiele in extensiver Form mit vollständiger
Information.
Beispiel 10.3 Spiele in extensiver Form mit vollständiger Information
Ein Spielbaum T beschreibt die Spielregeln: jeder innere Knoten von T ist mit einem Spieler
markiert und die Blätter sind mit jeweils einem Auszahlungsvektor beschriftet. Wenn Knoten
v mit Spieler p markiert ist, dann muss Spieler p ein Kind von v als seinen Zug angeben.
Dementsprechend ist Sp die Menge aller Funktionen, die für jeden mit p beschrifteten Knoten
ein Kind auswählen.
Ein Strategieprofil s = (s1 , . . . , sn ) ∈ ×ni=1 Si wählt für jeden inneren Knoten genau ein Kind
aus und beschreibt somit einen eindeutigen Weg von der Wurzel in T zu einem Blatt b in T .
Wenn b mit dem Auszahlungsvektor (x1 , . . . , xn ) beschriftet ist, dann setzen wir up (s) = xp .
Spiele in extensive Form mit vollständiger Information lassen sich also als Spiele in Normalform auffassen.
156
KAPITEL 10. ALGORITHMISCHE SPIELTHEORIE
Da Schach ein extensives Spiele mit vollständiger Information ist, können wir Schach auch als
ein Spiel in Normalform auffassen: Strategien geben für jede Brettkonfiguration einen Zug an
und die Veröffentlichung von Strategien für die Spieler „Weiß“ und „Schwarz“ definiert also
ein bestimmtes Spiel.
Spiele wie Poker oder Skat werden von der Klasse der Spiele in extensiver Form mit unvollständiger Information erfasst.
Beispiel 10.4 Spiele in extensiver Form mit unvollständiger Information
Wie im Fall vollständiger Information werden die Spielregeln durch einen Spielbaum T beschrieben. Diesmal sind auch die Kanten (mit Buchstaben eines Alphabets) beschriftet und
zwar so, dass jeder innere Knoten mit seinen Kindern über Kanten mit paarweise verschiedenen Buchstaben verbunden ist. Zusätzlich werden die Knoten von T in Informationsbezirke
mit den folgenden Eigenschaften zerlegt:
- In allen Knoten eines Informationsbezirks ist immer derselbe Spieler am Zug und es
stehen immer die gleichen Züge zur Auswahl.
- Jeder Informationsbezirk wird in einem Spiel höchstens einmal durchlaufen.
Eine Strategie für Spieler p beschreibt jetzt für jeden Informationsbezirk, in dem p am Zug
ist, welchen Zug, also welchen Buchstaben, Spieler p wählt. Ein ziehender Spieler weiß also
nicht unbedingt, in welchem Knoten eines Informationsbezirks das Spiel sich gerade befindet.
Ein Strategieprofil s = (s1 , . . . , sn ) ∈ ×ni=1 Si beschreibt wiederum einen eindeutigen Weg von
der Wurzel in T zu einem Blatt in T und wir können die Auszahlungsfunktionen wie in Spielen
mit vollständiger Information definieren.
Aufgabe 75
Zeige, dass sich jedes Spiel in Normalform als ein extensives Spiel mit unvollständiger Information auffassen
lässt.
Mit unserem letzten Beispiel erfassen wir auch Spiele mit Zufallskomponenten wie etwa Roulette.
Beispiel 10.5 Spiele mit Zufallszügen
Wir lassen jetzt auch Zufallszüge zu, die keinem Spieler zugeordnet werden. Als Modell wählen
wir Spiele in extensiver Form mit unvollständiger Information. Der Spielbaum erhält jetzt neben den Informationsbezirken auch Zufallsknoten, wobei jedem Zufallsknoten eine Verteilung
zugeordnet ist, die die Wahrscheinlichkeit der Kinder beschreibt.
Eine Strategie für Spieler p beschreibt weiterhin für jeden Informationsbezirk, in dem p
am Zug ist, welchen Zug, also welchen Buchstaben, Spieler p wählt. Ein Strategieprofil
s = (s1 , . . . , sn ) ∈ ×ni=1 Si beschreibt jetzt einen mit der Wurzel beginnenden Teilbaum, der
nur in Zufallsknoten verzweigt. Die Auszahlung an Spieler p ist als die erwartete Auszahlung
(über alle Blätter des Teilbaums) definiert.
Bisher haben wir nur nicht-kooperative Spiele kennengelernt. In der Spieltheorie werden auch
kooperative Spiele betrachtet, also Spiele in denen Spieler mit- oder gegeneinander koalieren
können. Wir werden uns aber im Folgenden auf nicht-kooperative Spiele beschränken.
Kapitel 11
Das Nash-Gleichgewicht
Gibt es Strategie-Profile, die für die jeweiligen Spieler optimal sind?
Definition 11.1 (n, S, U ) sei ein Spiel in Normalform.
(a) s = (s1 , . . . , sn ) ∈ S1 × · · · × Sn sei ein Strategie Profil. Dann bezeichnet (s−i , t) das
Strategie Profil s mit si durch t ersetzt, d.h.
(s−i , t) = (s1 , . . . , si−1 , t, si+1 , . . . , sn ) ∈ S1 × · · · × Sn .
(b) Eine Strategie s für Spieler p dominiert Strategie t strikt, wenn up (r−p , s) > up (r−p , t) für
alle Strategie Profile r gilt. Im Fall einer schwachen Dominanz muss up (r−p , s) ≥ up (r−p , t)
gelten.
(c) Eine Strategie s ist dominant für Spieler p, wenn s alle anderen Strategien für p schwach
dominiert.
Im Ampel-Spiel aus Beispiel 10.2 ist die Strategie des Überfahrens für jeden Spieler dominant,
wenn keine Zeitstrafen zu entrichten sind. Bei entsprechend gewählter Zeitstrafe wird die
Strategie des Anhaltens dominant.
Ist es für die Spieler stets vorteilhaft, dominante Strategien zu wählen, wenn es dominante
Strategien gibt? Sicherlich, wenn die Spieler gegeneinander spielen, also ihre Strategie genau
dann ändern, wenn es zu ihrem Vorteil ist. Gibt es denn stets dominante Strategien?
Beispiel 11.1 Koordinationsspiele
Wir betrachten zuerst das Koordinationsspiel „Battle of the Sexes“. Ein Junge und ein
Mädchen möchten den Abend miteinander verbringen. Es bieten sich zwei Möglichkeiten
an, nämlich der Besuch eines Footballspiels, bzw. der Besuch einer Balletveranstaltung. Der
Junge zieht das Footballspiel vor, das Mädchen das Ballet; beide ziehen es aber vor, den
Abend gemeinsam und nicht getrennt voneinander zu verbringen.
Die Spielmatrix könnte zum Beispiel die folgende Form besitzen, wenn der Junge eine Zeile
und das Mädchen eine Spalte auswählen muss:
Football
Ballet
Football Ballet
6, 4
2, 2
0, 0
4, 6
157
158
KAPITEL 11. DAS NASH-GLEICHGEWICHT
Kein Spieler besitzt dominante Strategien!
Auch in dem folgenden „Stauspiel“, gewissermaßen dem Gegenteil von Battle of the Sexes,
gibt es keine dominaten Strategien. Jeder von zwei Paketflüssen, kontrolliert von den Spielern 0
und 1, müssen entweder an den Router A oder an den Router B weitergeleitet werden. Werden
beide Flüsse an denselben Router weitergeleitet, ergibt sich eine starke Verzögerung durch
Überlast des betroffenen Routers. Die folgende Spielmatrix gibt die jeweiligen Verzögerungen
wieder; Spieler 0 muss eine Zeile und Spieler 1 eine Spalte wählen.
A
B
A
6, 6
2, 2
B
2, 2
6, 6
Wir können dominierte reine Strategien entfernen ohne dass die erzielbare Auszahlung des
betroffenen Spielers sinkt. In der iterativen strikten Dominanz werden reine, strikt dominierte Strategien für alle Spieler solange entfernt, bis keine Strategie mehr strikt dominiert
wird. Derselbe Eliminierungsprozess kann auch für schwach dominierte Strategien durchgeführt werden, die Menge entfernter Strategien hängt aber diesmal von der Reihenfolge der
Eliminierungsschritte ab.
Aufgabe 76
Zeige, dass die Menge entfernter Strategien in der iterativen strikten Dominanz nicht von der Reihenfolge der
Eliminierungsschritte abhängt.
Zeige, dass alle gemischten Strategien, die eine strikt (bzw. schwach) dominierte Strategie mit positiver Wahrscheinlichkeit besitzen, ebenfalls strikt (bzw. schwach) dominiert werden.
Es gibt also Spiele, die keine dominanten Strategien besitzen. Gibt es aber stets Strategieprofile, so dass sich kein Spieler verbessern kann, wenn er eine andere Strategie wählt?
Definition 11.2 (n, S, U ) sei ein Spiel in Normalform und s = (s1 , . . . , sn ) ∈ S1 × · · · × Sn
ein Strategie Profil. Dann ist s ein Nash-Gleichgewicht, wenn
up (s) ≥ up (s−p , s∗p )
für alle Spieler p und für alle Strategien s∗p ∈ Sp gilt.
In einem Nash-Gleichgewicht s = (s1 , . . . , sn ) ist es also nicht vorteilhaft für Spieler p, wenn
er seine Strategie sp ändert. Man sollte deshalb erwarten, dass hinreichend viele wiederholte
Spiele bei egoistischen Spielern letztlich in einem Nash-Gleichgewicht enden.
Nash-Gleichgewichte verallgemeinern den Begriff dominanter Strategien: Wenn das Strategieprofil s = (s1 , . . . , sn ) nur aus dominanten Strategien besteht, dann ist s ein NashGleichgewicht.
Beispiel 11.2 Im Koordinationsspiel „Battle of the Sexes“ haben wir die Spielmatrix
Football
Ballet
Football Ballet
6, 4
2, 2
0, 0
4, 6
erhalten. Man überzeuge sich, dass die Strategieprofile (Football, Football) und (Ballet, Ballet) die einzigen Nash-Gleichgewichte sind.
11.1. SOZIALE UND PARETO-OPTIMALE STRATEGIEPROFILE
11.1
159
Soziale und Pareto-optimale Strategieprofile
Wie die beiden nächsten Spiele zeigen, kann die Wahl einer dominanten Strategie für kooperierende Spieler elendig schlecht sein.
Beispiel 11.3 Das Gefangenen-Dilemma
Zwei Gefangene werden in getrennten Zellen festgehalten. Es gibt genug Indizien, um jeden
der beiden eines geringen Vergehens (mit einem Jahr Haft) zu überführen. Allerdings wird
vermutet, dass beide ein größeres Verbrechen (mit vier Jahren Haft zu ahnden) verübt haben.
Geben beide keine Auskunft, dann werden beide zu einem Jahr Haft verurteilt. Gesteht einer,
während der andere schweigt, dann wird der Gestehende freigelassen und sein Partner zu vier
Jahren Haft verurteilt. Wenn beide gestehen, dann werden beide zu 3 Jahren Haft verurteilt.
Die Spielmatrix hat also die folgende Form
Gestehen
Schweigen
Gestehen Schweigen
3, 3
0, 4
4, 0
1, 1
Die Strategie des Gestehens ist offensichtlich für jeden Spieler dominant. Das für beide Spieler
profitablere Strategieprofil (Schweigen, Schweigen) lässt sich somit mit dominanten Strategien
nicht erreichen.
Wir beschreiben als Nächstes eine Mehrspieler-Variante des Gefangenen Dilemmas. Jeder von
n verschiedenen Staaten hat die Option, die Luftverschmutzung mit Schutzmaßnahmen von
3 Milliarden Euro einzudämmen. Führt ein Staat S keine Schutzmaßnahmen durch, dann
muss jeder Staat 1 Milliarde Euro an Gesundheitskosten nur für die von Staat S verursachten
Schäden aufbringen.
Wenn also genau k der n Staaten Schutzmaßnahmen durchführen, dann muss jedes dieser k
Staaten insgesamt n − k + 3 Milliarden Euro aufbringen, während die Verschmutzer nur n − k
Milliarden Euro tragen.
Wir haben nur ein einziges Nash-Gleichgewicht, nämlich die dominante Strategie der Nichtausführung von Schutzmaßnahmen in allen n Staaten. Man beachte, dass jeder Staat in diesem Fall Mittel in Höhe von n Milliarden Euro aufbringen muss, aber nur 3 Milliarden Euro
bezahlen müsste, wenn alle Staaten Schutzmaßnahmen ausführen.
Beispiel 11.4 Tragedy of the Commons
n Spieler möchten ihre Daten über einen Kanal mit maximaler Kapazität 1 schicken. Sei
P
K = ni=1 xi . Wenn Spieler i die Bandbreite xi beansprucht, und wenn K < 1 gilt, dann ist
xi ·(1−K) sein Nutzen: Die Geschwindigkeit des Kanals nimmt mit steigender Beanspruchung
ab.
Wie sehen die Nash-Gleichgewichte aus? Sei Ki = K − xi . Der Nutzen xi · (1 − K) = xi ·
(1 − Ki − xi ) von Spieler i wird für xi = (1 − Ki )/2 maximiert. Ein Nash-Gleichgewicht muss
also das Gleichungssystem xi = (1 − Ki )/2 erfüllen und somit mit der eindeutigen Lösung
xi = 1/(n + 1) übereinstimmen. Der Nutzen für Spieler i beträgt also
1
n
1 2
· (1 −
)=(
) ,
n+1
n+1
n+1
ein sehr geringer Wert im Vergleich zum Nutzen Θ( n1 ) für xi =
1
2n .
160
KAPITEL 11. DAS NASH-GLEICHGEWICHT
In einem Nash-Gleichgewicht hat jeder Spiel die beste Reaktion auf die Strategie seiner Gegenspieler gefunden. Wie wir aber im Gefangenen Dilemma wie auch in Tragedy of the Commons
gesehen haben, können Nash-Gleichgewichte sehr viel weniger profitabel als „sozial optimale“
Strategieprofile sein: Egoismus kann eine sehr kurzsichtige Strategie sein, ist aber das einzig
sinnvolle Vorgehen, wenn die Gegenspieler egoistisch sind.
Definition 11.3 Sei (n, S, U ) ein Spiel in Normalform.
(a) Ein Strategieprofil s ist genau dann sozial optimal, wenn die Summe der Auszahlungen
an alle Spieler größtmöglich ist.
u(s)
(b) Der Preis der Anarchie ist der Wert des Quotienten u(N
) , wobei u(N ) die Summe aller
Auszahlungen in einem schlechtesten Nash-Gleichgewicht N und u(s) die Summe aller
Auszahlungen in einem sozialen Optimum s ist.
Im Gefangenen Dilemma ist die Strategie des Schweigens sozial optimal und weitaus profitabler als das Nash-Gleichgewicht des Gestehens; insbesondere ist der Preis der Anarchie genau
6
2 = 3. (Beachte, dass im Gefangenen Dilemma nicht Auszahlungen zu maximieren, sondern
Strafen zu minimieren sind.)
Beispiel 11.5 Pigou’s Routing Problem
Wir betrachten den nur aus den beiden Knoten s und t bestehenden Graphen G. G besitze
zwei von s nach t gerichtete Kanten e und f . Die Kante e besitze die Latenz l1 (x) = x und
die Kante f die Latenz l2 (x) = 1. Zwei Spieler möchten jeweils einen Fluss mit Emissionsrate
1
2 von s nach t schicken.
e
s
t
f
Abbildung 11.1: Ein schlechtestes Nash-Gleichgewicht.
Die optimale Lösung teilt den Gesamtfluss gleichmäßig auf die beiden Kanten auf und erreicht
die Kosten 12 · 12 + 12 · 1 = 43 . In dieser Lösung sieht sich der Spieler benachteiligt, dessen
Nachrichten über die langsame Kante f geleitet werden: Seine Kosten sind 21 im Vergleich zu
den Kosten 14 seines „Kontrahenten“ und er wird seinen Fluss ebenfalls über die (zum jetzigen
Zeitpunkt) schnellere Kante e transportieren. Wenn aber der Gesamtfluss über die Kante e
geleitet wird, dann erhalten wir die höheren Kosten 1. Da aber kein Spieler gewinnt, wenn er
die Kante f in Anspruch nimmt, entspricht die Leitung des Gesamtflusses über die Kante e
1
einem Nash-Gleichgewicht und der Preis der Anarchie ist hier 3/4
= 43 .
Beispiel 11.6 Das Braess Paradox
Warum können Verkehrsstaus durch den Bau neuer Straßen zunehmen statt abzunehmen?
Wir betrachten den Graphen G = ({s, a, b, t}, {(s, a), (a, t), (s, b), (b, t)}) mit der Quelle s, den
Zwischenknoten a und b sowie der Senke t. Die Kanten (s, a) und (b, t) besitzen die Latenz
l(x) = x, während die beiden übrigen Kanten (s, b) und (a, t) die Latenz 1 besitzen mögen;
die Kanten (s, a) und (b, t) sind also bei einer Belastung von höchstens 1 im Vergleich zu (s, b)
und (a, t) wesentlich schneller.
11.2. GEMISCHTE STRATEGIEN
161
Wir nehmen an, dass zwei Spieler einen Fluss von jeweils 21 von s nach t schicken möchten
und erhalten einen Nash-Fluss mit den Kosten 2 · ( 12 · 21 + 12 ) = 23 , wenn wir die beiden Flüsse
gleichmäßig auf die beiden Wege s → a → t und s → b → t verteilen. Dieser Nash-Fluss ist
auch ein optimaler Fluss.
a
x
1
0
s
1
t
b
x
Abbildung 11.2: Neue Schnellstrassen können den Verkehr verlangsamen.
Jetzt verbessern wir den Graphen durch die Hinzunahme der superschnellen Verbindung (a, b)
mit Latenz 0. Jeder Spieler wird die (zum jetzigen Zeitpunkt) schnelle Kante (s, a) wählen
und über die Kante (a, b) auf die (noch) schnelle Kante (b, t) wechseln. Da keiner der Spieler
einen Anreiz hat, den Weg s → a → b → t zu wechseln, entspricht der Weg einem NashFluss. Durch die Verbesserung des Graphen haben sich die Kosten von vorher 32 auf jetzt
1 + 0 + 1 = 2 erhöht: Schnelle Verbindungen ziehen Verkehr an und provozieren damit erst
recht Staus. Darüberhinaus ist der optimale Fluss kein Nash-Fluss, da jeder Spieler profitiert,
wenn er den Nash-Fluss wählt.
2
Beachte, dass auch in diesem Beispiel 3/2
= 43 der Preis der Anarchie ist. Wir zeigen in Kapitel
13, dass 43 tatsächlich der Preis der Anarchie für beliebige Graphen ist: Routing Spiele sind
gutartig!
Definition 11.4 Sei (n, S, U ) ein Spiel in Normalform.
Ein Strategieprofil s ist genau dann Pareto-optimal, wenn es kein anderes Strategieprofil t
mit
ui (s) ≤ ui (t)
für alle Spieler i und mindestens einen Spieler j mit uj (s) < uj (t) gibt.
Aufgabe 77
(a) Zeige: Ein soziales Optimum ist stets Pareto-optimal.
(b) Zeige, dass ein Nash-Gleichgewicht nicht notwendigerweise Pareto-optimal ist.
(c) Wenn ein Strategieprofil s Pareto-optimal ist, ist s dann auch ein Nash-Gleichgewicht?
11.2
Gemischte Strategien
Der Begriff des Nash-Gleichgewichts ist fundamental, und wir sollten deshalb die beiden
folgenden Fragen beantworten:
- Besitzt jedes Spiel in Normalform ein Nash-Gleichgewicht?
162
KAPITEL 11. DAS NASH-GLEICHGEWICHT
- Können Nash-Gleichgewichte effizient bestimmt werden?
Für Spiele in extensiver Form mit vollständiger Information können wir die erste Frage positiv beantworten, denn es gibt sogar stets teilspielperfekte Nash-Gleichgewichte, also NashGleichgewichte, die auch in jedem Teilbaum des Spielbaums ein Nash-Gleichgewicht sind.
Lemma 11.5 Jedes Spiel in extensiver Form mit vollständiger Information besitzt ein teilspielperfektes Nash-Gleichgewicht.
Beweis: Wir werten den Spielbaum durch eine in den Blättern beginnende „Rückwärtsinduktion“ aus: Wenn v ein Blatt ist, dann ist kein Zug auszuwählen. Wenn v ein innerer Knoten
ist und wenn Spieler p am Zug ist, dann wählen wir für Spieler p das Kind w aus, das die
größte Auszahlung an p garantiert, wenn das im Knoten w fortgesetzte Spiel von allen Spielern optimal gespielt wird. (Bei mehreren Kindern mit gleicher maximaler Auszahlung für p
wähle ein beliebiges Kind.) Die Kante zum gewinnenden Kind färben wir rot.
Sei s ein Strategie Profil, das für jeden Knoten genau die roten Kinder-Kanten auswählt.
Wir behaupten, dass s ein Nash-Gleichgewicht ist. Wenn Spieler p seine Strategie ändert,
dann ersetzt er einige der ihm gehörenden roten Kanten. Mit einem induktiven Argument,
beginnend mit der tiefsten ehemals roten Kante von Spieler p, zeigt man jetzt, dass diese
Ersetzungen die Auszahlung an Spieler p nicht erhöhen.
Aufgabe 78
Gib einen vollständigen Beweis für Lemma 11.5 an.
Beispiel 11.7 Teilspielperfekte Nash-Gleichgewichte
Nicht jedes Nash-Gleichgewicht ist auch teilspielperfekt wie das Beispiel in Abbildung 11.3
zeigt: Der Spielbaum T ist binär mit drei Blättern. Spieler 1 beginnt an der Wurzel. Das linke
Kind 0 der Wurzel ist ein Blatt mit Auszahlungsvektor (3, 2), das rechte Kind 1 ist dem Spieler
2 zugeordnet. Knoten 1 besitzt die Blätter 10 und 11 als Kinder mit den Auszahlungsvektoren
(0, 0) und (4, 1).
0
1
(3,2)
10
11
(0,0)
(4,1)
Abbildung 11.3: Ein nicht teilspielperfektes Nash-Gleichgewicht.
Wir erhalten ein Nash-Gleichgewicht, wenn Spieler 1 das Blatt 0 und Spieler 2 das Blatt
10 wählt. Zwar ist die Wahl von Spieler 2 sinnlos, denn 11 ist die profitablere Wahl, aber
diese Wahl ist auch folgenlos, da das Spiel bereits mit dem Zug von Spieler 1 endet. Dieses
Nash-Gleichgewicht ist nicht teilspielperfekt, denn die Wahl von Spieler 2 im Teilbaum mit
Wurzel 1 ist nicht optimal.
11.2. GEMISCHTE STRATEGIEN
163
Aufgabe 79
Sei (n, S, U ) ein Spiel in extensiver Form mit vollständiger Information. Zeige oder widerlege:
(a) Wenn keine zwei Blätter dieselbe Auszahlung für einen Spieler definieren, dann gibt es genau ein NashGleichgewicht.
(b) Wenn keine zwei Blätter dieselbe Auszahlung für einen Spieler definieren, dann gibt es genau ein teilspielperfektes Nash-Gleichgewicht.
(c) Wenn (n, S, U ) ein Zwei-Personen Nullsummenspiel ist, dann besitzt jedes Nash-Gleichgewicht denselben
Auszahlungsvektor (x, y).
Bisher haben wir stets mindestens ein Nash-Gleichgewicht vorgefunden, aber das nächste
Beispiel zeigt, dass es Spiele ohne Nash-Gleichgewichte gibt!
Beispiel 11.8 Das Cent-Spiel
Spieler 1 wie auch Spieler 2 wählt entweder „Wappen“ oder „Zahl“. Spieler 1 gewinnt, wenn
Spieler 2 identisch wählt, während Spieler 2 gewinnt, wenn die Spieler verschieden wählen.
Die Spielmatrix hat also die Form
Wappen Zahl
Wappen 1, −1
−1, 1
Zahl
−1, 1
1, −1
Wir beobachten, dass es kein Nash-Gleichgewicht gibt! Beachte, dass das Cent-Spiel ein
Nullsummen-Spiel ist, da der Profit des einen Spielers mit dem Verlust des anderen Spielers übereinstimmt.
Gerade im Cent-Spiel liegt es nahe, randomisiert zu spielen und wir führen deshalb gemischte
Strategien, also die Strategien randomisiert rechnender Spieler ein.
Definition 11.6 (n, S, U ) sei ein Spiel.
(a) Eine gemischte Strategie für Spieler p wird durch eine Verteilung πp auf den Strategien
in Sp beschrieben. Die erwartete Auszahlung an Spieler p ist dann
ep (π1 , . . . , πn ) =
X
up (s) · Πni=1 πi (si ).
s∈×n
i=1 Si
Eine reine Strategie entspricht einer gemischten Strategie πi , die nur einer einzigen
Strategie die Wahrscheinlichkeit 1 zuweist.
(b) Die Verteilungen (π1 , . . . , πn ) sind ein Nash-Gleichgewicht von gemischten Strategien,
wenn
ep (π1 , . . . , πp−1 , πp , πp+1 , . . . , πn ) ≥ ep (π1 , . . . , πp−1 , πp∗ , πp+1 , . . . , πn )
für alle Spieler p und für alle Verteilungen πp∗ über Strategien in Sp gilt.
Im Fall gemischter Strategien versucht also jeder Spieler seine erwartete Auszahlung zu maximieren. Man beachte, dass eine Maximierung des Erwartungswerts riskant ist, wenn der
Erwartungswert nicht scharf zentriert ist: In einem Ein-Personen Spiel hat die Spielerin die
Möglichkeit „teilzunehmen“ oder zu „kneifen“. Nimmt sie teil, wird ein Bit zufällig gezogen.
Die Spielerin gewinnt eine Million Euro, wenn das Bit Eins ist, und verliert sonst 999999
164
KAPITEL 11. DAS NASH-GLEICHGEWICHT
Euro. Gemäß der Erwartungswertmaximierung müsste die Spielerin stets teilnehmen und Totalverlust riskieren. Ist die Spielerin allerdings die Deutsche Bank und ist gewährleistet, dass
das Spiel genügend oft gespielt wird, so steht einer Beteiligung der Deutschen Bank nur die
sehr magere Rendite gegenüber.
Aufgabe 80
Zeige: Eine gemischte Strategie si ist genau dann eine beste Reaktion gegen s−i , wenn alle reinen Strategien
in si mit positiver Wahrscheinlichkeit beste Reaktionen gegen s−i sind.
Aufgabe 81
Das Balls-and-Bins Spiel modelliert die Last Balancierung: n Spieler besitzen je einen Ball, der in einem von
m Behältern unterzubringen ist. Haben die Spieler ihre Bälle verteilt, dann muss jeder Spieler die Anzahl der
Bälle in „seinem“ Behälter als Kosten tragen. (Der Behälter des Spielers ist der Behälter, der den Ball von
Spieler i aufgenommen hat.)
1
(a) Ein jeder Spieler wähle einen Behälter zufällig mit Wahrscheinlichkeit m
aus der Menge aller Behälter.
Zeige, dass das entsprechende Strategieprofil s ein Nash-Gleichgewicht gemischter Strategien ist.
(b) Zeige, dass s das schlechteste Nash-Gleichgewicht ist.
(c) Bestimme den Preis der Anarchie für das Balls-and-Bins Spiel.
Aufgabe 82
Bestimme sämtliche Nash-Gleichgewichte im Gefangenen-Dilemma, wobei gemischte Strategie Profile zugelassen werden.
Aufgabe 83
1. Alice und Bob überlegen jeweils, wie sie ihren Abend gestalten sollen. Alice könnte in ihrer Wohnung
bleiben, die Kneipe des Ortes aufsuchen oder das örtliche Café besuchen. Alice ginge am liebsten ins
Café. Ihre nächste Präferenz wäre die Kneipe und erst an letzter Stelle der Abend zu Hause. Allerdings
möchte sie keinesfalls Bob begegnen, da er sie fürchterlich nervt. Bob seinerseits hat (weil er nervt) in
der Kneipe Hausverbot. Im Café ärgert er sich, dass man dort auch etwas bestellen muss. Allerdings
würde er das in Kauf nehmen, wenn er dort Alice trifft.
Wir nehmen beliebige Auszahlungen an, die Präferenzen der beiden strikt wiedergeben. Zeige, dass es
für dieses Spiel kein Nash-Gleichgewicht von reinen Strategien gibt.
2. Berechne die Menge der gemischten Nash Gleichgewichte für das Spiel aus Aufgabe (a). Dabei bewertet
Alice einen Abend zu Hause mit 0 Punkten, einen Kneipenabend mit einem Punkt, einen ungestörten
Cafébesuch mit 3 Punkten und einen Cafébesuch, bei dem sie Bob begegnet, mit -5 Punkten. Bob
bewertet einen Abend zu Hause mit 0 Punkten, einen Cafébesuch, bei dem er Alice begegnet, mit 5
Punkten und einen vergeblichen Cafébesuch mit -1 Punkt.
3. Auf der Südseeinsel San Theoretica stehen Präsidentschaftswahlen an. Es gibt einen amtierenden Präsidenten und einen Herausforderer. Jeder Bürger ist Anhänger eines der beiden Kandidaten und hat eine
Stimme. Am Wahltag regnet es in Strömen. Jeder Wähler möchte lieber seinen Kandidaten gewinnen
sehen als den Gegner, aber andererseits möchte er auch lieber trocken bleiben als auf dem Weg zum
Wahllokal nass zu werden. Trotzdem zieht es ein jeder Wähler aber vor nass zu werden bevor sein
Kandidat verliert.
Das Wahlgeheimnis wird auf San Theoretica sehr ernst genommen und deswegen sprechen sich die
Bürger keinesfalls ab. Die Verfassung sieht vor, dass bei Stimmengleichheit der Präsident im Amt bleibt.
Gibt es in diesem Spiel ein reines Nash Gleichgewicht (wenn die Auszahlungen die Präferenzen strikt
wiedergeben)?
Aufgabe 84
Das Strategie Profil s sei ein Nash-Gleichgewicht für ein Spiel (n, S, U ) in Normalform. Dann wird keine
reine Strategie, die unter s mit positiver Wahrscheinlichkeit gespielt wird, in der iterativen strikten Dominanz entfernt. Also erleichtert die Eliminierung strikt dominierter Strategien die Bestimmung von NashGleichgewichten.
Die Aussage der Aufgabe ist falsch, wenn die Eliminierung schwach dominierter Strategien erlaubt ist. Dazu
betrachten wir das 1-Zug Spiel mit der Spielmatrix
3, 3
5, 4
6, 3
2, 0
.
11.3. DOMINANTE STRATEGIEN UND EHRLICHE MECHANISMEN
165
Die zweite Spalte von Spieler 2 wird durch die erste Spalte schwach dominiert. Wenn wir sie entfernen, dann
dominiert die zweite Zeile die erste Zeile strikt, und wir können die erste Zeile entfernen. Beachte, dass wir
jetzt das Nash-Gleichgewicht, bestehend aus der ersten Strategie von Spieler 1 und der zweiten Strategie von
Spieler 2 zerstört haben.
11.3
Dominante Strategien und ehrliche Mechanismen
Wie wechseln jetzt die Perspektive und wenden uns dem Entwurf von Mechanismen, also dem
Entwurf von Spielregeln zu: Ein gewünschtes Verhalten der Spieler, wie etwa die Offenlegung
der tatsächlichen Bewertung in Auktionen, soll zu dominanten Strategien gemacht werden.
11.3.1
Auktionen
In einer Erstpreis-Auktion wie auch in einer Zweitpreis-Auktion erhält stets das Höchstgebot
den Zuschlag. Während in einer Erstpreis-Auktion das gewinnende Gebot auch zu bezahlen
ist, muss in einer Zweitpreis-Aution nur das zweithöchste Gebot bezahlt werden.
Welche Auktionsform ist vernünftiger? Von der Perspektive des Auktionators ist der Unterschied gering, solange die Auktion mit öffentlich bekanntgemachten, sich jeweils übertreffenden Geboten durchgeführt wird, denn der Erstpreis wird sich nur wenig vom Zweitpreis
unterscheiden. Anders ist die Situation in einer „sealed bid“ Auktion, in der Bieter ihr Gebot
geheim einreichen. Der Auktionator profitiert zwar von der größeren Höhe des Erstpreises,
muss aber befürchten, dass die Bieter „tiefstapeln“, also Gebote abgeben, die weit unter ihrer
eigenen Bewertung liegen.
Beispiel 11.9 Eine Erstpreis-Auktion
Wir betrachten ein Beispiel einer Erstpreisauktion mit den beiden Bietern 1 und 2. Bieter i
habe die Bewertung bi und möge das Gebot gi abgeben. Desweiteren besitze Bieter 1 (bzw. 2)
die Strategien g1 ∈ {2, 4, 6} (bzw. g2 ∈ {1, 3, 5, 7}) sowie die Bewertung b1 = 6 (bzw. b2 = 5).
Wenn Spieler i die Auktion gewinnt, dann definieren wir bi − gi als seine Auszahlung; verliert
er, erhält er die Auszahlung 0. Dementsprechend erhalten wir die Spielmatrix
1
3
5
7
2 4, 0 0, 2 0, 0 0, −2
4 2, 0 2, 0 0, 0 0, −2
6 0, 0 0, 0 0, 0 0 − 2
Wir besitzen die drei Nash-Gleichgewichte (4,3), (6,5) und (4,5) und die Auktion ähnelt einem
Glücksspiel.
Als Alternative betrachten wir eine Zweitpreis-Auktion und lassen somit den Gewinner i nur
den Betrag des zweithöchsten Gebots gj bezahlen. Die Auszahlung beträgt also bi − gj . Gibt
es eine beste Strategie für den iten Bieter?
Satz 11.7 In einer Zweitpreis-Auktion ist die ehrliche Strategie gi = bi dominant.
Beweis: Wir betrachten zuerst eine Strategie gi > bi : Das Gebot ist also höher als die
eigene Bewertung. Im Vergleich zur ehrlichen Strategie tritt nur dann eine Änderung für
Bieter i ein, wenn i aufgrund des höheren Gebots diesmal den Zuschlag erhält. Dann muss
aber gi ≥ gj ≥ bi gelten, denn gi gewinnt gegen das jetzt zweithöchste Gebot gj und gj ist
166
KAPITEL 11. DAS NASH-GLEICHGEWICHT
mindestens so groß wie die Bewertung bi , da Bieter i mit dem ehrlichen Gebot bi verliert.
Während die Auszahlung für die ehrliche Strategie 0 ist, ist bi − gj ≤ 0 die neue Auszahlung
und Bieter i kann sich nur verschlechtern.
Wenn gi < bi , dann ändert sich die Situation von Bieter i im Hinblick auf die ehrliche Strategie nur dann, wenn er aufgrund des niedrigeren Gebots den Zuschlag verliert. Der alten
Auszahlung bi − gj ≥ 0 steht aber jetzt die Auszahlung 0 gegenüber. Auch diesmal wird keine
Verbesserung erzielt.
In jedem Fall ist also ein ehrliches Gebot für jede Gegenstrategie optimal: Die Strategie gi = bi
ist dominant.
Aufgabe 85
Diesmal werden k Exemplare derselben Ware versteigert. Verallgemeinere den Ansatz von Beispiel 11.9, so
dass wiederum ein ehrliches Gebot eine dominante Strategie ist.
Beispiel 11.10 Auktionen für die gesponserte Suche
Google und Yahoo! versteigern Werbefläche zu Suchanfragen. Dazu werden verschiedene
„Slots“ mit absteigender Sichtbarkeit neben den Treffern der Suchanfrage angeboten.
Typischerweise gibt ein Werbekunde Gebote in Form von Paaren (Schlagwort, Gebot) ab und
bestimmt sein tägliches oder wöchentliches Budget. Gibt ein Anwender dann ein Schlagwort
als Suchbegriff ein, beteiligen sich alle Werbekunden, die Gebote für das eingebene Schlagwort
abgegeben haben, an einer Echtzeit-Auktion, solange ihr Budget noch nicht erschöpft ist.
Google und Yahoo! verwenden unterschiedliche Preissetzungen. Yahoo! bewertet Werbekunden nur nach ihrem Gebot. Gibt der Werbekunde i das i-höchste Gebot gi ab, dann muss der
Preis gi+1 , also der Wert des nächstniedrigeren Gebots entrichtet werden. Die Preissetzung in
Google ist komplizierter: Für jeden Werbekunden i wird ein Quality Score qi bestimmt, der
sich aus
• der Click Through Rate, einer Google-internen Bewertung der Sichtbarkeit des Werbekunden,
• der Relevanz der angebotenen Webseite
• und ihrer Qualität
zusammensetzt. In der Auktion werden Werbekunden dann nach
score = Quality Score · Gebot
geordnet. Wenn wir diesmal annehmen, dass Werbekunde i den i-höchsten score-Wert qi · gi
(mit Quality Score = wi und Gebot gi ) besitzt, dann bezahlt i den Preis
Preisi :=
11.3.2
qi+1 · gi+1
≤ gi .
qi
Eine Investitionsentscheidung
Im nächsten Beispiel entwerfen wir einen „Mechanismus“, um zu entscheiden, ob eine Investition I vorzunehmen ist. Die Investition, wenn sie denn stattfindet, habe die öffentlich
bekannten Kosten K. Wir nehmen an, dass Spieler i den tatsächlichen Profit θi ∈ R≥0 hat,
11.3. DOMINANTE STRATEGIEN UND EHRLICHE MECHANISMEN
167
wenn die Investition ausgeführt wird. Die Investition soll stattfinden, wenn ihre Kosten durch
die Profite der Spieler aufgewogen werden, wenn also
n
X
θi ≥ K
i=1
gilt.
Wir konstruieren einen Mechanismus, der von jedem Spieler möglicherweise Gebühren erhebt, wobei das Gebührensystem die Spieler überzeugen soll, ihre wirklichen Profite ehrlich
preiszugeben. Spieler, die keine Gebühren entrichten möchten, können dies tun.
Beispiel 11.11 Investitionsentscheidung
Ein erster Lösungsansatz erhebt eine für alle Spieler identische, niedrige Gebühr. Dieser Ansatz ist zum Scheitern verurteilt, denn ein sehr an dem Unterfangen interessierter Spieler wird
einen extrem hohen Profit melden.
Ein zweiter Ansatz fordert eine Gebühr proportional zum veröffentlichten Profit θi0 . Dieser
Versuch funktioniert auch nicht, da eine Bekanntgabe des eigenen Profits zum Beispiel dann
nicht dominant ist, wenn die Profite der restlichen Spieler bereits die Tätigung der Investition
garantieren.
Der dritte und erfolgreiche Ansatz verlangt, dass der ite Spieler den Betrag
max(0, K −
X
θj0 )
j6=i
als Gebühr bezahlt, wenn die Investition zu tätigen ist, d.h. wenn j θj0 ≥ K gilt. Spieler
i bezahlt also nichts, wenn sein gemeldeter Profit θi0 die Investitionsentscheidung nicht beeinflusst. Beeinflusst sein gemeldeter Profit die Entscheidung, dann muss Spieler i den Teil
bezahlen, der für das Kippen der Entscheidung notwendig war.
Die ehrliche Strategie θi0 = θi ist dominant. Warum? Wenn θi0 > θi gemeldet wird, dann hat
dies gegenüber der ehrlichen Antwort nur dann eine Konsequenz für die Auszahlung, wenn
die Investition aufgrund der gelogenen Hochsetzung erfolgt. In diesem Fall ist die Auszahlung
P
P
θi − (K − j6=i θj0 ) = θi + j6=i θj0 − K < 0, während bei einer ehrlichen Angabe die Auszahlung 0 erfolgt. Wird hingegen θi0 < θi gemeldet, dann wird die Auszahlung gegenüber der
ehrlichen Antwort nur dann geändert, wenn keine Investition aufgrund der gelogenen Heruntersetzung erfolgt. Damit ist 0 die neue Auszahlung und eine Verbesserung tritt nicht ein, da
die Auszahlung bei ehrlicher Meldung stets nicht-negativ ist.
P
Aufgabe 86
Ist θi0 = θi die einzige dominante Strategie? Ändert sich die Situation, wenn wir negative Gewinne θi < 0
zulassen?
11.3.3
Ein Routing Spiel
Wir betrachten einen gerichteten Graphen G = (V, E) mit zwei ausgezeichneten Knoten s
und t. Wenn eine Nachricht über eine Kante e zu transportieren ist, dann entstehen für e die
nur e bekannten Kosten c(e). Unser Ziel ist die Berechnung eines billigsten Weges W von s
nach t. Wir möchten wieder einen Mechanismus entwerfen, der die Kantenspieler dazu bringt,
ihre wahren Kosten c(e) zu veröffentlichen.
168
KAPITEL 11. DAS NASH-GLEICHGEWICHT
Beispiel 11.12 Routingkosten Wir nehmen an, dass keine Kante e ein Monopol besitzt,
d.h. es gibt stets einen e vermeidenden Weg von s nach t. Wir wählen einen billigsten Weg W
aus, wobei wir die veröffentlichten und möglicherweise gelogenen Kantenkosten c0 (e) zugrundelegen. Wir bezeichnen die Kosten von W mit d(s, t) und die Kosten eines billigsten Weges
von s nach t ohne die Kante e mit de (s, t).
Unser Mechanismus zahlt an Kante e den Betrag
(
BetragW (e) =
de (s, t) − ( d(s, t) − c0 (e) ) W läuft über e.
0
sonst
Wenn die Kante e auf dem billigsten Weg liegt, dann erhält die Kante mindestens die publizierten Kosten c0 (e), denn die Prämie de (s, t) − d(s, t) ist stets nicht-negativ. Eine zentrale
Beobachtung ist, dass der von e erhaltene Betrag nicht von e abhängt, denn der Betrag stimmt
überein mit der Differenz zwischen der billigsten Weglänge de (s, t) ohne e und der billigsten
Weglänge d(s, t) − c0 (e) mit Gratiskante e.
Die ehrliche Strategie c0 (e) = c(e) ist dominant. Warum? Wenn c0 (e) > c(e) gemeldet wird,
dann ändert sich die Auszahlung an Spieler e nur dann, wenn der billigste Weg nicht mehr
über e läuft. Der Auszahlung c(e) + de (s, t) − d(s, t) ≥ c(e) bei ehrlicher Angabe steht dann
die neue Auszahlung 0 gegenüber und die vormalige Auszahlung ist mindestens so gut.
Wenn c0 (e) < c(e) gemeldet wird, dann hat dies nur dann eine Konsequenz für die Auszahlung,
wenn der billigste Weg nach Kostenreduktion über e läuft. Der vormaligen Auszahlung 0 steht
jetzt die Auszahlung de (s, t) − ( d(s, t) − c0 (e) ) gegenüber. Für die billigste Weglänge d∗ (s, t)
vor Herabsetzung gilt d∗ (s, t) = de (s, t), denn e wurde vorher nicht benutzt. Also gilt
de (s, t) − ( d(s, t) − c0 (e) ) = d∗ (s, t) − ( d(s, t) − c0 (e) )
= d∗ (s, t) − ( d(s, t) − c0 (e) + c(e) ) + c(e)
≤ c(e),
denn d(s, t) − c0 (e) + c(e) ist die Länge eines billigsten Weges, der Kante e mit Kantenkosten
c(e) benutzt und diese Weglänge ist mindestens so groß wie die Länge d∗ (s, t) eines billigsten
Weges.
Wieviel muss der Mechanismus bezahlen, d.h. was ist der „Preis der Wahrheit“? Wenn der
billigste Weg W die Kanten e1 , . . . , em durchläuft, dann wird unsere Kasse um
m
X
i=1
Betrag(ei ) =
m
X
(dei (s, t) − ( d(s, t) − c0 (ei ) )
i=1
= d(s, t) +
m
X
(dei (s, t) − d(s, t))
i=1
erleichtert, und wir müssen den Aufpreis m
i=1 (dei (s, t) − d(s, t)) gegenüber den Kosten eines
billigsten Weges in Kauf nehmen. Der Preis der Wahrheit kann intolerabel hoch sein, wie das
folgende Beispiel zeigt: Wir nehmen an, dass der Graph aus zwei kantendisjunkten Wegen
zwischen s und t besteht, wobei der billigere Weg aus k + 1 Knoten besteht und den Preis L
besitze. Der zweite Weg habe den Preis (1 + ε) · L. Damit müssen wir an jede der k Kanten
des billigsten Weges zusätzlich den Aufpreis ε · L aufbringen, und die Gesamtkosten betragen
somit L + k · ε · L = Θ(k · L): Wir müssen Kanten zu einem Preis einkaufen, der sogar weit
über dem Preis des zweitbilligsten Wegs liegt!
P
11.4. BESCHRÄNKTE RATIONALITÄT
169
Der Mechanismus wird bei entsprechend großem Wettbewerbsdruck praktikabel, wenn also
der Verzicht auf Kanten die Wegkosten nur unwentlich hochtreibt.
Aufgabe 87
Ist die ehrliche Strategie stets die einzige dominante Strategie?
In allen Beipielen haben wir Mechanismen, also Spielregeln entworfen, so dass ehrliche Antworten der Spieler profitabel sind, also eine dominante Strategie darstellen. Dies steht im
Gegensatz zum Satz von Gibbard-Satterthwaite: Jedes Funktional, das eine aus vielen Optionen auswählt, und kein Diktator-Funktional ist, muss zwangsläufig nicht-monoton sein, lädt
somit in einigen Situationen zum Taktieren ein. Wir haben die Implikationen des Satzes von
Gibbard-Satterhwaite vermieden, indem wir „Geld“ in Form von Gebühren oder Ausschüttungen benutzt haben.
Im Gebiet des Mechanismen-Entwurfs wird der Entwurf ehrlicher Mechanismen im Detail
untersucht.
11.4
Beschränkte Rationalität
Wir greifen das Gefangenen-Dilemma aus Beispiel 11.3 wieder auf und betrachten die Spielmatrix
Gestehen Schweigen
Gestehen
1, 1
4, 0
Schweigen
0, 4
3, 3
Das Strategie Profil (Gestehen, Gestehen) ist das einzige Nash-Gleichgewicht, während das
„soziale Optimum“ (Sschweigen ,Schweigen) keinem Nash-Gleichgewicht entspricht. In diesem Beispiel scheint das Konzept des Nash-Gleichgewichts das zu erwartende menschliche
Verhalten nicht wiederzugeben, und wir betrachten deshalb weitere Spielvariationen.
Da Spielsituationen nicht einmal, sondern mehrfach angetroffen werden, betrachten wir das
wiederholte Gefangenen-Dilemma und nehmen an, dass wir das Spiel n-mal wiederholen,
wobei die Rundenzahl n beiden Spielern bekannt sei. Wir halten die Ergebnisse in allen
Runden fest und schütten dann das durchschnittliche Ergebnis an den jeweiligen Spieler aus.
Die Spieler erhalten also die Möglichkeit, auf die vorigen Züge ihres Gegners zu reagieren;
dementsprechend nimmt die Komplexität des Spiels zu, denn nach k Runden muss man auf
alle 2k möglichen Historien reagieren können. Wir können uns eine Strategie als einen binären
Entscheidungsbaum der Tiefe k vorstellen, dessen Kanten mit den Zügen des Gegners markiert
sind und dessen Blätter den eigenen Zügen entsprechen. Da die 2k Blätter zu markieren sind,
k
gibt es insgesamt 22 viele Strategien!
Obwohl die Möglichkeit der Kooperation gegeben ist, tritt auch hier nur das Nash-Gleichgewicht (Gestehen, Gestehen) auf1 : Ein Nash-Gleichgewicht für das wiederholte Spiel wird
in der letzten Runde ein Nash-Gleichgewicht für das ursprüngliche Spiel erzwingen und die
Behauptung folgt mit einem induktiven Argument.
Aufgabe 88
Wir betrachten das unendlich oft wiederholte
Gefangenen-Dilemma. Wenn ein Spieler die Auszahlung xn in
Pn
Runde n erhält, dann wird limn→∞ n1 · i=1 xi als durchschnittliche Ausschüttung des Spielers definiert.
Zeige, dass (G, G) ein Nash-Gleichgewicht ist, wenn die Maximierung der durchschnittlichen Ausschüttung das
Ziel des Spiels ist. Gib ein Nash-Gleichgewicht an, das beiden Spielern eine höhere Auszahlung als 1 bietet.
1
Unabhängig vom bisherigen Spielverlauf werden also beide Spieler stets gestehen.
170
KAPITEL 11. DAS NASH-GLEICHGEWICHT
Aufgabe 89
Ein Zweipersonenspiel heißt symmetrisch, falls jeder Spieler dieselbe Strategiemenge S = {s1 , . . . , sn } besitzt
und für die Auszahlungen
∀i, j : u1 (si , sj ) = u2 (sj , si )
gilt. Z.B. ist das Gefangenendilemma symmetrisch. Sei M = max{u1 (si , sj ) + u2 (si , sj )|si , sj ∈ S} die maximale Gesamtauszahlung an die Spieler. Zeige oder widerlege: Für die unendliche Wiederholung eines
symmetrischen Zweipersonenspiels gibt es stets ein Nash-Gleichgewicht mit mittlerer Auszahlung M
für jeden
2
Spieler.
Wir behalten das Modell des n-fach wiederholten Spiels bei, lassen diesmal aber nur endliche
Automaten mit beschränkter Zustandszahl als Spieler zu.
Definition 11.8 (2, S1 × S2 , (u1 , u2 )) sei ein Spiel in Normalform, das als n-fach wiederholtes
Spiel zu spielen ist. Ein Automatenspieler für Spieler 1 (bzw. Spieler 2) wird durch einen deterministischen endlichen Automaten A1 = (S2 , Q1 , q01 , δ1 , σ1 ) (bzw. A2 = (S1 , Q2 , q02 , δ2 , σ2 ))
beschrieben. Der Zug des Gegners in der vorigen Runde wird als Eingabe aufgefasst und
demzufolge ist die Zustandsüberführungsfunktion von der Form δ1 : Q1 × S2 → Q1 (bzw.
δ2 : Q2 × S1 → Q2 ). Jeder Zustand q von A1 (bzw. A2 ) ist mit einer Strategie σ1 (q) ∈ S1
(bzw. σ2 (q) ∈ S2 ) beschriftet. Das Spiel beginnt, indem beide Spieler ihren Anfangszustand
q0b als jeweils erste Strategie wählen. Die darauffolgenden Züge werden dann durch die Zustandsübergänge der Spieler bestimmt. Das Spielergebnis ist die durchschnittliche Auszahlung
a1 (A1 , A2 ) an Spieler 1 und a2 (A1 , A2 ) an Spieler 2.
Zwei deterministische endliche Automaten A1 und A2 mit jeweils höchstens N1 bzw. N2
Zuständen bilden ein reines (N1 , N2 )-Nash-Gleichgewicht, wenn
a1 (B1 , A2 ) ≤ a1 (A1 , A2 ) und a2 (A1 , B2 ) ≤ a2 (A1 , A2 )
für alle endlichen Automaten B1 und B2 mit jeweils höchstens N1 bzw. N2 Zuständen gilt.
Deterministische endliche Automaten entsprechen reinen Strategien, während gemischte Strategien durch Verteilungen über Automaten dargestellt werden. Wir betrachten zuerst den
trivialen Automaten AS , der stets die Strategie „Schweigen“ wählt. Dieser Automat wird von
der Gegenstrategie „Gestehen“ verheerend geschlagen und damit kann dieses Kooperationsangebot nicht Teil eines Nash-Gleichgewichts sein. Anders ist die Situation für den Automaten
AG , der stets die Strategie „Gestehen“ wählt, denn das Automatenpaar (AG , AG ) bildet ein
Nash-Gleichgewicht.
Ein recht erfolgreicher „Automatenspieler“ ist der Tit-for-Tat Automat AT , dessen beide Zustände G und S den Strategien Gestehen und Schweigen entsprechen. Wenn die Strategie
des Gegenspielers mit der eigenen Strategie übereinstimmt, dann verbleibt der Automat in
seinem Zustand und wechselt den Zustand ansonsten. Der Zustand S ist Anfangszustand und
AT beginnt somit mit einem Kooperationsangebot, wird sich aber sofort wehren, wenn sein
Gegner das Kooperationsangebot ausschlägt.
Satz 11.9 Das Paar (AT , AT ) ist ein (N, N )-Nash-Gleichgewicht für das n-fach wiederholte
Gefangenen-Dilemma, solange die Zustandszahl N kleiner als die Rundenzahl n ist.
Beweis: Aufgrund der Symmetrie des Gefangenen-Dilemmas genügt der Nachweis
a1 (B, AT ) ≤ a1 (AT , AT )
für jeden endlichen Automaten B mit höchstens n − 1 Zuständen. Spieler 1 erhält für das
Strategie Profil (AT , AT ) die durchschnittliche Auszahlung 3 und deshalb müssen wir zeigen,
dass stets a1 (B, AT ) ≤ 3 gilt.
11.4. BESCHRÄNKTE RATIONALITÄT
171
Behauptung 11.1 Ein unbeschränkt mächtiger Spieler 1 kann nur dann eine durchschnittliche Auszahlung größer als drei erreichen, wenn er nur in der letzten Runde die Strategie G
benutzt.
Beweis: Wir zeigen die Behauptung durch Induktion über die Rundenzahl n. Die Behauptung
ist offensichtlich richtig, wenn n = 1 und wir nehmen an, dass n = k + 1. Wenn Spieler 1
die Strategie „Schweigen“ in der ersten Runde benutzt, dann folgt die Behauptung aus der
Induktionsvoraussetzung, angewandt auf die letzten k Runden. Also können wir annehmen,
dass Spieler 1 sofort die Strategie „Gestehen“ mit einer Auszahlung von 4 anwendet.
AT wird in der zweiten Runde mit der Strategie „Gestehen“ antworten. Spieler 1 ist gezwungen, ebenfalls die Strategie „Gestehen“ zu wählen, da er ansonsten eine Auszahlung von Null
erhält und nach Induktionsvoraussetzung diesen Verlust gegenüber der durchschnittlichen
Auszahlung von 3 in den verbleibenden n − 2 Runden nicht wettmachen kann: Der Auszahlung von 4 für die beiden ersten Runden stehen 3 · (n − 2) + 4 für die letzten n − 1 Runden
gegenüber, was zu einer durchschnittlichen Auszahlung von 3·n+2
n+1 < 3 führt.
Aber AT wird dann bei Strategie „Gestehen“ bleiben und wiederum Spieler 2 zwingen ebenfalls
mit „Gestehen“ fortzufahren..... Als Ergebnis erhalten wir die schlechtere durchschnittliche
Auszahlung 4+n−1
= 1 + n3 < 3.
n
Um eine höhere Auszahlung als AT zu erhalten, muss der Automat B die Strategie „Gestehen“
genau in der letzten Runde anwenden. B erhält dann aber stets die Eingabe „Schweigen“ und
wird auch in der letzten Runde die Ausgabe „Schweigen“ geben müssen, da er sich in Runde
n in einem Zustand befindet, den er schon vorher durchlaufen hat.
Aufgabe 90
Gilt Satz 11.9 auch, wenn wir probabilistische Automaten mit weniger als n Zuständen als Spieler zulassen? Was
passiert, wenn wir Verteilungen über deterministischen Automaten mit weniger als n Zuständen betrachten?
Aufgabe 91
Benenne alle Nash-Gleichgewichte für das unendlich oft wiederholte Gefangenendilemma, wenn nur Automatenspieler mit bis zu zwei Zuständen zugelassen werden.
Satz 11.9 zeigt, dass es für Spieler mit „beschränkter Rationalität“ vorteilhaft sein kann, zu
kooperieren. Allerdings ist die Zustandsbeschränkung sehr einschneidend. Ab welcher Zahl
von Zuständen gibt es nur das Nash-Gleichgewicht (Gn , Gn )?
Aufgabe 92
Zeige, dass (Gn , Gn ) das einzige Nash-Gleichgewicht ist, wenn Automatenspieler mit bis zu 2n−1 Zuständen
erlaubt sind.
Wie ist die Situation für weniger als 2n−1 Zustände?
Satz 11.10 [Ne, PY] Sei ε eine beliebige reelle Zahl aus dem offenen Intervall [0, 1[. Wenn
mindestens ein Automat im n-fach wiederholten Gefangenen-Dilemma weniger als 2O(ε·n)
Zustände besitzt, dann gibt es für genügend großes n ein gemischtes Nash-Gleichgewicht mit
einer durchschnittlichen Auszahlung von mindestens 3 − ε.
Also gibt es auch hier überraschenderweise ein Nash-Gleichgewicht mit fast vollständiger Kooperation. Wir geben eine (allerdings sehr grobe) Skizze der aufwändigen Konstruktion. Die
beiden Spieler des Nash-Gleichgewichts würfeln in den ersten Runden eine Strategie zufällig
aus und benutzen ihr Verhalten in diesen ersten Runden als ihre „Visitenkarte“: In nachfolgenden Runden wird periodisch überprüft, ob der Gegenspieler die fremde Visitenkarte
abgespeichert hat und damit mit dem Automaten des Nash-Gleichgewichts übereinstimmt.
172
KAPITEL 11. DAS NASH-GLEICHGEWICHT
Ist dies nicht der Fall, dann wird der Gegenspieler bestraft, indem nur noch die wenig profitable Strategie „Gestehen“ gespielt wird; besteht der Gegenspieler alle Tests, dann wird er mit
einer relativ großen Anzahl von „Schweigen“-Zügen belohnt. Der Gegenspieler muss für die
Abspeicherung der Visitenkarte einen Großteil seiner Speicherkapazität opfern und verliert
damit sogar die Fähigkeit, die relativ wenigen Runden des Spiels zu zählen.
Aufgabe 93
Zeige, dass Satz 11.10 auch gilt, wenn wir Turingmaschinen als Spieler verwenden. Die Turingmaschinen dürfen
allerdings nur auf einem Band mit o(n) Zellen rechnen.
Nach Satz 11.10 kann sich beschränkte Zustandszahl (oder beschränkte Rationalität) auszahlen: Wir erhalten weitaus profitablere Nash-Gleichgewichte als im Fall unbeschränkter
Rechenkraft.
Kapitel 12
Die Berechnung von
Nash-Gleichgewichten
12.1
Zweipersonen-Nullsummenspiele
Beachte, dass es für Zweipersonen-Nullsummenspiele genügt, nur die Auszahlung des ersten Spielers zu zeigen. Dementsprechend verwenden wir nur noch die Auszahlung des ersten
Spielers in den Einträgen der Spielmatrix A.
Definition 12.1 Eintrag (i, j) ist ein Sattelpunkt der Spielmatrix A, wenn A[i, j] in seiner
Zeile minimal und in seiner Spalte maximal ist.
Ein Sattelpunkt (i, j) ist offensichtlich ein Nash-Gleichgewicht, denn ein Strategiewechsel
lohnt weder für Spieler 1 ((i, j) ist maximal in seiner Spalte) noch für Spieler 2 ((i, j) ist
minimal in seiner Zeile). Andererseits ist aber jedes Nash-Gleichgewicht auch ein Sattelpunkt!
Lemma 12.2 Reine Strategien: Nash-Gleichgewichte
Ein Nullsummenspiel mit Spielmatrix A sei vorgegeben.
(a) (i, j) ist genau dann ein Sattelpunkt, wenn (i, j) ein Nash-Gleichgewicht ist.
(b) Wenn (i, j) und (r, s) Sattelpunkte sind, dann sind auch (i, s) und (r, j) Sattelpunkte
und es gilt A[i, j] = A[r, s] = A[i, s] = A[r, j].
Beweis: (a) ist offensichtlich. (b) Nach Definition der Sattelpunkte gilt
A[i, j] ≤ A[i, s] ≤ A[r, s] und A[r, s] ≤ A[r, j] ≤ A[i, j]
und die behauptete Gleichheit folgt. Zusätzlich ist (i, s) ein Sattelpunkt, denn A[i, s] = A[i, j]
ist in seiner Zeile i minimal und A[i, s] = A[r, s] ist in seiner Spalte s maximal. Die entsprechende Aussage für (r, j) folgt analog.
Wir untersuchen jetzt Nash-Gleichgewichte für gemischte Strategien. Eine gemischte Strategie
des Zeilenspielers (bzw. Spaltenspielers) ist eine Verteilung π (bzw. µ) über die jeweils eigenen
Strategien. Die erwartete Auszahlung für den Zeilenspieler ist deshalb
X
πi · A[i, j] · µj = π T · A · µ.
i,j
Wann ist (π ∗ , µ∗ ) ein Nash-Gleichgewicht gemischter Strategien?
173
174
KAPITEL 12. DIE BERECHNUNG VON NASH-GLEICHGEWICHTEN
Lemma 12.3 Ein Nullsummenspiel mit Spielmatrix A sei vorgegeben.
(a) Wenn (π ∗ , µ∗ ) ein Nash-Gleichgewicht ist, dann gilt
max min π T ·A·µ = min (π ∗ )T ·A·µ = (π ∗ )T ·A·µ∗ = max π T ·A·µ∗ = min max π T ·A·µ.
π
µ
µ
π
µ
π
(b) (π ∗ , µ∗ ) ist genau dann ein Nash-Gleichgewicht, wenn
min (π ∗ )T · A · µ ≥ max π T · A · µ∗
µ
π
gilt.
Also besitzen alle Nash-Gleichgewichte denselben erwarteten Gewinn (π ∗ )T · A · µ∗ für den
Zeilenspieler und der erwartete Gewinn des Zeilenspielers stimmt mit dem erwarteten Verlust
des Spaltenspielers überein.
Beweis (a): Wir nehmen an, dass (π ∗ , µ∗ ) ein Nash-Gleichgewicht ist. Da π ∗ eine beste
Antwort des Zeilenspielers auf die gemischte Strategie µ∗ des Spaltenspielers ist, erhalten wir
(π ∗ )T · A · µ∗ = max π T · A · µ∗ ≥ max min π T · A · µ ≥ min(π ∗ )T · A · µ,
π
π
µ
µ
(12.1)
denn die erste Ungleichung folgt aus π T · A · µ∗ ≥ minµ π T · A · µ für alle π. Aber µ∗ ist auch
eine beste Antwort des Spaltenspielers auf die gemischte Strategie π ∗ des Zeilenspielers und
wir erhalten aus analogen Gründen
(π ∗ )T · A · µ∗ = min(π ∗ )T · A · µ ≤ min max π T · A · µ ≤ max π T · A · µ∗ .
µ
µ
π
π
(12.2)
Also gilt
min(π ∗ )T · A · µ ≤ max min π T · A · µ, min max π T · A · µ ≤ max π T · A · µ∗ .
µ
π
µ
µ
π
π
(12.3)
Aber
min(π ∗ )T · A · µ = (π ∗ )T · A · µ∗ = max π T · A · µ∗
µ
π
(12.4)
ist eine Konsequenz von (12.1) und (12.2) und die Behauptung ergibt sich jetzt direkt aus
(12.3) und (12.4).
(b) Es ist nur zu klären, ob die in Definition 11.6 beschriebenen Eigenschaften erfüllt werden.
Offensichtlich gilt für alle Verteilungen π ∗ und µ∗
min (π ∗ )T · A · µ ≤ (π ∗ )T · A · µ∗ ≤ max π T · A · µ∗
µ
π
und damit ergibt sich
min (π ∗ )T · A · µ = (π ∗ )T · A · µ∗ = max π T · A · µ∗
µ
π
aus der Annahme minµ (π ∗ )T · A · µ ≥ maxπ π T · A · µ∗ . Als direkte Konsequenz erhalten wir
(π ∗ )T · A · µ ≥ (π ∗ )T · A · µ∗ ≥ π T · A · µ∗
12.1. ZWEIPERSONEN-NULLSUMMENSPIELE
175
und das war zu zeigen.
Gibt es stets ein Nash-Gleichgewicht für gemischte Strategien und wenn ja, kann ein NashGleichgewicht effizient berechnet werden? Wir wissen bereits, dass die Forderung
min (π ∗ )T · A · µ ≥ max π T · A · µ∗
µ
π
ausreicht, aber auch notwendig ist, wenn (π ∗ , µ∗ ) ein Nash-Gleichgewicht ist. Wie sieht eine
möglichst bösartige Verteilung µ für π ∗ aus? Der Spaltenspieler sollte sein ganzes Gewicht 1
auf die kleinste Komponente des Vektors (π ∗ )T · A werfen! Mit anderen Worten, der Zeilenspieler muss das äquivalente Maximierungsproblem
so dass π ≥ 0,
max Profit,
X
πi = 1 und
(12.5)
i
Profit −
X
πi · A[i, j] ≤ 0 für alle j
i
lösen und der optimale Wert von (12.5) stimmt mit minµ (π ∗ )T · A · µ überein, wenn π ∗ die
optimale Lösung von (12.5) ist.
Der Spaltenspieler muss seine Verteilung so wählen, dass maxπ π T · A · µ∗ = minµ maxπ π T ·
A · µ gilt. Auch hier wird eine möglichst bösartige Verteilung π ihr ganzes Gewicht auf die
größte Komponente des Vektors A · µ∗ werfen und der Spaltenspieler muss das äquivalente
Minimierungsproblem
so dass µ ≥ 0,
min Verlust,
X
µj = 1 und
(12.6)
j
Verlust −
X
A[i, j] · µj ≥ 0 für alle i
j
lösen. Wir beachten, dass der optimale Wert von (12.6) mit maxπ π T · A · µ∗ übereinstimmt,
wenn µ∗ die optimale Lösung von (12.6) ist.
Die Programme (12.5) und (12.6) sind aber dual zueinander und das Dualitätstheorem (Satz
1.10) bedingt, dass das Maximum von (12.5) mit dem Minimum von (12.6) übereinstimmt.
Also folgt
min (π ∗ )T · A · µ = max min π T · A · µ = min max π T · A · µ = max π T · A · µ∗
µ
π
µ
µ
π
π
und (π ∗ , µ∗ ) ist ein Nash-Gleichgewicht als Konsequenz von Lemma 12.3 (b).
176
KAPITEL 12. DIE BERECHNUNG VON NASH-GLEICHGEWICHTEN
Satz 12.4 Das von Neumann’sche Minimax Prinzip
(a) Es gibt Zwei-Personen Nullsummenspiele ohne Nash-Gleichgewichte für reine Strategien. Jedes Zwei-Personen Nullsummenspiel besitzt aber ein Nash-Gleichgewicht gemischter Strategien.
(b) Sei π ∗ eine optimale Lösung von (12.5) und sei µ∗ eine optimale Lösung von (12.6).
Dann ist (π ∗ , µ∗ ) ein Nash-Gleichgewicht für das Nullsummenspiel mit Spielmatrix A.
(c) Für jede Matrix A ist
max min π T · A · µ = min max π T · A · µ.
π
µ
µ
π
Also stimmt die erwartete Auszahlung für einen optimal spielenden Zeilenspieler überein
mit dem erwarteten Verlust eines optimal spielenden Spaltenspielers.
Beweis (a): Das Cent-Spiel hat kein Nash-Gleichgewicht für reine Strategien. (Beachte aber,
dass (π, π) mit π = ( 12 , 21 ) ein Nash-Gleichgewicht für gemischte Strategien ist.)
(b) und (c) haben wir bereits gezeigt.
12.2
Der Lemke-Howson Algorithmus
Wir haben eine effiziente Berechnung von Nash-Gleichgewichten im Fall von Zwei-Personen
Nullsummenspielen kennengelernt. Ist auch eine effiziente Berechnung für Nullsummenspiele
mit n > 2 Spielern möglich?
Aufgabe 94
Zeige: Die Berechnung von Nash-Gleichgewichten in Nullsummenspielen mit n Spielern ist mindestens so
schwierig wie die Berechnung von Nash-Gleichgewichten in allgemeinen Spielen für n − 1 Spieler.
Also sind Nullsummenspiele für drei Personen bereits so schwierig wie allgemeine Spiele für
zwei Personen. Wir stellen uns deshalb das Problem, Nash-Gleichgewichte für allgemeine
Zwei-Personen Spiele zu berechnen und stellen dazu den Algorithmus von Lemke-Howson,
einen der derzeit erfolgreichsten Algorithmus, vor.
Verabredung der Notation. Wir nehmen an, dass der erste Spieler Strategien aus der
Menge M = {(1, 1), . . . , (1, m)} und der zweite Spieler aus der Menge N = {(2, 1), . . . , (2, n)}
wählt. Die Auszahlung an Spieler 1 und Spieler 2 werde durch die Spielmatrix A, bzw. B
repräsentiert.
S = {s ∈ Rm |
m
X
si = 1, s ≥ 0} bzw. T = {t ∈ Rn |
n
X
i=1
ti = 1, t ≥ 0}
i=1
ist die Menge der Verteilungen von Spieler 1 bzw Spieler 2. Beachte, dass sT · A · t die Auszahlung an Spieler 1 ist, wenn Spieler 1 die gemischte Strategie s und Spieler 2 die gemischte
Strategie t spielt. Ebenso gilt, dass sT · B · t die Auszahlung an Spieler 2 ist.
Aufgabe 95
(a) Ai und Bj seien die ite Zeile von A, bzw. die jte Spalte von B. Eine Paar (s, t) gemischter Strategien ist
genau dann ein Nash-Gleichgewicht für (A, B), wenn jede reine Strategie, die mit positiver Wahrscheinlichkeit
auftritt, eine beste Antwort auf die gegnerischen Strategien ist, d.h.
si > 0 ⇒ hAi , ti = maxhAk , ti und tj > 0 ⇒ hs, Bj i = maxhs, Bk i.
k∈M
k∈N
(12.7)
12.2. DER LEMKE-HOWSON ALGORITHMUS
177
(b) Wir nennen (X, Y ) den Träger des gemischten Nash Gleichgewichts (s, t), falls X = {i | xi > 0} und
Y = {i | yi > 0}. Zeige, dass die Berechnung eines Nash-Gleichgewichts effizient durchgeführt werden kann,
wenn sein Träger bekannt ist.
Also ist die Bestimmung der Trägermengen der kombinatorisch harte Kern in der Bestimmung eines NashGleichgewichts.
Wir betrachten statt den Bedingungen in (12.7) das folgende System für Vektoren s ∈ Rm
und t ∈ Rn mit s, t ≥ 0 unter Verzicht auf die Verteilungseigenschaft:
sT · B ≤ 1 und A · t ≤ 1,
(12.8)
si > 0 ⇒ hAi , ti = 1 und tj > 0 ⇒ hs, Bj i = 1.
Von (12.7) erhalten wir (12.8), wenn t durch maxk∈Mt hAk ,ti und s durch maxk∈Ns hs,Bk i ersetzt
wird. Wir arbeiten mit dem etwas einfacheren System (12.8) weiter.
Wir sagen, dass s ≥ 0 mit sT · B ≤ 1 eine Pseudo-Strategie für Spieler 1 und dass t ≥
0 mit A · t ≤ 1 eine Pseudo-Strategie für Spieler 2 ist. Beachte, dass der Nullvektor eine
Pseudo-Strategie ist und der Nullvektor ist die einzige Pseudo-Strategie, die keiner gemischten
P
Strategie entspricht: Wenn zum Beispiel s eine Pseudo-Strategie ist, dann ist s/( m
i=1 si ) eine
gemischte Strategie.
Markierung. Der Lemke-Howson Algorithmus markiert Pseudo-Strategien mit Elementen
aus M ∪ N .
Eine Pseudo-Strategie s ∈ S erhält die Markierung k ∈ M ∪ N , wenn entweder k ∈ M
und k nicht gespielt wird (sk = 0) oder wenn k ∈ N und Strategie k eine beste Antwort
gegen s ist (hs, Bk i = 1).
Das Markierungsschema ist analog für eine Pseudo-Strategie t ∈ T definiert:
Eine Pseudo-Strategie t erhält die Markierung k ∈ M ∪ N , wenn entweder k ∈ N und k
nicht gespielt wird (tk = 0) oder wenn k ∈ M und Strategie k eine beste Antwort gegen
t ist (hAk , ti = 1).
Eine Strategie k ∈ M tritt entweder im Strategieprofil s (sk = 0) nicht auf oder aber ist eine
beste Antwort gegen t. Gleiches gilt für Strategien in N und wir erhalten:
Lemma 12.5 Ein Paar (s, t) ∈ S×T von Pseudo-Strategien mit s, t 6= 0 sei vorgegeben. Dann
entspricht (s, t) genau dann einem Nash-Gleichgewicht für (A, B), wenn für alle k ∈ M ∪ N
die Strategie s oder die Strategie t mit k markiert ist.
Wir ergänzen A (bzw. B) um die negativen n Zeilen (bzw. m Spalten) der Einheitsmatrix und
nennen die neue Matrix A0 (bzw. B 0 ). Beachte, dass s, bzw. t genau dann Pseudo-Strategien
sind
- wenn sT · B ≤ 1 und s ≥ 0, bzw A · t ≤ 1 und t ≥ 0
- oder äquivalent, wenn A0 · t ≤ α und sT · B 0 ≤ β, wobei der Vektor α (bzw. β) nur aus
Nullen für die neu eingefügten Zeilen (bzw. Spalten) und Einsen für die alten Zeilen
(bzw. Spalten) besteht.
178
KAPITEL 12. DIE BERECHNUNG VON NASH-GLEICHGEWICHTEN
Wir nennen A0 nicht-degeneriert, wenn jede Auswahl von n+1 Zeilen von A0 linear unabhängig
ist, nachdem wir α als n + 1te Spalte zu A0 hinzugefügt haben. Ebenso nennen wir B 0 nichtdegeneriert, wenn jede Auswahl von m + 1 Spalten von B 0 linear unabhängig ist, nachdem
wir β als m + 1te Zeile zu B 0 hinzugefügt haben.
Wir werden von jetzt ab fordern, dass A0 wie auch B 0 nicht-degeneriert sind1 . Die Forderung
kann beseitigt werden; da die Konstruktion im Falle degenerierter Matrizen keine substantiell
neuen Methoden benötigt, verzichten wir aber auf ihre Beschreibung.
Eine Pseudo-Strategie s ∈ S hat höchstens m Markierungen. Warum? Eine Menge K von r
Markierungen entspricht einer Auswahl von r Spalten in B 0 und damit einer m × r Teilmatrix
B 00 von B 0 . Die Pseudo-Strategie s besitzt die Markierungen in K genau dann, wenn sT · B 00
der Vektor der entsprechenden Komponenten aus β ist. Also ist B 00 , wenn um den auf die r
Komponenten eingeschränkten Vektor β vergrößert, linear abhängig. Für r = m + 1 erhalten
einen Widerspruch, da B 0 nicht degeneriert ist.
Lemma 12.6 Die Matrizen A0 und B 0 seien nicht degeneriert. Dann gilt
(a) Jede Pseudo-Strategie in S (bzw. in T ) besitzt höchstens m (bzw. n) Markierungen.
(b) K, L ⊂ M ∪ N seien Teilmengen der Größen m und n. Dann gibt es höchstens eine
Pseudo-Strategie s ∈ S, die mit K markiert ist und höchstens eine Pseudo-Strategie
t ∈ T , die mit L markiert ist.
Beweis (a) haben wir bereits gezeigt. (b) Die Pseudo-Strategie s sei mit der Menge K
0 von B 0 wie auch eine Einschränkung
markiert. Dann definiert K eine m × m Teilmatrix BK
βK von β.
0 = β
Wir behaupten, dass BK regulär ist, wenn das Gleichungssystem st · BK
K lösbar ist.
Wenn nicht, dann ist der Rang von BK höchstens m − 1. Da wir annehmen, dass das Gleichungssystem lösbar ist, ist auch der Rang von B 0 , wenn um die neue Zeile βK vergrößert,
höchstens m − 1: Die Matrix B 0 ist also degeneriert.
Wenn das Gleichungssystem lösbar ist, dann ist es eindeutig lösbar, und das war zu zeigen. Lemma 12.6 und die folgende Beobachtung sind zentral:
Lemma 12.7 Die Matrizen A0 und B 0 seien nicht degeneriert. Die Menge K ⊆ M ∪ N habe
Größe m und trete als Markierung einer Pseudo-Strategie s ∈ S auf. Dann gibt es zu jedem
k ∈ K genau eine Markierung K 0 ⊆ M ∪ N , den k-Nachbarn von K, so dass
- |K 0 | = m,
- |K ∩ K 0 | = m − 1 und k 6∈ K 0 ,
- K 0 tritt als Markierung einer Pseudo-Strategie aus S auf.
Die analoge Aussage für Pseudo-Strategien t ∈ T gilt ebenfalls.
Beweis: Die Pseudo-Strategie s besitze K als Markierung. Die m Markierungen aus K defi0 = β , das s als eindeutige Lösung besitzt.
nieren das Gleichungssystem sT · BK
K
0 zu den
Wir nehmen die Bedingung zu k heraus und betrachten die Teilmatrix C von BK
verbleibenden m − 1 Bedingungen. Wir wissen, dass der Kern von C eindimensional ist,
1
In vielen wichtigen Anwendungen sind sowohl A0 wie auch B 0 nicht-degeneriert.
12.2. DER LEMKE-HOWSON ALGORITHMUS
179
0 ist regulär. Der Vektor x 6= 0 gehöre zum Kern. Damit können genau die Pseudodenn BK
Strategien in S, die zu der Geraden s + λ · x gehören, alle Markierungen in K \ {k} tragen.
Pseudo-Strategien aus S entsprechen den Lösungen von sT · B ≤ β. Jede Markierung j ∈
M ∪ N definiert eine lineare Bedingung hs + λ · x, Bj0 i ≤ βj und damit eine Halbgerade.
Der Durchschnitt der Halbgeraden entspricht genau den Pseudo-Strategien der Geraden, und
dieser Durchschnitt besetzt ein Geraden-Segment.
Wenn wir die Bedingung zu k herausnehmen, dann enthält das Geraden-Segment s als inneren
Punkt, fügen wir die Bedingung zu k wieder hinzu, erhalten wir zwei Endpunkte, nämlich die
Pseudo-Strategie s und eine weitere Pseudo-Strategie s0 . Die Pseudo-Strategie s0 kann mit
K \ {k} markiert werden und einer weiteren Markierung, die das Ende des Segments definiert.
Zwischen s und s0 liegende Pseudo-Strategien s00 besitzen nur Markierungen aus K \ {k}:
keine Bedingung hs + λ · x, Bj0 i ≤ βj für j 6∈ K kann exakt im Inneren des Geraden-Segments
erfüllt werden.
Aufgabe 96
Warum kann im obigen Argument angenommen werden, dass s ein innerer Punkt des Geraden-Segments ist,
wenn die Bedingung zu k herausgenommen wird?
Wir sagen, dass eine Pseudo-Strategie s zulässig ist, wenn s eine Markierung K mit |K| = m
besitzt. Analog heißt eine Pseudo-Strategie t zulässig, wenn t eine Markierung L mit |L| = n
besitzt. Schließlich nennen wir ein Paar (s, t) zulässig, wenn s und t zulässig sind und wenn
|K ∪ L| ≥ m + n − 1. Wenn (s, t) zulässig ist, gilt also stets |K ∩ L| ≤ 1. Wir nutzen aus, dass
(0, 0) zulässig ist.
Beachte, dass ein zulässiges Paar einem Nash-Gleichgewicht entspricht, wenn |K ∪ L| = m + n
und wenn weder s noch t dem Nullvektor entspricht. Lemma 12.7 bietet uns die Möglichkeit,
beginnend mit dem zulässigen Vektor (0, 0) alle zulässigen Paare zu durchlaufen bis wir ein
Nash-Gleichgewicht gefunden haben:
• Angenommen, wir „besuchen“ gegenwärtig den zulässigen Vektor (s, t) mit der Markierung (K, L) und es ist K ∩ L = {j}.
• Wenn wir die Markierung j gerade als Markierung von s oder als Markierung von t
erhalten haben, dann entfernen wir j als Markierung des Partners, also als Markierung
von t oder als Markierung von s.
Algorithmus 12.8 Der Algorithmus von Lemke und Howson
(0) M ist die Strategie-Menge von Spieler 1, N ist die Strategie-Menge von Spieler 2.
(1) Wir beginnen mit dem Paar (s, t) = (0, 0) von Pseudo-Strategien.
(1a) Sei k ∈ M beliebig: Wir nennen k die fehlende Markierung.
(1b) Sei s0 der k-Nachbar von s und sei k 0 die Markierung von s0 , die k ersetzt. Setze
s = s0 .
Kommentar: Das Paar (0, 0) ist zulässig mit den Markierungen K = M und L = N .
Das neue Paar (s, 0) ist ebenfalls zulässig mit den Markierungen K 0 = K \{k}∪{k 0 }
und L: Die Markierung k fehlt.
Die neue Markierung k 0 markiert jetzt sowohl s wie auch t = 0 und ist deshalb im
nächsten Schritt durch eine Markierung k 00 zu ersetzen.
180
KAPITEL 12. DIE BERECHNUNG VON NASH-GLEICHGEWICHTEN
(2) Wiederhole solange bis k 0 = k:
(2a) k 0 ist als neue Markierung von s hinzu gekommen.
Wenn t0 der k 0 -Nachbar von t und k 00 die Markierung von t0 ist, die k 0 ersetzt,
dann setze t = t0 und k 0 = k 00 .
(2b) k 0 ist als neue Markierung von t hinzu gekommen.
Wenn s0 der k 0 -Nachbar von s und k 00 die Markierung von s0 ist, die k 0 ersetzt,
dann setze t = t0 und k 0 = k 00 .
Der Algorithmus von Lemke und Howson arbeitet auf einem ungerichteten Graphen G, dessen Knoten aus allen zulässigen Paaren (s, t) von Pseudo-Strategien bestehen. Wenn (s, t)
kein Nash-Gleichgewicht ist und wenn (s, t) von (0, 0) verschieden ist, dann fügen wir eine
Verbindung zwischen (s, t) und (s0 , t) genau dann ein, wenn s0 der j-Nachbar von s ist und
j die eindeutig bestimmte Markierung ist, die sowohl für s wie auch für t auftritt. Kanten
zwischen (s, t) und (s, t0 ) werden analog eingesetzt.
Alle Knoten von G, die kein Nash-Gleichgewicht sind und von (0, 0) verschieden sind, besitzen
zwei Nachbarn, nämlich (s, t0 ) und (s0 , t). Auf diesen Knoten zerfällt G also in Wege und
Kreise.
Der Algorithmus von Lemke und Howson beginnt im Paar (0, 0) und ersetzt die Markierung k
durch eine Markierung k 0 ∈ N , um das Paar (s1 , 0) zu erhalten. (s1 , 0) ist von (0, 0) verschieden und kein Nash-Gleichgewicht. Im Folgenden kehrt der Algorithmus nie zu einem bereits
besuchten Knoten (s, t) 6= (0, 0) zurück, denn ansonsten hätte (s, t) drei Nachbarn.
Kann der Algorithmus zum Knoten (0, 0) zurückkehren? Das Paar (0, 0) besitzt die fehlende
Markierung k. Wenn der Algorithmus die fehlende Markierung k in einem von (0, 0) verschiedenen Paar (s, t) zurückerhalten hat, dann ist (s, t) ein Nash-Gleichgewicht und wir sind
fertig. Also wird k zurückerhalten, wenn (0, 0) zum zweiten Mal besucht wird. Das ist aber
nur vom Knoten (s1 , 0) aus möglich und (s1 , 0) wäre zweimal besucht worden!
Kein zulässiges Paar wird also zweimal besucht. Nach Lemma 12.6 (b), gibt es aber nur endlich
viele zulässige Paare: Der Algorithmus muss in einem Paar mit genau einem Nachbarn, also
in einem Nash-Gleichgewicht enden!
Satz 12.9 Algorithmus 12.8 bestimmt ein Nash-Gleichgewicht.
Wir haben somit einen konstruktiven Nachweis von Nash-Gleichgewichten für allgemeine
Zwei-Personen Spiele geführt. Eine für alle Eingaben effiziente Lösung ist bisher nicht gefunden worden. Desweiteren können Beispiele konstruiert werden, in denen der Graph aus
mehreren Zusammenhangskomponenten besteht: Der Algorithmus von Lemke und Howson
kann also nicht dazu benutzt werden, sämtliche Nash-Gleichgewichte aufzuspüren.
Varianten von Nash-Gleichgewichten, nämliche approximative und korrelierte Nash-Gleichgewichte können hingegen effizient bestimmt werden:
Aufgabe 97
Wir interessieren uns für die effiziente approximative Bestimmung eines Nash-Gleichgewichts für ein Zweipersonen Spiel in Normalform. Die Auszahlungen für Spieler A (B) sei durch die n × n Matrix A (B) gegeben. Die
Zeilen (Spalten) sind mit den reinen Strategien von A (B) indiziert. Es gelte 0 ≤ Ai,j , Bi,j ≤ 1 für 1 ≤ i, j ≤ n
nach einer entsprechenden Skalierung der Auszahlungen. Für die gemischte Strategie x von A und y von B
ergibt sich somit die Auszahlung xAy (xBy) für A (B).
12.2. DER LEMKE-HOWSON ALGORITHMUS
181
Wir nennen (x, y) ein ε-approximatives Nash-Gleichgewicht, falls
∀x0 : x0 Ay
≤
xAy + ε
und ∀y 0 : xBy 0
≤
xBy + ε
gilt. Außerdem sind wir daran interessiert, dass sich die Auszahlung für jeden Spieler nicht zu sehr gegenüber
der Auszahlung im Nash Gleichgewicht ändert: Wenn (x∗ , y ∗ ) ein Nash-Gleichgewicht ist, dann nennen wir ein
ε-approximatives Nash-Gleichgewicht (x, y) ε-nah zu (x∗ , y ∗ ), wenn
|xAy − x∗ Ay ∗ |
<
ε
und |xBy − x∗ By ∗ |
<
ε
gilt. Das folgende Argument ermöglicht uns die Konstruktion eines ε-nahen Nash-Gleichgewichts in quasipolynomieller Zeit (also in Zeit nO(log n) ).
Ein exaktes Nash-Gleichgewicht (x∗ , y ∗ ) sei bekannt und es gelte k = d12 ln n/2 e. Der folgende randomisierte
Algorithmus liefert dann mit positiver Wahrscheinlichkeit ein ε-nahes Nash-Gleichgewicht (x, y).
• Setze xj := 0 und yj := 0 für 1 ≤ j ≤ n.
• Wiederhole k mal
– Wähle j zufällig gemäß der Verteilung x∗ (also prob(j = i) = x∗i ).
– Setze xj := xj + k1 .
– Wähle j zufällig gemäß der Verteilung y ∗ .
– Setze yj := yj + k1 .
2
2
(a) Zeige, dass prob(|xAy ∗ − x∗ Ay ∗ | ≥ 4ε ) ≤ 2e−kε /8 und dass prob(|xAy − xAy ∗ | ≥ 4ε ) ≤ 2e−kε /8 gilt.
Hinweis:
Für unabhängige Zufallsvariablen X1 , . . . , Xk mit 0 ≤ Xi ≤ 1 für 1 ≤ i ≤ k und 0 < δ < k −
Pk
E[ i=1 Xi ] gilt
prob
k
X
Xi − E
" k
X
i=1
∗
∗
x By | ≥
ε
})
2
−kε2 /8
≤ 4e
!
Xi ≥ δ
2
2
≤ e− k δ .
i=1
∗
ε
})
2
(b) Folgere aus (a), dass prob({|xAy −x Ay | ≥
∗
#
2
≤ 4e−kε
/8
gilt. Beachte, dass entsprechend prob({|xBy −
folgt.
2
(c) Zeige, dass für jedes i = 1, . . . , n prob(ei Ay − ei Ay ∗ ≥ 2ε ) ≤ e−kε /2 gilt; ei ist der Zeilenvektor, der an
der i-ten Stelle den Eintrag 1 und sonst 0 hat.
(d) Zeige, dass für jedes i = 1, . . . , n aus ei Ay − ei Ay ∗ < 2ε und |xAy − x∗ Ay ∗ | < 2ε folgt, dass ei Ay − xAy < ε.
2
2
Folgere, dass prob(ei Ay − xAy ≥ ε) ≤ e−kε /2 + 4e−kε /8 gilt. Somit ist keine reine Strategie ei mit hoher
Wahrscheinlichkeit viel besser als x, wenn B die gemischte Strategie y benutzt.
2
2
Beachte, dass entsprechend prob(xBei − xBy ≥ ε) ≤ e−kε /2 + 4e−kε /8 für jedes i folgt, wobei hier ei als
Spaltenvektor zu lesen ist.
(e) Zeige, dass (x, y) mit positiver Wahrscheinlichkeit ein ε-approximatives Nash-Gleichgewicht ist, das ε-nah
zu (x∗ , y ∗ ) ist.
(f) Konstruiere nun einen deterministischen Algorithmus, der zu gegebenen Matrizen A, B und gegebenem
Fehler ε (natürlich ohne Kenntnis von (x∗ , y ∗ )) ein ε-approximatives Nash-Gleichgewicht (x, y), das ε-nah zu
O( ln2n )
einem Nash-Gleichgewicht ist, in Zeit nO(k) = n
ε
berechnet.
Aufgabe 98
Wir führen korrelierte Nash-Gleichgewichte ein. Ein korreliertes Nash-Gleichgewicht liegt vor, wenn es für
jeden Spieler das Beste ist, der ihm gegebenen Empfehlung zu folgen. Genauer: Es gibt n Spieler und jeder
Spieler hat die Wahl zwischen den Strategien seiner Strategiemenge Si = {si,1 , . . . , si,mi } und für jeden Spieler
gibt es eine Funktion ui , die jedem Strategieprofil die anfallende Auszahlung zuweist. Das Spiel wird nun um
ein glaubwürdiges Orakel erweitert. Das Orakel weist jedem Strategieprofil eine Wahrscheinlichkeit zu, mit der
diese Kombination empfohlen wird. Diese Wahrscheinlichkeitsverteilung ist allen Spielern bekannt. Das Orakel
wählt zufällig gemäß seiner Wahrscheinlichkeitsverteilung eine Kombination von Empfehlungen und gibt diese
an die Spieler weiter. Ein Spieler erfährt dabei nur seine eigene Empfehlung.
Das Orakel stellt ein korreliertes Nash-Gleichgewicht dar, falls für jeden Spieler i und jede ihn erreichende
Empfehlung si,j gilt, dass es für Spieler i das (erwartet) Beste ist, der Empfehlung zu folgen, falls jeder andere
Spieler sich an die Empfehlung hält.
182
KAPITEL 12. DIE BERECHNUNG VON NASH-GLEICHGEWICHTEN
(a) Zeige, dass für jedes Spiel ein gemischtes Nash-Gleichgewicht auch als ein korreliertes Nash-Gleichgewicht
aufgefasst werden kann.
1. Wir betrachten das folgende Spiel: n Autos möchten eine Brücke überqueren, die dem Gewicht von genau
c < n Autos standhält. Jeder Spieler hat die Strategien fahren und stehenbleiben. Jeder Spieler bewertet
das Überqueren der Brücke mit 1, das Stehenbleiben mit 0 und den Einsturz der Brücke, während man
sich auf ihr befindet, mit −1000. Zeige, dass es für dieses Spiel ein korreliertes Nash-Gleichgewicht gibt,
bei dem die erwartete Auszahlung des schlechtgestelltesten Spielers besser ist als bei jedem gemischten
Nash-Gleichgewicht.
(b) n Spieler möchten eine Ressource benutzen. Sie haben die Strategien nachfragen oder nicht nachfragen.
Fragt ein Spieler die Ressource nicht nach, so ist seine Bewertung 0. Fragen k Spieler die Ressource nach,
so erhält jeder von ihnen eine Auszahlung von f (k)/k, wobei f eine streng monoton fallende Funktion
mit Wertebereich zwischen 0 und 1 ist. Die Funktion f beschreibt also den Anteil der Ressource, der
an die Spieler ausgeschüttet werden kann. Fragen viele Spieler die Ressource nach, so fällt für die
Koordination der Anfragen so viel Arbeit an, dass mit wachsendem k immer weniger zu verteilen ist.
Aus sozialer Sicht sind wir an einer guten Auslastung der Ressource interessiert, also an einer entsprechend hohen Summe der Auszahlungen an die Spieler. Zeige, dass kein korreliertes Nash-Gleichgewicht
entsteht, das besser ist als das beste gemischte Nash-Gleichgewicht. Wie ist das beste gemischte NashGleichgewicht aus sozialer Sicht zu bewerten?
(c) Zeige, wie zu einem gegebenen Spiel, ein die Gesamtauszahlung an die Spieler maximierendes korreliertes
Nash-Gleichgewicht effizient berechnet werden kann.
12.3
Fixpunktsätze
Wir erinnern daran, dass eine Menge X ⊆ Rn kompakt heißt, wenn X abgeschlossen und
beschränkt ist. Beachte, dass, nach dem Satz von Weierstrass, eine stetige Funktion auf einer
kompakten Menge ihr Minimum (bzw. Maximum) annimmt. X heißt konvex, wenn X mit je
zwei Punkten x, y ∈ X auch die x und y verbindende Gerade enthält. X heißt abgeschlossen,
wenn das Komplement von X eine offene Menge ist.
Eine Korrespondenz f : X ⇒ Y ist eine Abbildung einer Menge X in Teilmengen einer Menge
Y , d.h. es gilt stets f (x) ⊆ Y . Die Paarmenge
G(f ) = {(x, y) | x ∈ X, y ∈ f (x) }
ist der Graph der Korrespondenz f . Wir sagen, dass die Korrespondenz f konvex-wertig ist,
wenn f (x) für jedes x ∈ X eine konvexe Menge ist. f heißt nicht-leer, wenn f (x) für jedes
x ∈ X nicht-leer ist. Wir formulieren jetzt den Fixpunktsatz von Kakutani ohne Beweis. Er
ist die Grundlage für den Nachweis von Nash-Gleichgewichten.
Satz 12.10 Kakutani’s Fixpunktsatz
Sei X ⊆ Rn kompakt, konvex und nicht-leer. f : X ⇒ X sei eine nicht-leere, konvex-wertige
Korrespondenz, deren Graph G(f ) abgeschlossen ist. Dann besitzt f einen Fixpunkt, also einen
Punkt x∗ ∈ X mit x∗ ∈ f (x∗ ).
Eine erste unmittelbare Konsequenz ist Brouwer’s Fixpunktsatz.
Korollar 12.11 Brouwer’s Fixpunktsatz
Sei X ⊆ Rn kompakt, konvex und nicht-leer.Dann besitzt jede stetige Funktion f : X → X
einen Fixpunkt, also einen Punkt x∗ ∈ X mit f (x∗ ) = x∗ .
12.3. FIXPUNKTSÄTZE
183
Beweis: Sei f : X → X eine stetige Funktion. Wir erhalten aus f eine Korrespondenz
F , wenn wir F (x) = {f (x)} setzen. Offensichtlich ist F eine nichtleere und konvexwertige
Korrespondenz, und wir müssen nur beobachten, dass der Graph einer stetigen Funktion
abgeschlossen ist.
Aufgabe 99
Beweise Brouwer’s Fixpunktsatz, wenn X eine kompakte, konvexe und nicht-leere Teilmenge der reellen Zahlen
ist.
Hinweis: Der Zwischenwertsatz besagt, dass für eine stetige Funktion f : [a, b] → IR und eine beliebige Zahl
c zwischen f (a) und f (b) ein x ∈ [a, b] mit f (x) = c existiert.
Bevor wir die Existenz von Nash-Gleichgewichten nachweisen, betrachten wir eine andere
Anwendung der Fixpunktsätze von Brouwer und Kakutani.
Beispiel 12.1 Gleichgewichte in Märkten
n Händler bieten Teilmengen von k Gütern an und möchten selbst Güter erwerben. Wir
nehmen dazu an, dass Händler i den Gütervektor ei ∈ Rk anbietet und dass seine Kaufpräferenzen für Güterkombinationen durch die Bewertungsfunktion ui : Rk → R wiedergegeben
wird: ui (y) ist die Bewertung der Güterkombination y ∈ Rk durch Händler i. Jedes Gut sei
unbeschränkt teilbar.
Ein erster Ansatz versucht durch wechselseitig profitables Tauschen von Gütern, bessere Allokationen e∗i zu erreichen. Nach hinreichend vielen Schritten wird man eine Pareto-Allokation
erreichen, nämlich eine Allokation, in der zusätzlicher Tausch keinen beidseitigen Gewinn
bedeutet; in der Sprache der Informatik entspricht eine Pareto-Allokation einem lokalen Optimum.
Wir betrachten stattdessen die Festsetzung von Preisen in Märkten. Wir untersuchen PreisP
vektoren p mit p ≥ 0 und ki=1 pi = 1 und interpretieren p als die relative Bewertung der
einzelnen Güter. Wenn ein Preisvektor p feststeht, dann wird Händler i einen Gütervektor
x∗i (p) ∈ Rk kaufen wollen, so dass xi = x∗i (p) eine optimale Lösung von
max ui (xi ), so dass hp, xi i ≤ hp, ei i
(12.9)
ist: Jeder Händler maximiert seinen Nutzen unter Einsatz seines Erlöses. Unser Ziel ist die
Bestimmung eines Preisvektors p, so dass der Markt geräumt wird, d.h. wir fordern:
n
X
i=1
x∗i (p) =
n
X
ei .
i=1
Mit anderen Worten,
wenn jeder Händler seine Güter zu Marktpreisen verkauft und mit den Einnahmen seine
bevorzugte Güterkombination erwirbt, dann stimmen wie durch ein Wunder Angebot
und Nachfrage überein und der Markt wird geräumt.
184
KAPITEL 12. DIE BERECHNUNG VON NASH-GLEICHGEWICHTEN
Satz 12.12 Das Arrow-Debreu Theorem
Die folgenden Eigenschaften mögen erfüllt sein:
- Die Bewertungsfunktion ui ist für jedes i echt monoton wachsend, d.h. es ist ui (x) <
ui (y), wann immer x < y.
- Die Bewertungsfunktionen ui sind stetig und konkava , d.h. es ist λ·ui (x)+(1−λ)·ui (y) ≤
ui (λ · x + (1 − λ) · y) für jedes i.
Dann gibt es ein Walras-Gleichgewicht, also einen Preisvektor p mit
a
Pn
∗
i=1 xi (p)
=
Pn
i=1 ei .
Damit wird angenommen, dass der Nutzenzuwachs bei großen Stückzahlen abnimmt.
„Beweis“: Wir beginnen mit einem beliebigen Preisvektor p. Wir setzen
Nachfrage(p) =
n
X
x∗i (p) und Angebot =
i=1
n
X
ei .
i=1
Nachfrage(p)j und Angebotj beziffern also die Nachfrage und das Angebot für das jte Gut.
Da die Bewertungsfunktionen ui für jedes i echt monoton wächst, wird jeder Händler seinen
Erlös vollständig investieren und es ist stets hp, x∗i (p)i = hp, ei i.
Wenn die Nachfrage das Angebot für kein Gut übertrifft, dann haben wir somit ein WalrasGleichgewicht gefunden, denn in diesem Fall muss Nachfrage und Angebot exakt übereinstimmen. Ansonsten übertrifft die Nachfrage das Angebot und wir adjustieren den Preis, so
dass Güter mit zu hoher Nachfrage verteuert werden und setzen
Φ(p) = (
pj + max{0, Nachfrage(p)j − Angebotj }
| 1 ≤ j ≤ k ),
λ
(12.10)
wobei die Normalisierung λ garantiert, dass wir wieder einen legalen Preisvektor erhalten.
P
Der Simplex {x ∈ Rk | x ≥ 0, ki=1 xi = 1 } ist kompakt (da abgeschlossen und beschränkt),
konvex und nicht-leer und Brouwer’s Fixpunktsatz garantiert einen Fixpunkt p∗ , wenn Φ
stetig ist. Gerade dies ist aber nicht der Fall und der Grund, dass wir hier nur eine Beweisidee
beschreiben: Wenn zum Beispiel ein Gut j nichts kostet (pj = 0), dann werden die Händler
das Gut in unendlicher Quantität nachfragen. Wir nehmen hier trotzdem Stetigkeit an und
erhalten Φ(p∗ ) = p∗ .
Behauptung 12.1 Es ist Nachfrage(p∗ ) ≤ Angebot.
Sei D = Nachfrage(p∗ ) − Angebot und Dj0 = max{0, Dj }. Unser Ziel ist der Nachweis von
D ≤ 0. Nach Definition von Φ in (12.10) ist
Φ(p∗ ) =
p∗ + D0
= p∗
λ
und wir erhalten
(λ − 1) · p∗ = λ · p∗ − p∗ = (p∗ + D0 ) − p∗ = D0
(12.11)
als Konsequenz. Da hp∗ , x∗i (p∗ )i ≤ hp∗ , ei i für jeden Händler gilt, folgt durch Summation über
alle Händler
hp∗ , Nachfrage(p∗ )i ≤ hp∗ , Angeboti
12.3. FIXPUNKTSÄTZE
185
und deshalb ist hp∗ , Di ≤ 0. Wir beachten λ ≥ 1 und folgern mit Hilfe von (12.11)
0 ≥ (λ − 1) · hp∗ , Di = h(λ − 1) · p∗ , Di
= hD0 , Di
=
X
max{0, Dj } · Dj =
X
Dj2 .
j,Dj ≥0
j
Also folgt Dj ≤ 0 für alle Güter j und die Behauptung und damit auch das Arrow-Debreu
Theorem ist gezeigt.
Aufgabe 100
Gib einen vollständigen Beweis des Arrow-Debreu Theorems mit Hilfe des Fixpunktsatzes von Kakutani.
Aufgabe 101
Zeige unter den Annahmen des Arrow-Debreu Theorems, dass jedes Walras-Gleichgewicht eine Pareto-Allokation ist.
Korollar 12.13 Jedes Spiel (n, S, U ) in Normalform besitzt ein Nash-Gleichgewicht von gemischten Strategien.
Beweis: Wir sagen, dass sp eine beste Antwort von Spieler p gegen das Strategie Profil s−p
ist, wenn ep (s−p , sp ) ≥ ep (s−p , s∗p ) für alle s∗p ∈ Sp gilt. Wir definieren die Korrespondenz
BA(t) = {s ∈ ×ni=1 Si | für jedes p ist sp eine beste Antwort gegen t−p }
für jedes Profil t gemischter Strategien und beachten, dass s genau dann ein Nash-Gleichgewicht
ist, wenn s ∈ BA(s), d.h. wenn s ein Fixpunkt der Korrespondenz BA ist. Um Kakutani’s
Fixpunktsatz anzuwenden, müssen wir die erforderlichen Voraussetzungen überprüfen:
- Die Urbildmenge von BA ist nicht-leer, kompakt und konvex.
Wenn Spieler p genau ap reine Strategien besitzt, dann entspricht eine gemischte Strategie einem Vektor πp ∈ Rap , der aus dem Simplex
Xp = {x ∈ Rap | x ≥ 0,
ap
X
xi = 1 }
i=1
gewählt wird. Somit ist ×np=1 Xp die Urbildmenge von BA und die Urbildmenge von BA
ist nicht-leer, konvex und kompakt.
- BA ist eine nicht-leere Korrespondenz, denn es gibt stets eine beste Antwort.
- BA ist eine konvex-wertige Korrespondenz.
Wir erinnern an die Definition
ep (π1 , . . . , πn ) =
X
up (s) · Πni=1 πi (si )
s∈×n
i=1 Si
der erwarteten Auszahlung von Spieler p. Beachte, dass ep eine lineare Funktion der
Wahrscheinlichkeiten πp (sp ) ist, wenn die Wahrscheinlichkeiten für die anderen Spieler
fixiert sind.
Wenn s1p und s2p zwei beste Antworten für das Strategie Profil t−p sind, dann ist auch
jede Konvexkombination λ · s1p + (1 − λ) · s2p von s1p und s2p eine beste Antwort, denn ep
ist eine lineare Funktion
186
KAPITEL 12. DIE BERECHNUNG VON NASH-GLEICHGEWICHTEN
- Der Graph G(BA) ist abgeschlossen.
Aufgabe 102
Zeige, dass G(BA) abgeschlossen ist.
12.4
Wie schwer ist die Bestimmung von Nash-Gleichgewichten?
Offenes Problem 4
Können Nash-Gleichgewichte oder Walras-Gleichgewichte in polynomieller Zeit konstruiert werden? Im Fall
von (angenäherten) Walras-Gleichgewichten werden in [DPS] N P -Vollständigkeitsergebnisse für nicht-teilbare
Güter angegeben. Die Argumentation benutzt, dass die Existenz von Walras-Gleichgewichten nur für teilbare
Güter garantiert ist. Da die Existenz von Walras-Gleichgewichten für teilbare Güter garantiert ist, sind N P Vollständigkeitsergebnisse nicht zu erwarten.
Wir werden diese offene Frage nicht beantworten können. Wir zeigen aber zuerst, dass diese
Gleichgewichts-Konstruktionsprobleme irgendwo zwischen den Klassen P und N P „leben“.
Lemma 12.14 Angenommen, ein N P-vollständiges Problem L kann effizient gelöst werden,
wenn Nash-Gleichgewichte effizient berechnet werden können. Dann gilt N P = coN P.
Beweis: Wir wissen, dass es einen effizienten deterministischen Algorithmus A gibt, der
für Eingabe w entscheidet, ob w ∈ L gilt, solange von A angeforderte Nash-Gleichgewichte
effizient konstruierbar sind. Wir zeigen jetzt, dass die Komplementsprache L zur Klasse N P
gehört: Wann immer A ein Nash-Gleichgewicht anfordert, raten wir ein Nash-Gewicht und
verifizieren effizient, dass es sich tatsächlich um ein Nash-Gleichgewicht handelt.
Wir erhalten also statt A einen effizienten nichtdeterministischen Algorithmus für die Komplementsprache. Die Komplementsprache ist aber ein schwierigstes Problem in coN P und
deshalb besitzen alle Sprachen in coN P effiziente nichtdeterministische Algorithmen, gehören also zur Klasse N P.
Die Umkehrbeziehung N P ⊆ coN P zeigt man analog.
Verwandte Fragestellungen, wie etwa die Frage ob ein Spiel in Normalform mindestens zwei
Nash-Gleichgewichte besitzt, sind hingegen als N P-vollständig bekannt.
Wir betrachten das Problem End-of-the-Line, dass sich als Resultat des Lemke-Howson
Algorithmus aufdrängt. In End-of-the-Line ist ein riesiger gerichteter Graph G implizit durch
die folgenden Schaltkreise gegeben:
- Ein Schaltkreis K überprüft, ob ein String v ∈ {0, 1}n der Name eines Knotens von G
ist.
- Jeder Knoten v von G hat einen Ingrad und einen Outgrad von höchstens eins. Die
Namen des Vorgängers und des Nachfolgers lassen sich durch die Schaltkreise V und N
berechnen.
Desweiteren ist eine ausgezeichnete Quelle s, also ein Knoten mit Ingrad null, gegeben. Das
Ziel ist die Bestimmung irgendeiner von s verschiedenen Quelle oder die Bestimmung irgendeiner Senke.
End-of-the-Line erscheint auf den ersten Blick als sehr simples Problem, denn es genügt ja,
von s aus zu starten bis der Endpunkt des Weges gefunden ist. Aber Achtung: Die Eingabelänge des Problems ist durch die Größe der Schaltkreise K, V und N gegeben. Wenn diese
Schaltkreise eine Größe besitzen, die durch ein Polynom in n beschränkt ist, dann dürfen
12.4. WIE SCHWER IST DIE BESTIMMUNG VON NASH-GLEICHGEWICHTEN? 187
auch effiziente Algorithmen für End-of-the-Line höchstens polynomielle Laufzeit aufwenden:
Ein schwieriges Unterfangen bei einem Graphen, der möglicherweise 2n Knoten besitzt!
Es kann gezeigt werden [DGP], dass End-of-the-Line nicht schwieriger ist als die Bestimmung
von Nash-Gleichgewichten für Spiele in Normalform mit drei oder mehr Spielern. In [CDT]
wird diese Reduktion sogar für Nash-Gleichgewichte von Zwei-Personen Spielen nachgewiesen. Diese Ergebnisse lassen die effiziente Bestimmung von Nash-Gleichgewichten als höchst
unwahrscheinlich erscheinen. Weitere Ergebnisse finden sich in [Y].
Sind diese Ergebnisse überraschend? Im Algorithmus von Lemke und Howson haben wir
die Bestimmung eines Nash-Gleichgewichts auf ein zu End-of-the-Line ähnliches Problem reduziert: Wir haben einen ungerichteten Graph mit Knoten vom Grad zwei aufgebaut. Der
schwierige Schritt ist die Umkehrung, also die Reduktion von End-of-the-Line auf die Bestimmung eines Nash-Gleichgewichts.
188
KAPITEL 12. DIE BERECHNUNG VON NASH-GLEICHGEWICHTEN
Kapitel 13
Der Preis der Anarchie
ISP’s werden für ihre Pakete die Wege wählen, die unter den gegenwärtigen Bedingungen
bestmöglich sind. Damit werden ISP’s zu „eigensüchtigen Spielern“, die untereinander um
Ressourcen, nämlich um Wege mit möglichst geringer Belastung, kämpfen. Es ist zu erwarten,
dass das unkoordinierte Verhalten der Spieler zu weiteren Datenstaus führt, da alle Spieler
Wege mit geringer Belastung bevorzugen.1
Bei rationalem Verhalten der Spieler entspricht der Ausgang des für längere Zeit gespielten
Routingspiels einem Nash-Gleichgewicht. Wir stellen uns deshalb die Frage nach dem Preis der
Anarchie, also nach dem worst-case Unterschied zwischen einem Nash-Gleichgewicht einerseits
und dem sozialen Optimum andererseits [KP].
Definition 13.1 Sei (n, S, U ) ein Spiel in Normalform. Für ein Strategie Profil s sei wert(s)
die Summe der Auszahlungen an die Spieler, wenn diese gemäß s spielen. Das soziale Optimum
ist ein Strategie Profil s∗ , so dass
wert(s∗ ) = max wert(s).
s
Wir sagen, dass das Spiel (n, S, U ) c-approximativ ist, wenn
c · wert(s) ≥ wert(s∗ )
für jedes Nash-Gleichgewicht s gilt. (Die Definition ist entsprechend anzupassen, wenn Strafen
zu minimieren sind.)
Der „Preis der Anarchie“ ist also der Faktor c, der das soziale Optimum von einem schlechtesten Nash-Gleichgewicht unterscheidet. Während die Analyse von On-line Algorithmen den
Preis dafür quantifiziert, dass wir die Zukunft nicht kennen und die Analyse von Approximationsalgorithmen den Preis für den Einsatz effizienter Algorithmen beschreibt, möchten wir
hier den Preis für unkoordiniertes, eigensüchtiges, aber intelligentes Verhalten bestimmen.
Wir betrachten ein „Routing-Spiel“ und nehmen an, dass Nachrichten auf (für die jeweilige
Situation) kürzesten Wegen versandt werden. Der Preis der Anarchie misst in diesem Fall
den Unterschied zwischen dem egoistischen Verhalten der einzelnen Spieler, die den Weg
1
Bei der gegenwärtigen Aufteilung des Internet in autonome Systeme kann eine solche Situation nicht
auftreten, da jeder Knoten von genau einem Spieler kontrolliert wird und der Wechsel zwischen autonomen
Systemen von den beiden betroffenen Spieler verhandelt wird. Dieser Abschnitt behandelt also ein futuristisches
Internet.
189
190
KAPITEL 13. DER PREIS DER ANARCHIE
ihrer Nachricht den jeweiligen Umständen anpassen und damit möglicherweise Datenstaus
weiter verschärfen, und dem optimalen Verhalten einer zentralen Kontrollinstanz, die Wege
unter dem globalen Aspekt der Stau-Minimierung auswählt.
Natürlich kann sich das Internet aus Effizienzgründen keine zentrale Kontrollinstanz leisten.
Wenn wir nur leichte Service-Verschlechterungen in Nash-Gleichgewichten feststellen, dann
haben wir somit nachgewiesen, dass das Routing der kürzesten Wege auch eigensüchtiges
Verhalten toleriert.
Das Routing-Spiel: Ein beliebiger gerichteter Graph G = (V, E) sei vorgegeben, wobei jeder
Kante e ∈ E eine konvexe und monoton wachsende Latenz-Funktion le : R → R zugewiesen
wird. Wir erlauben Mehrfachkanten, die mit verschiedenen Latenz-Funktionen beschriftet
sind. Desweiteren sind k Paare (si , ti ) ∈ V 2 und k Emissionsraten ri gegeben. Wir müssen
Pakete mit der Emissionsrate ri von si nach ti über einen oder mehrere Wege Pi,1 , Pi,2 , . . .
verschicken. Die Wege Pi,j definieren einen Fluss f , der jedem Weg Pi,j seine Emissionsrate
fi,j zuordnet und eine Kante mit dem Fluß
X
fe =
fi,j
i,j:e∈Pi,j
P
belastet; insbesondere muss j fi,j = ri gelten.
Die Latenz (oder der Verzögerungsfaktor) einer Kante e ist dann le (fe ), da der Verkehr über
alle e traversierenden Wege aufzusummieren ist. Wir definieren le (fe )·fe als die von e benötigte
Zeit, um sämtliche aufgelaufenen Pakete zu transportieren. Die Latenz
lP (f ) =
X
le (fe )
e,e∈P
eines Weges P legen wir als die Summe der Latenzen der Kanten von e fest und demgemäß
ist lPi,j (f ) · fi,j die Transportzeit entlang Weg Pi,j . Schließlich definieren wir
K(f ) =
X
lPi,j (f ) · fi,j
i,j
als die Kosten des Flusses f : Es ist im Interesse von Spieler i, Wege Pi,j mit minimaler
P
Transportzeit zu bestimmen und damit seine Kosten j lPi,j (f ) · fi,j zu minimieren. K(f ) ist
somit die Summe der Kosten aller Spieler. Wir benötigen aber auch eine alternative Sichtweise:

K(f ) =
X
=
X
lPi,j (f ) · fi,j =
i,j
X
le (fe ) · fi,j
e∈Pi,j
le (fe ) · fi,j =
le (fe ) · fe

X

i,j
X
e i,j:e∈Pi,j
=
X
X
e
le (fe ) ·
X
fi,j
i,j:e∈Pi,j
(13.1)
e
Die Kosten von Fluss f stimmen also mit der Summe der Transportzeiten über alle Kanten
überein.
191
Beobachtung 13.1
(a) Ein Fluss f ist genau dann ein Nash-Gleichgewicht (bzw. ein Nash-Fluss), wenn
kein Spieler seine Latenz durch den Wechsel eines Weges verbessern kann. Mit anderen
Worten, für jedes i und für alle Wege Pi,j und Q von si nach ti muss
lPi,j (f ) ≤ lQ (f )
(13.2)
gelten.
(b) f ist ein optimaler Fluß, falls j fi,j = ri für alle i und falls K(f ) ≤ K(g) für alle
P
Flüsse g (mit j gi,j = ri für alle i) gilt.
P
Um wieviel unterscheiden sich die Kosten eines Nash-Flusses von den Kosten eines optimalen
Flusses? Wir greifen zuerst Beispiel 11.5 wieder auf.
Beispiel 13.1 Wie bisher möchten zwei Spieler jeweils einen Fluss mit Emissionsrate 21 von s
nach t schicken. Die Kante e besitze diesmal die Latenz l1 (x) = xd (für d ≥ 1) und die Kante
f die alte Latenz l2 (x) = 1.
e
s
t
f
Abbildung 13.1: Die Kante e hat Latenz xd
Im einzigen Nash-Gleichgewicht schicken beide Spieler ihren Fluss über die Kante e und
erhalten die Kosten 1. Wenn wir aber einen Fluss von √1d über die Kante f schicken und den
restlichen Fluss über die Kante e, dann erhalten wir die Kosten
√
1
1
1
√ + (1 − √ )d ≤ √ + e−d/ d .
d
d
d
Wenn d also genügend groß ist, dann fallen die Kosten gegen Null.
Wir arbeiten ab jetzt nur noch mit linearen Latenz-Funktionen le (x) = ae · x + be , wobei wir
ae , be ≥ 0 voraussetzen und deshalb insbesondere erreichen, dass le (x) · x konvex ist. In diesem
Fall können wir Nash-Flüsse und optimale Flüsse sehr einfach charakterisieren. Wir erhalten
K(f ) =
X
e
le (fe ) · fe =
X
e
(ae · fe + be ) · fe =
X
ae · fe2 + be · fe
e
als die Kosten des Flusses f und beobachten, dass K(f ) eine konvexe quadratische Funktion
ist (ae ≥ 0).
Aufgabe 103
Betrachte das Problem des Routings der kürzesten Wege im doppelt verketteten Ring mit n ≥ 3 Knoten. Jede
Kante e, die im Uhrzeigersinn verläuft, hat Latenz le (x) = x, während jede Kante e, die in der entgegengesetzten
Richtung verläuft, Latenz le (x) = 1 hat.
192
KAPITEL 13. DER PREIS DER ANARCHIE
(a) Bestimme Nash-Fluss und optimalen Fluss für den Fall, dass jeder Knoten eine Nachricht mit Emissionsrate 1 zu seinem Nachbarn im Uhrzeigersinn transportieren möchte.
(b) Bestimme Nash-Fluss und optimalen Fluss für den Fall, dass jeder Knoten eine Nachricht mit Emissionsrate 1 zu seinem Nachbarn entgegen dem Uhrzeigersinn transportieren möchte.
Hinweis: Aus Symmetriegründen darf angenommen werden, dass sich alle Knoten im Nash-Gleichgewicht
(bzw. im Optimum) gleich verhalten.
Aufgabe 104
Zeige, dass Nash-Flüsse stets existieren.
Angenommen der Fluß f ist optimal. Wenn P = Pi,j ein Weg von si nach ti mit positivem
Fluss (d.h. fi,j > 0) ist und wenn Q ein anderer Weg von si nach ti ist, dann werden wir
uns nicht verbessern, wenn wir den Fluss entlang P um irgendein ε > 0 erniedrigen und
entsprechend um ε entlang Q erhöhen. Wenn also f 0 der neue Fluss ist, dann ist
K(f ) − K(f 0 ) =
X
e∈P,e6∈Q
X
=
X
ae · (fe2 − (fe − ε)2 ) + be · ε +
ae · (fe2 − (fe + ε)2 ) − be · ε
e6∈P,e∈Q
X
2
ae · (2ε · fe − ε ) + be · ε +
e∈P,e6∈Q
ae · (−2ε · fe − ε2 ) − be · ε
e6∈P,e∈Q
≤ 0.
Also folgt insbesondere
X
X
K(f ) − K(f 0 )
=
(2ae · fe + be ) −
(2ae · fe + be ) ≤ 0
ε→0
ε
e∈P,e6∈Q
e6∈P,e∈Q
lim
und damit ist stets
X
(2ae · fe + be ) ≤
X
(2ae · fe + be ).
e∈Q
e∈P
Wir fassen zusammen:
Lemma 13.2 Ein Graph G, Emissionsraten r und Latenzfunktionen le (x) = ae · x + be mit
ae , be ≥ 0 seien gegeben.
(a) Der Fluss f ist genau dann optimal, wenn
X
2ae · fe + be ≤
e∈Pi,j
X
2ae · fe + be
e∈Q
für jedes i und für alle Wege Pi,j und Q von si nach ti mit fi,j > 0 gilt.
(b) Der Fluss f ist genau dann ein Nash-Fluss, wenn
X
e∈Pi,j
ae · fe + be ≤
X
ae · fe + be
e∈Q
für jedes i und für alle Wege Pi,j und Q von si nach ti mit fi,j > 0 gilt. Insbesondere
haben also alle gewählten Wege Pi,j von si nach ti dieselbe Latenz lPi,j (f ), falls fi,j > 0.
(c) Sei f ein Nash-Fluss. Dann ist f /2 ein optimaler Fluss für die Emissionsraten ri /2.
193
Beweis: Für (a) müssen wir nur noch bemerken, dass K(f ) konvex ist: Jedes lokale Minimum
ist also auch ein globales Minimum. Da (b) direkt aus der Definition (13.2) eines Nash-Flusses
folgt, ist nur (c) zu zeigen. Wir wissen, dass f ein Nash-Fluss ist. Nach Teil (b) gilt also
X
2ae ·
e∈P
X
fe
fe
+ be ≤
2ae ·
+ be
2
2
e∈Q
für jedes i und für alle Wege P und Q von si nach ti mit fP > 0. Das aber bedeutet mit Teil
(a), dass f /2 ein optimaler Fluss für die Emissionsraten ri /2 ist.
Wir haben jetzt die Vorbereitungen abgeschlossen und vergleichen einen Nash-Fluss f mit
einem optimalen Fluss f ∗ . Zuerst ist offensichtlich wegen be ≥ 0
K(f /2) =
X1
e
≥
4
· ae · fe2 +
1
· be · fe
2
1
1 X
· ( ae · fe2 + be · fe ) = · K(f ).
4
4
e
Mit Lemma 13.2 wissen wir, dass f /2 ein optimaler Fluss für die Emissionsraten ri /2 ist. Wir
haben gerade gesehen, dass der minimale Fluss für Emissionsraten ri /2 die Kosten mindestens
1
4 · K(f ) besitzt. Da die Kosten offensichtlich steigen, wenn die Emissionsraten steigen, haben
wir also schon K(f ∗ ) ≥ K(f /2) ≥ 14 · K(f ) gezeigt und das Routing über kürzeste Wege ist
zumindest 4-approximativ. Aber wir können unsere Analyse verschärfen.
Lemma 13.3 Ein Graph G, Emissionsraten r und Latenzfunktionen le (x) = ae · x + be mit
ae , be ≥ 0 seien gegeben. Desweiteren sei g ein optimaler Fluss für die Emissionsraten ri .
Dann gilt für jeden Fluss h mit den Emissionsraten 2ri
K(h) ≥ K(g) +
1
· K(2 · g).
2
Bevor wir das Lemma verifizieren, zeigen wir unser Hauptergebnis.
Satz 13.4 Ein Graph G, Emissionsraten ri und Latenzfunktionen le (x) = ae · x + be mit
ae , be ≥ 0 seien gegeben. Wenn f ein Nash-Fluss ist und f ∗ ein optimaler Fluss (jeweils für
die Emissionsraten ri ) ist, dann gilt K(f ) ≤ 34 · K(f ∗ ) und das Routing über kürzeste Wege
ist 34 -approximativ.
Beweis: Wir wenden Lemma 13.3 für g = f /2 und h = f ∗ an und erhalten, da f /2 optimal
für die Emissionsraten r/2 ist,
K(f ∗ ) ≥ K(f /2) +
1
1
1
3
· K(f ) ≥ · K(f ) + · K(f ) = · K(f ).
2
4
2
4
Und das war zu zeigen.
Beweis von Lemma 13.3: Sei e eine beliebige Kante. Die Funktion le (x) · x = ae · x2 + be · x
ist konvex und deshalb gilt die Ungleichung2
le (he ) · he ≥ le (ge ) · ge + (he − ge ) · (le (ge ) · ge )0 .
Wenn die Funktion F konvex ist, dann gilt F (x) ≥ F (y) + (x − y) · F 0 (y), denn die Steigung der Sekante
in den Punkten x und y ist für x ≤ y höchstens so groß wie die Steigung der Tangente im Punkt y.
2
194
KAPITEL 13. DER PREIS DER ANARCHIE
Beachte, dass (le (x) · x)0 = (ae · x2 + be · x)0 = 2 · ae · x + be . Wir setzen le∗ (x) := 2 · ae · x + be
und erhalten
K(h) =
X
le (he ) · he ≥
le (g) · ge +
X
X
(he − ge ) · (le (g) · ge )0
e∈E
e∈E
e∈E
= K(g) +
X
(he − ge ) ·
le∗ (g)
e∈E
= K(g) +
X
le∗ (g) ·
(hPi,j − gPi,j ) = K(g) +
X X
le∗ (g) · (hPi,j − gPi,j )
i,j e,e∈Pi,j
i,j:e∈Pi,j
e∈E
= K(g) +
X
(hPi,j − gPi,j ) · lP∗ i,j (g),
X
i,j
denn wir setzen lP∗ i,j (g) := e,e∈Pi,j le∗ (g). Der Fluss g ist optimal, und wir können Lemma
13.2 (a) anwenden: Die Werte lP∗ i,j (g) sind alle identisch, falls gPi,j > 0. Wir können deshalb
li∗ (g) := lP∗ i,j (g) definieren. Also folgt
P
(hPi,j − gPi,j ) · lP∗ i,j (g)
K(h) ≥ K(g) +
X
= K(g) +
X
i,j
li∗ (g) ·
X
= K(g) +
X
(hPi,j − gPi,j )
j
i
li∗ (g) · (2 · ri − ri ) = K(g) +
X
li∗ (g) · ri .
i
i
Es ist le (2x) = le∗ (x) für jede Kante e. Also folgt lP∗ i,j (g) = e,e∈Pi,j le∗ (g) = e,e∈Pi,j le (2g) =
lPi,j (2g). Also stimmen auch alle Werte lPi,j (2g) überein, und wir können deshalb li (2g) :=
lPi,j (2g) definieren. Beachte, dass li (2g) = li∗ (g) gilt. Also folgt
P
K(h) ≥ K(g) +
X
P
li (2 · g) · ri
i
und das war zu zeigen.
= K(g) +
1 X
li (2 · g) · (2 · ri )
·
2 i
= K(g) +
1
· K(2 · g)
2
In Beispiel 13.1 haben wir gesehen, dass der Preis der Anarchie gegen unendlich strebt, wenn
wir Polynome mit unbeschränkt wachsendem Grad als Latenzfunktionen zulassen. Man kann
aber zeigen, dass der Preis der Anarchie bei Grad höchstens d durch O(d/ ln d) beschränkt
ist. Das Routing Spiel bleibt also selbst dann gutartig, wenn die Geschwindigkeit der Links
aufgrund gröser Belastung stärker als linear fällt.
Vergleichen wir unkoordiniertem Verhalten bei halbierten Emissionsraten mit zentral koordiniertem Verhalten bei ursprünglichen Emissionsraten, dann kann unkoordiniertes Verhalten
sogar für beliebige stetige Latenzfunktionen mithalten!
Satz 13.5 [RT] Ein Graph G, Emissionsraten r und stetige, monoton wachsende Latenzfunktionen le (x) seien gegeben. Wenn f ein Nash-Fluss ist und f ∗ ein optimaler Fluss für die
Emissionsraten 2 · ri ist, dann gilt K(f ) ≤ K(f ∗ ).
195
Aufgabe 105
Wir betrachten das Routing-Problem im folgenden einfachen Modell. Von Knoten x führen m parallele Kanten
zu Knoten y. Der Spieler i will einen Datenstrom der Länge wi von x nach y schicken. Er entscheidet sich,
Kante ji ∈ {1, . . . , m} zu benutzen. Nehmen n Spieler an dem Routing Spiel teil, dann sind die Kosten für
Spieler i
X
Ci (j1 , . . . , jn ) =
wk .
k:jk =ji
Das vorgegebene Routing wird mit max1≤i≤n Ci (j1 , . . . , jn ) bewertet: Ein optimales Routing muss also versuchen, den schlechtgestelltesten Spieler möglichst gut zu stellen.
Wir lassen nun auch gemischte Strategien zu. Jeder Spieler i erhält die Möglichkeit, eine Verteilung pi zu
wählen: Spieler i wird die Kante j mit Wahrscheinlichkeit pi,j benutzen. Hier sind die erwarteten Kosten von
Spieler i
Ci (p1 , . . . , pn ) =
X
n
Y
pk,jk · Ci (j1 , . . . , jn ).
(j1 ,...,jn )∈{1,...,m}n k=1
Die erwartete Bewertung des vorgegebenen Routings ist max1≤i≤n Ci (p1 , . . . , pn ). Ein Nash-Gleichgewicht liegt
vor, wenn für jeden Spieler i und alle Verteilungen p∗i
Ci (p1 , . . . , pn ) ≤ Ci (p1 , . . . , pi−1 , p∗i , pi+1 , . . . , pn )
gilt.
Wähle eine Kantenzahl m, eine Spielerzahl n und Nachrichtenlängen für jeden Spieler, so dass der Preis der
Anarchie mindestens 32 beträgt.
Wir definieren den Preis der Anarchie als den größten Bruch egoistisch/sozial, wobei egoistisch die maximale
erwartete Bewertung eines Nash-Gleichgewichts ist und sozial die minimale erwartete Bewertung eines Routings
ist.
196
KAPITEL 13. DER PREIS DER ANARCHIE
Kapitel 14
Auktionen
Das Einsatzgebiet von Auktionen ist vielfältig. Die schnelle und unkomplizierte Durchführung
einer Auktion wie auch die Möglichkeit einer möglichst fairen Zuteilung sind wichtige Vorteile.
Beispiele von Auktionen beinhalten
- Kunst- und Antiquitäten-Auktionen (Christie’s, Sotheby’s).
- Versteigerungen durch Privatpersonen (Ebay).
- An- und Verkauf von Anleihen und Aktien.
- Versteigerungen durch den Staat wie etwa die UMTS-Versteigerung durch die Regulierungsbehörde für Telekommunikation und Post.
- Versteigerungen unter Zulieferern großer Firmen.
Man unterscheidet zahlreiche Auktionsformen, die aber alle den Zuschlag nur an das Höchstgebot erteilen. Zu den wichtigsten zählen
- Englische Auktionen: Die Teilnehmer der Auktion können durch Handheben oder Zwischenruf den aktuell gebotenen Preis erhöhen. Der Bieter mit dem höchsten Gebot
erhält den Zuschlag.
- Holländische Auktionen1 : Eine Preisuhr läuft rückwärts und der erste Bieter, der bereit
ist, den angezeigten Preis zu bezahlen, erhält den Zuschlag.
- Geschlossene Gebote: Gebote werden zum Beispiel in geschlossenen Briefumschlägen
abgegeben. Insbesondere ist nur die Abgabe eines Gebots möglich (und sinnvoll) und
der Ablauf der Auktion erlaubt keinerlei Information über die Zahlungsbereitschaft
der anderen Teilnehmer. Auch hier geht der Zuschlag an das höchste Gebot, jedoch
unterscheidet man zwei „Mechanismen“ zur Bezahlung.
- Erstpreis-Auktion: das höchste Gebot ist auch zu zahlen. Die Erstpreis-Auktion
ähnelt damit einer holländischen Auktion.
1
Holländische Auktionen werden in holländischen Großmärkten zur Versteigerung von Massenwaren wie
etwa Blumen und Gemüse benutzt.
197
198
KAPITEL 14. AUKTIONEN
- Zweitpreis-Auktion: das zweithöchste Gebot ist zu zahlen. Diese Versteigerungsform ähnelt einer englischen Auktion, denn dort wird der gewinnende Bieter sein
Gebot nur unwesentlich höher als das zweithöchste Gebot wählen. Erst- und Zweitpreis-Auktionen haben wir bereits in Beispiel 11.9 verglichen.
Neben diesen Auktionsformen treten noch weitere Varianten auf. Der Verkäufer hat möglicherweise einen Reservierungspreis p und willigt nur dann in einen Verkauf ein, wenn das
Höchstgebot den Reservierungspreis übersteigen. Bieter müssen vielleicht auch eine Gebühr
entrichten unabhängig davon, ob sie den Zuschlag erhalten oder nicht; in Wohltätigkeitsauktionen erhält das Höchstgebot wie üblich den Zuschlag, aber jedes Gebot wird als Gebühr
eingezogen.
Bisher haben wir nur den einfachsten Auktionstyp, nämlich die Versteigerung eines einzigen
Guts betrachtet. Von besonderer Bedeutung sind desweiteren Auktionen, in denen Exemplare eines Guts in beschränkter Zahl oder unbeschränkter Zahl versteigert werden (Multi-Unit
Auktionen) sowie kombinatorische Auktionen, in denen Gebote für Kombinationen verschiedener Güter abgegeben werden dürfen.
Alle bisher betrachteten Situationen sind ein-seitig: Wir nehmen einen Verkäufer (oder einen
Auktionator) und viele Käufer (oder Bieter) an. In zwei-seitigen Auktionen, wie etwa im
Aktienhandel, treffen wir hingegen eine Vielzahl von Käufern und Verkäufern an. Wir werden
uns aber auf ein-seitige Auktionen einschränken.
Wir beginnen mit Multi-Unit Auktionen und betrachten dann kombinatorische Auktionen.
Wir schließen mit einem Vergleich verschiedener Auktionsformen im Ein-Güter Fall.
14.1
Multi-Unit Auktionen: k Exemplare
Wir betrachten zuerst geschlossene multi-unit Auktionen. Wir nehmen an, dass k Exemplare
eines Guts zur Verfügung stehen. Bieter i gibt ein Gebot der Form (mi , pi ) ab und erklärt
damit seine Bereitschaft, mi Exemplare zum Einzelpreis pi zu erwerben. Wir machen die
folgenden Annahmen:
- Der Auktionsmechanismus, also das Verfahren der Zuteilung und der jeweiligen Preisfestsetzung, ist allen Teilnehmern bekannt.
- Die Bieter sind eigensüchtig. Insbesondere besitzt jeder Bieter eine nur ihm bekannte Bewertung vi seines Gebots und der Bieter versucht, seine Auszahlung vi − qi zu
maximieren, wobei qi der in der Auktion zu bezahlende Gesamtpreis ist.
- Bei Zuschlag muss ein Bieter höchstens sein Gebot bezahlen.
- Bieter kooperieren nicht gegen den Auktionsmechanismus.
Die Bestimmung einer Zuteilung mit optimalem Erlös für den Verkäufer ist äquivalent zum
Rucksackproblem.
Definition 14.1 Im Rucksackproblem sind n Objekte mit Gewichten gi und Werten wi (1 ≤
i ≤ n) vorgegeben ebenso wie eine Gewichtsschranke G. Der Rucksack ist mit einer Auswahl
von Objekten so zu bepacken, dass einerseits die Gewichtsschranke nicht überschritten wird
und andererseits der Gesamtwert maximal ist.
14.1. MULTI-UNIT AUKTIONEN: K EXEMPLARE
199
Um den Zusammenhang zum Rucksackproblem herzustellen, nehmen wir an, dass n Bieter
teilnehmen. Wir setzen gi = mi , wi = mi · pi und setzen die Gewichtsschranke G auf k.
Eine optimale Zuteilung I ⊆ {1, . . . , n} ist jetzt offensichtlich äquivalent zu einer optimalen
Bepackung des Rucksacks mit Objekten aus I.
Die schlechten Nachrichten zuerst: Das Rucksackproblem ist N P -vollständig. Aber wir erhalten auch gute Nachrichten, denn eine effiziente Berechnung gelingt bei nicht zu großer
P
Wertesumme W = ni=1 wi .
Lemma 14.2 Das Rucksackproblem für Wertesumme W und n Objekte kann in Zeit O(n·W )
gelöst werden.
Beweis: Wir beschreiben eine Anwendung des dynamischen Programmierens.
(1) Wahl der Teilprobleme: Für jedes W ∗ ≤ W und jedes i = 1, . . . , n bestimme eine
Auswahl, die höchstens aus den ersten i Objekten besteht, den Wert W ∗ besitzt und
das minimale Gesamtgewicht Gewichti (W ∗ ) hat.
(2) Lösung der Teilprobleme:
Gewichti (W ∗ ) := min {Gewichti−1 (W ∗ − wi ) + gi , Gewichti−1 (W ∗ )} .
Analysieren wir die Laufzeit. Wir haben höchstens
nW = n ·
n
X
wi
i=1
viele Teilprobleme, die jeweils in Zeit O(1) gelöst werden können und die Gesamtlaufzeit ist
deshalb O(nW ).
Wir haben einen Polynomialzeit-Algorithmus erhalten, falls nW polynomiell in n ist. Wir
zeigen als Nächstes, dass wir auch bei sehr großen Werten effizient approximieren können.
Aufgabe 106
Der Beweis zu Lemma 14.2 enthält einen dynamischen Programmieransatz, der nicht vollständig beschrieben
ist.
a) Ergänze den Ansatz um die Initialisierung der Variablen Gewichti (W ∗ ) und beschreibe, wie der Wert der
optimalen Bepackung ausgegeben wird.
b) Wende den Algorithmus auf das Problem n = 4, G = 9, g1 = 3, w1 = 1, g2 = 2, w2 = 2, g3 = 3, w3 = 4, g4 =
4, w4 = 3 an und stelle alle Zwischenergebnisse in einer Tabelle für Gewichti (W ∗ ) dar.
Wir zeigen jetzt, wie man aus der exakten Lösung für kleine Werte ein volles polynomielles
Approximationsschema für beliebige Werte erhält.
Algorithmus 14.3 Ein volles polynomielles Approximationsschema für das Rucksackproblem
(1) Sei (w1 , . . . , wn , g1 , . . . , gn , G) eine beliebige Instanz des Rucksackproblems. Der Approximationsfaktor 1 + ε sei vorgegeben. Entferne alle Objekte, deren Gewicht die Gewichtsschranke G übersteigt.
(2) Packe nur das Objekt mit größtem Wert in den Rucksack. Der erhaltene Wert sei W1 .
200
KAPITEL 14. AUKTIONEN
(3) Die Werte werden nach unten skaliert, nämlich setze
wi∗ = bwi ·
n
c.
ε · maxj wj
(4) Berechne eine exakte Lösung x für die Instanz (w1∗ , . . . , wn∗ , g1 , . . . , gn , G). Wenn x die
P
Objektmenge I ⊆ {1, . . . , n} in den Rucksack packt, dann setze W2 = i∈I wi und
übernimm die Bepackung für die alten Werte.
(5) Gib die beste der beiden Bepackungen aus.
Satz 14.4 Algorithmus 14.3 berechnet eine (1 + ε)-Approximation mit Laufzeit O( 1ε · n3 ).
Beweis: Wir können annehmen, dass alle Objekte eingepackt werden können, da der Algorithmus zu schwere Objekte zuerst entfernt. Die neuen Werte sind durch nε beschränkte
natürliche Zahlen. Wir können somit das Optimierungsproblem in den neuen Werten (und
alten Gewichten) in Zeit O( 1ε · n3 ) exakt lösen.
Sei B die gefundene Bepackung und Bopt die optimale Bepackung (für die alten Werte). Dann
gilt für den Skalierungsfaktor
ε · maxj wj
s=
,
n
dass
X
X
wi ≤
s·b
i∈Bopt
i∈Bopt
X
≤
s·b
i∈B
X
≤
wi
c + sn
s
wi
c + sn denn B ist die beste Bepackung für die Werte wi∗ = b wsi c
s
wi + sn.
i∈B
Fall 1:
wi ≥ maxj wj . Es ist
P
i∈B
P
i∈Bopt
P
i∈B
wi
wi
P
wi + sn
sn
sn
≤1+ P
≤1+
≤ 1 + ε.
maxj wj
i∈B wi
i∈B wi
i∈B
≤
P
(14.1)
P
Fall 2: i∈B wi < maxj wj .
Algorithmus 14.3 findet eine Bepackung mit Wert maxj wj . Es ist
P
i∈Bopt
wi
maxj wj
P
≤
wi + sn
maxj wj + sn
sn
≤
≤1+
≤ 1 + ε,
maxj wj
maxj wj
maxj wj
i∈B
denn wir haben die Fallannahme benutzt.
Pn
Abhängig von der Größe der Wertesumme W = i=1 mi · pi haben wir also die Option der
Berechnung einer optimalen Zuteilung in Zeit O(n · W ) oder einer (1 + ε)-approximativen
Zuteilung in Zeit O( 1ε · n3 ).
Auktion 14.5 Die Multi-Unit Auktion mit maximalen Einkünften
(1) Die Bieter 1, . . . , n geben ihre geschlossenen Gebote (m1 , p1 ), . . . , (mn , pn ) ab.
14.1. MULTI-UNIT AUKTIONEN: K EXEMPLARE
201
(2) Eine optimale Zuteilung I ⊆ {1, . . . , n} wird mit Hilfe des Rucksackproblems bestimmt:
Bieter i ∈ I erhält bei Zuschlag die gewünschten mi Exemplare und bezahlt den Betrag
mi · pi .
Auktion 14.5 ist nur dann sinnvoll, wenn die Nachfrage das Angebot übertrifft, da ansonsten
Exemplare zum Schleuderpreis abgegeben werden. Ein weiterer Nachteil sind die unterschiedlichen Einzelpreise (die Einzelpreise berechnen sich aus den jeweiligen Geboten). Deshalb
betrachten wir als Nächstes die Bestimmung des höchsten Preises, der den Markt räumt.
Auktion 14.6 Die Multi-Unit Höchstpreis-Auktion
(1) Die Bieter 1, . . . , n geben ihre geschlossenen Gebote (m1 , p1 ), . . . , (mn , pn ) ab.
(2) pπ(1) , . . . , pπ(n) sei die absteigend sortierte Reihenfolge der gebotenen Einzelpreise pi .
P
Bestimme den maximalen Preis p = pi , so dass ij=1 mπ(j) ≥ k.
Alle Bieter j mit pj > p erhalten die gewünschte Stückzahl zum Einzelpreis p. Das
verbleibende Kontingent wird unter den Bietern j mit pj = p so aufgeteilt, dass eine
größtmögliche Anzahl von Exemplaren zum Einzelpreis p verteilt werden.
Aufgabe 107
(a) Zeige, dass Auktion 14.6 effizient, d.h. polynomiell in n und k, berechnet werden kann.
(b) Man kann allgemeinere Gebote zulassen, in denen ein Bieter für jeden Preis die Anzahl der gewünschten Exemplare spezifiziert. Wenn P verschiedene Preise zugelassen sind, kann dann die Höchstpreis-Auktion
effizient durchgeführt werden? Die Laufzeit sollte polynomiell in n, k und P sein.
Auktion 14.5 versucht nicht, die Einkünfte des Verkäufers zu maximieren, sondern hat als
Priorität die Räumung des Lagers. Wenn die Einkünfte des Verkäufers zu maximieren sind,
P
P
dann wird man ein kleinstes i mit ij=1 mπ(j) ≥ k bestimmen, so dass pπ(i) · ij=1 mπ(j)
größtmöglich ist.
Wir stellen als Nächstes die Vickrey-Variante der Höchstpreis-Auktion vor.
Auktion 14.7 Die Multi-Unit Vickrey Auktion
(1) Die Bieter 1, . . . , n geben ihre geschlossenen Gebote (m1 , p1 ), . . . , (mn , pn ) ab.
(2) pπ(1) , . . . , pπ(n) sei die absteigend sortierte Reihenfolge der gebotenen Einzelpreise pi .
P
Bestimme den maximalen Preis pl , so dass lj=1 mπ(j) ≥ k.
Zuschläge erfolgen wie in Auktion 14.6. Wenn qj das j-höchste abgelehnte EinzelpreisP i
Gebot ist, dann muss Bieter i, bei Zuschlag, den Betrag m
j=1 qj bezahlen.
Achtung: Die Nachfrage muss das Angebot übertreffen, sonst sind die qj nicht
definiert!
Aufgabe 108
Zeige, dass Auktion 14.7 ehrlich ist.
Schließlich beschreiben wir eine offene Auktion, die man als eine Version der Vickrey-Auktion
ansehen kann. Da die Bieter maximale Information erhalten, ist diese Version besonders
attraktiv.
Auktion 14.8 Die Multi-Unit Auktion mit aufsteigender Preisuhr
(1) Der Auktionator gibt eine aufsteigende Folge von Preisen vor.
202
KAPITEL 14. AUKTIONEN
(2) Wenn p < p∗ der gegenwärtige Preis ist und wenn Bieter i für mi (p) Exemplare bietet,
dann erhält Bieter i
X
max{0, k −
mj (p)}
j,j6=i
Exemplare zum Stückpreis p.
(3) Die Auktion endet, wenn ein Preis p∗ erreicht wird, für den die Nachfrage das Angebot
nicht übersteigt. Die nicht zwischenzeitlich vergebenen Exemplare werden zum Preis p∗
zugeteilt.
14.2
Multi-Unit Auktionen: Unbeschränkte Anzahl
Wir betrachten das Versteigerungsproblem für digitale Güter und nehmen also an, dass das
Gut in unbeschränkt vielen Exemplaren zur Verfügung steht. Desweiteren erlauben wir nur,
dass ein Bieter ein einziges Exemplar erwerben kann; diese Einschränkung kann problemlos
aufgehoben werden und dient nur der Vereinfachung der Notation.
Definition 14.9 Eine Funktion p : Rn → Rn definiert einen Auktionsmechanismus: Für den
Gebotsvektor g = (g1 , . . . , gn ) erhält der ite Bieter genau ein Exemplar zum Preis pi (g), wenn
pi (g) ≤ gi .
Unser Ziel ist der Entwurf ehrlicher Auktionsmechanismen, die die Einkünfte des Verkäufers
maximieren.
Wir beginnen mit der nicht-ehrlichen Einzelpreis-Auktion, die maximale Einkünfte erlöst,
wenn Bieter ihre Bewertung als Gebot einreichen und wenn ein einziger Preis festzulegen ist.
Auktion 14.10 Einzelpreis-Auktion
(1) g sei der Gebotsvektor der Länge n. Es gelte o.B.d.A. g1 ≥ g2 ≥ · · · ≥ gn
(2) Der Mechanismus bestimmt
P(g) = max k · gk .
k
(3) Wenn P(g) = k · gk , dann erhalten genau die Bieter i mit gk ≤ gi ein Exemplar des
Guts zum Preis gk .
Aufgabe 109
Pn
Zeige, dass stets P(g) = Ω(
Pn
Θ(
gn
i=1 i
log2 n
i=1
gi
log2 n
) gilt. Zeige, dass es eine Familie g n von Gebotsvektoren mit P(g n ) =
) gibt.
Allerdings erhalten die Bieter keinen Anreiz, ihre wirkliche Bewertung als Gebot einzureichen,
die Einzelpreisauktion ist also nicht ehrlich. Wenn genau k Exemplare zu verkaufen sind, dann
bietet sich die VCG-Auktion an: Verkaufe die k Exemplare an die k Höchstbieter zum Preis
des k + 1ten Gebots. Zwar ist diese Auktion ehrlich, aber der Erfolg der Auktion ist an die
Höhe des k + 1ten Gebots geknüpft. Wir suchen nach Alternativen und bestimmen zuerst
Kriterien für ehrliche Auktionsmechanismen. Wann ist die Preisgabe der eigenen Bewertung
für jeden Bieter eine dominante Strategie im nicht-kooperativen Auktionsspiel?
14.2. MULTI-UNIT AUKTIONEN: UNBESCHRÄNKTE ANZAHL
203
Definition 14.11 Ein Auktionsmechanismus heißt gebot-unabhängig, falls pi (g) für jedes i
nicht vom Gebot gi abhängt.
Lemma 14.12 Ein Auktionsmechanismus p ist genau dann ehrlich, wenn p gebot-unabhängig
ist.
Beweis: Wir nehmen zuerst an, dass p gebot-unabhängig ist. Bieter i kann den Preis pi (g)
nicht beeinflussen, da pi (g) nicht von seinem Gebot abhängt. Wenn vi < pi (g), dann kann das
Gut nicht mit Profit ersteigert werden und die Preisgabe gi = vi ist optimal. Wenn pi (g) ≤ vi ,
dann wird jedes Gebot gi ≥ pi (g) zur Ersteigerung mit Profit vi − pi (g) ≥ 0 führen, während
ein niedrigeres Gebot nur riskiert, dass eine Zuteilung nicht erfolgt. In jedem Fall ist die
Preisgabe der Bewertung vi also eine dominante Strategie.
Schließlich nehmen wir an, dass p ein ehrlicher Auktionsmechanismus ist. Wir zeigen, dass
pi (g) für keinen Gebotsvektor g von gi abhängt. Ist dies nicht der Fall, dann gibt es zwei
Gebotsvektoren g 1 und g 2 , die sich nur in Komponente i unterscheiden, so dass pi (g 1 ) 6= pi (g 2 ).
Es gelte o.B.d.A. pi (g 1 ) < pi (g 2 ) und Bieter i mit Bewertung gi2 steht sich besser, das Gebot
gi1 statt seiner Bewertung gi2 abzugeben. Also ist p nicht ehrlich.
Wie gut können ehrliche Auktionsmechanismen vom Standpunkt des Verkäufers sein? Wir
vergleichen die Einkünfte ehrlicher Auktionsmechanismen mit den Einkünften des optimalen
P
(aber nicht ehrlichen) Einzelpreis-Mechanismus. Offensichtlich ist ik=1 gk eine obere Schranke für die maximal erzielbaren Einkünfte. Wir behaupten aber, dass sogar P(g) eine obere Schranke für gebot-unabhängige Mechanismen ist und diese Aussage wird auch gelten,
wenn wir statt mit einer gebot-unabhängigen Preisfindung mit einer Verteilung über gebotunabhängigen Preissetzungen arbeiten. Allerdings müssen wir uns auf monotone Auktionen
einschränken.
Definition 14.13 Eine Auktion (n, p) heißt genau dann monoton, wenn p gebot-unabhängig
ist (bzw. einer Verteilung über gebot-unabhängigen Preissetzungen entspricht) und wenn für
jeden Vektor g = (g1 , . . . , gn ) von Geboten und für jede Fixierung der Münzwürfe von p (mit
resultierendem deterministischen Mechanismus p0 )
gi ≤ gj
⇒
p0i (g) ≥ p0j (g)
(14.2)
gilt2 .
In einer monotonen Auktion muss der Verkäufer einen gebot-unabhängigen Mechanismus
verwenden. Der Verkäufer hat damit für die Preissetzung des iten Bieters keinen Zugriff
auf das ite Gebot. In (14.2) wird gefordert, dass Preise höchstens ansteigen, wenn wir den
Preis zu einem höheren Gebot mit dem Preis zu einem niedrigen Gebiet vergleichen: Dies ist
nicht überraschend, da der Mechanismus in der Preisfestsetzung zu dem niedrigen Gebot das
niedrige Gebot nicht mehr „sieht“ und deshalb zu einem höheren Preis tendieren wird.
Wir zeigen jetzt die verschärfte obere Schranke für die Einkünfte des Verkäufers und betrachten dazu sogar die Möglichkeit, eine nicht-erfolgreiche Auktion (bei zu geringen Einkünften
des Verkäufers) abzusagen.
2
Der Begriff der Monotonie ist unnötig scharf gewählt. Es genügt zu fordern, dass prob[ pi (g) ≥ α ] ≥
prob[ pj (g) ≥ α ] für jedes α gilt.
204
KAPITEL 14. AUKTIONEN
Lemma 14.14 Eine monotone Auktion (n, p) sei gegeben, in der die Möglichkeit der Absage
besteht. Der Auktionsmechanismus sei möglicherweise randomisiert.
Dann sind die erwarteten Einkünfte des Verkäufers, unter der Bedingung der Nicht-Absage,
durch P(g) nach oben beschränkt.
Beweis: Wir fixieren die Gebote und nehmen o.B.d.A. an, dass g1 ≥ · · · ≥ gn gilt. Wir
fixieren die Münzwürfe des randomisierten Mechanismus und erhalten einen deterministischen
Mechanismus p, der gebot-unabhängig ist. Sei gk das kleinste Gebot, das den Zuschlag unter
p erhält. Da p monoton ist, gilt pi (g) ≥ pj (g), wann immer gi ≤ gj . Also erhalten genau die
Bieter mit Geboten mindestens gk den Zuschlag und zahlen einen Preis von höchstens gk .
Somit betragen die Einkünfte höchstens k · gk ≤ P(g) und die erwarteten Einkünfte sind
damit ebenfalls durch P(g) nach oben beschränkt.
Wie gut sind ehrliche Mechanismen im Vergleich zur oberen Schranke P(g)?
Beobachtung 14.1 Für jeden ehrlichen Auktionsmechanismus und für jedes α ≥ 1 gibt es
einen Gebotsvektor g, so dass die erwarteten Einkünfte des Verkäufers durch
1
· P(g)
α
nach oben beschränkt sind. Dieses Ergebnis gilt sogar für randomisierte Auktionsmechanismen.
Beweis: Wir fixieren eine Zahl α ≥ 1 und betrachten einen beliebigen randomisierten und
gebot-unabhängigen Mechanismus p für zwei Bieter. Bestimme die kleinste reelle Zahl h ≥ 1,
so dass
1
prob[ p1 (1) ≥ h ] ≤
.
2α
Wir betrachten den Gebotsvektor g = (H, 1) mit dem sehr hohen Gebot H = 4α · h. Beachte, dass p1 (1) den Preis für Bieter 1 festsetzt, denn der Auktionsmechanismus ist gebotunabhängig.
Wenn p1 (1) ≤ h, dann bezahlt der erste Bieter höchstens h und dies geschieht mit Wahr1
scheinlichkeit mindestens 1 − 2·α
. Sollte hingegen p1 (1) ≥ h eintreten, dann ist höchstens H
zu bezahlen und dieses Ereignis tritt mit der sehr kleinen Wahrscheinlichkeit von höchstens
1
2·α ein.
Da vielleicht noch ein Beitrag von höchstens 1 durch das niedrige Gebot des zweiten Bieters
erfolgt, sind die erwarteten Einkünfte durch
1
1
1
1
)+H ·
+ 1 ≤ h + 2 · h + 1 ≤ 4 · h = · H = · P(g)
h · (1 −
2·α
2·α
α
α
nach oben beschränkt.
Also können auch die Einkünfte des optimalen Einzelpreis-Mechanismus nicht approximativ durch ehrliche Auktionsmechanismen erbracht werden, und wir müssen die Erwartungen
weiter herunterschrauben. Im besten Fall können ehrliche Auktionsmechanismen mithalten,
wenn minimaler Wettbewerb besteht, das heißt, wenn mindestens zwei Bieter einen Zuschlag
erhalten. Dann aber sind
P2 (g) = max k · gk
k≥2
die Einkünfte des Einzelpreis-Mechanismus, falls g1 ≥ g2 ≥ · · · ≥ gn . Wie gut sind deterministische Mechanismen im Vergleich zur oberen Schranke P2 (g)? Wir betrachten die
Schwellenwert-Auktion als ein erstes Beispiel.
14.2. MULTI-UNIT AUKTIONEN: UNBESCHRÄNKTE ANZAHL
205
Auktion 14.15 Schwellenwert-Auktion
(1) g sei der Gebotsvektor der Länge n.
(2) Wiederhole für alle i ∈ {1, . . . , n}:
Bestimme den optimalen Einzelpreis pi für alle Gebote mit Ausnahme von gi : Der
Einzelpreis pi maximiert also die Einkünfte des Verkäufers, wenn der Verkäufer
alle Gebote bis auf Gebot gi sieht.
Kommentar: Offensichtlich ist p gebot-unabhängig.
Die Schwellenwert-Auktion ergibt hervorragende Ergebnisse, wenn die Gebote durch unabhängige, gleichverteilte Zufallsvariablen erzeugt werden, denn man kann zeigen, dass die Einkünfte für wachsende Bieterzahl n gegen die Einkünfte des optimalen Einzelpreis Mechanismus
konvergieren. Allerdings ist das worst-case Verhalten erbärmlich:
n
Wir nehmen an, dass G
Bieter das Gebot G >> 1 und die verbleibenden Bieter das
Gebot 1 abgeben. Die Schwellenwert-Auktion bestimmt zuerst 1 als Preis eines Bieters
mit Gebot G:
n
− 1 mal abgegeben
- Von den verbleibenden n − 1 Bietern wird das Gebot G nur G
und ein Einzelpreis größer als 1 führt nur auf die Einkünfte n − G, während der
Einzelpreis 1 auf die Einkünfte n − 1 führt.
Schließlich wird G als Preis eines Bieters mit Gebot 1 bestimmt:
- Von den verbleibenden n − 1 Bietern wird das Gebot G jetzt
und führt auf die optimalen Einkünfte n.
n
G
mal abgegeben
n
Also erhalten nur die G
Bieter mit Gebot G den Zuschlag und müssen dafür den Preis 1
n
entrichten. Den erzielten Einkünften von G
stehen damit die Einkünfte n des optimalen
Einzelpreis-Mechanismus gegenüber. Die Schwellenwert-Auktion liefert somit Einkünfte,
die um den Faktor G niedriger als die optimalen Einkünfte sein können.
Der Schwellenwert-Mechanismus versagt vom worst-case Standpunkt. Gibt es aber möglicherweise bessere deterministische Mechanismen? Wir beschränken uns auf symmetrische Auktionsmechanismen, also auf Mechanismen, deren Berechnungen nicht von der Reihenfolge der
Gebote abhängen.
Lemma 14.16 Ein deterministischer, symmetrischer Auktionsmechanismus p sei vorgegeben, wobei p zusätzlich noch gebot-unabhängig ist. Dann gibt es einen Gebotsvektor g der
Länge n, so dass die Einkünfte durch n1 · P2 (g) nach oben beschränkt sind.
Beweis: Wir betrachten nur Gebotsvektoren, deren Gebote entweder 1 oder n sind. Wir
setzen E(j) als den Preis, den die Auktion für einen Bieter erzielt, wenn genau j der restlichen
Gebote den Wert n besitzen.
Fall 1: E(0) > 1.
Dann erzielt die Auktion für den Gebotsvektor, der nur aus den Geboten 1 besteht, überhaupt
keine Einkünfte, da kein einziger Zuschlag erfolgt, und die Behauptung folgt.
Fall 2: E(0) ≤ 1.
206
KAPITEL 14. AUKTIONEN
Wir wählen ein größtmögliches k mit E(k) ≤ 1 und betrachten einen Gebotsvektor mit genau
k + 1 vielen n-Geboten. Da E(k + 1) > 1, erhalten Bieter mit Gebot 1 keinen Zuschlag. Für
einen Bieter mit Gebot n, wird aber nur der Preis E(k) festgesetzt, denn der Mechanismus
ist gebot-unabhängig und „sieht“ den Bieter in der Preisfestsetzung nicht. Also erwirtschaftet
die Auktion damit Einkünfte von höchstens (k + 1) · E(k) ≤ k + 1.
Für k = 0 ist P2 (g) = n, während die Auktion höchstens 1 = n1 · P2 (g) erwirtschaftet.
Ansonsten ist k ≥ 1 und P2 (g) = (k + 1) · n. In diesem Fall sind die Einkünfte der Auktion
höchstens k + 1 = n1 · P2 (g).
Aufgabe 110
Ein beliebiger Auktionsmechanismus mit Wettbewerbsfaktor λ sei gegeben. Zeige, dass es dann einen symmetrischen Auktionsmechanismus mit Wettbewerbsfaktor λ gibt. (Hinweis: Verwende Randomisierung.)
Glücklicherweise haben randomisierten Auktionsmechanismen Erfolg.
Auktion 14.17 Einzelpreis-Auktion für eine zufällige Zweiteilung
(1) Zerlege die Menge der n Bieter zufällig in zwei Teilmengen B1 und B2 .
(2) Wende den Einzelpreis-Mechanismus sowohl auf die Gebote zu B1 wie auch auf die
Gebote zu B2 an. Die erzielten Preise seien p1 und p2 .
(3) Ein Bieter in B1 (bzw. B2 ) erhält den Zuschlag, falls sein Gebot nicht kleiner als p2
(bzw. p1 ) ist.
Kommentar: Die Auktion ist gebot-unabhängig, da die Preissetzung für einen Bieter
nicht von dem Gebot des Bieters abhängt.
Es kann gezeigt werden, dass die Einkünfte von Auktion 14.17 asymptotisch mit P2 (g) übereinstimmen [GHKW]. Wir verzichten auf den Beweis, denn Auktion 14.17 ist leider nicht
absagbar und wir werden das Konzept der Absagbarkeit für verallgemeinerte Auktionen später benötigen.
Aufgabe 111
Konstruiere einen Gebotsvektor g, so dass Auktion 14.17 Einkünfte von höchstens
1
2
· P2 (g) erzielt.
Offenes Problem 5
Bestimme den Wettbewerbsfaktor von Auktion 14.17 möglichst genau, da bisher nur ein relativ großer (aber
beschränkter) Wettwerbsfaktor nachgewiesen wurde. Wenn es anderseits eine Konstante H gibt, so dass alle
Gebote mindestens 1 und höchstens H sind, dann konvergiert der Wettbewerbsfaktor für wachsende Bieterzahl
n sogar gegen 1 [GHKW].
Definition 14.18 Ein Auktionsmechanismus ist absagbar, wenn der Mechanismus ehrlich
ist und für jede Konstante C ehrlich bleibt, wenn die Auktion bei Einkünften von höchstens
C abgesagt wird.
Um zu zeigen, dass Auktion 14.17 nicht absagbar ist, betrachten wir wieder einen Gebotsvektor mit einem dominanten Bieter. Für den Gebotsvektor g = (1, . . . , 1, n) wird der Preis
n für die Klasse B festgesetzt, die den Hochgebot-Bieter enthält, während der Preis 1 für die
andere Klasse ermittelt wird. Diese Preissetzung führt dazu, dass nur die Bieter der Klasse B
den Zuschlag erhalten und die erwarteten Einkünfte n2 werden erwirtschaftet, da die Bieter
der Klasse B jeweils den Preis 1 bezahlen müssen. Für den Hochgebot-Bieter stellt sich die
Situation wie folgt dar, wenn wir die Auktion bei Einkünften von höchstens 34 · n absagen:
14.2. MULTI-UNIT AUKTIONEN: UNBESCHRÄNKTE ANZAHL
207
- Bietet er n, dann erhält er keinen Zuschlag, da die Auktion dann hochwahrscheinlich
abgesagt wird. Seine Auszahlung ist also Null.
- Bietet er 1, wird für jede Klasse der Preis 1 festgesetzt und die Auktion ist erfolgreich
mit den Einkünften n. Seine Auszahlung ist jetzt n − 1.
Es lohnt sich somit, die eigene Bewertung nicht preiszugeben und die Auktion ist nicht absagbar. Aber es gibt absagbare Auktionsmechanismen, die stets hohe Einkünfte erwirtschaften.
Auktion 14.19 Einzelpreis-Auktion für eine zufällige Zweiteilung mit Kostenteilung
(1) Zerlege die Menge der n Bieter zufällig in zwei Teilmengen B1 und B2 .
(2) Wende den Einzelpreis-Mechanismus sowohl auf die Gebote zu B1 wie auch auf die
Gebote zu B2 an. Die erzielten Preise seien p1 und p2 .
(3) Führe Kostenteilung für jede Klasse Bi durch:
Wenn die andere Klasse die Einkünfte E über den Einzelpreis-Mechanismus erwirtschaftet, dann bestimme das größte k, so dass mindestens k Bieter aus Bi ein
Gebot von mindestens k1 · E abgegeben haben.
Gibt ein solches k nicht, dann wird kein Bieter aus Bi berücksichtigt. Ansonsten
erhalten die k Höchstbieter den Zuschlag für jeweils den Preis k1 · E.
Kommentar: Wenn die Einkünfte zu beiden Zerlegungen verschieden sind, dann wird
kein Bieter aus der Klasse mit den geringeren Einkünften berücksichtigt. Tatsächlich
wird die Eigenschaft verschiedener Einkünfte für die Absagbarkeit benötigt: Wiederhole
deshalb die Schritte (1)-(3) solange, bis verschiedene Einkünfte erzielt werden.
Wir analysieren zuerst die Höhe der Einkünfte von Auktion 14.19 und weisen dann Absagbarkeit nach. Die Auktion erbringt genau die Einkünfte P(g 0 ) für den Gebotsvektor g 0 der
verlierenden Bieterklasse und wir haben damit schon starke Indizien für eine Vergleichbarkeit
mit P2 (g). Beachte aber, dass wir, im Vergleich mit Auktion 14.17 im Allgemeinen freiwillig
auf die Hälfte der Einkünfte verzichten.
Satz 14.20 Die erwarteten Einkünfte von Auktion 14.19 betragen mindestens
1
4
· P2 (g)
Beweis: Das Maximum von P2 (g) werde für k ≥ 2 Bieter mit einem Einzelpreis p erzielt.
Diese k Bieter werden in der zufälligen Zerlegung in k 0 bzw. k 00 Bieter aufgeteilt. Wenn P i (g i )
der optimale Einzelpreis für die Klasse Bi ist, dann ist offenbar
P 1 (g 1 ) ≥ p · k 0 und P 2 (g 2 ) ≥ p · k 00 .
Also erzielen wir mindestens die Einkünfte
p · min{k 0 , k 00 } =
min{k 0 , k 00 }
· P2 (g).
k
208
KAPITEL 14. AUKTIONEN
Um die erwarteten Einkünfte zu analysieren, müssen wir den Erwartungswert von min{k 0 , k 00 }
bestimmen. Es ist
k−1
X
!
k
E[ min{k , k } ] =
min{i, k − i} ·
· 2−k
i
i=1
0
00
Aufgabe 112
k
Pk−1
k−1
Zeige, dass
min{i, k − i} · ki · 2−k = k2 − bk/2c
· 2k .
i=1
Nach Division durch k nimmt dieser Ausdruck sein Minimum 1/4 für k = 2 und k = 3 an.
Die Behauptung folgt aus der Aufgabe. Beachte aber auch, dass der Wettbewerbsfaktor gegen
2 konvergiert, wenn k wächst.
Der Wettbewerbsfaktor 4 wird auch fast erreicht. Dazu betrachten wir Gebotsvektoren mit
zwei sehr großen Geboten H und H + ε und den restlichen, vernachläßigbar kleinen Geboten.
Wenn die beiden hohen Gebote nicht getrennt werden, dann sind nur die geringen Einkünfte
der Verliererklasse zu erbringen und die Einkünfte sind in diesem Fall vernachläßigbar gering.
Werden die beiden hohen Gebote (mit Wahrscheinlichkeit 12 ) getrennt, dann betragen die
Einkünfte der Verliererklasse H und die erwarteten Einkünfte betragen somit ungefähr 21 · H.
Da P2 (g) ≈ 2 · H wird der Wettbewerbsfaktor 4 also tatsächlich fast erreicht.
Satz 14.21 Auktion 14.19 ist absagbar.
Beweis: Auktion 14.19 ist offensichtlich ehrlich. Also ist die Preisgabe der eigenen Bewertung
eine dominante Strategie, wenn nicht abgesagt wird. Wir müssen somit sicherstellen, dass die
Offenlegung der Bewertung auch bei Absage eine dominante Strategie bleibt. Dazu ist zu
zeigen, dass eine Gebotsänderung, die zu einer erfolgreichen Auktion führt, keine positive
Auszahlung impliziert.
Wir fixieren die Zufallsbits von Auktion 14.19 und einen Bieter i, der seine Bewertung offenlegt. O.B.d.A. gehöre i zur Klasse B1 .
Fall 1: Bieter i erhält den Zuschlag bevor über eine Absage entschieden wird.
Also sind die Einkünfte von B1 höher als die Einkünfte von B2 . Eine Erhöhung des Gebots von
Bieter i verändert die Einkünfte des Verkäufers nicht und die Auktion bleibt damit erfolglos.
Eine Erniedrigung kann nur dazu führen, dass die Einkünfte des Verkäufers weiter sinken und
die Auktion bleibt weiterhin erfolglos.
Fall 2: Bieter i erhält keinen Zuschlag bevor über eine Absage entschieden wird.
Wenn Bieter i sein Gebot erhöht, dann kann dies nicht zu einer positiven Auszahlung führen:
Erhält er den Zuschlag, dann ist seine Auszahlung negativ, erhält er keinen Zuschlag, dann
ist die Situation für ihn unverändert.
Offenes Problem 6
In [FGHK] wird unter bestimmten Einschränkungen gezeigt, dass randomisierte ehrliche Auktionsmechanismen
einen kleineren Wettbewerbsfaktor als 2 nicht erreichen können. Gibt es randomisierte ehrliche Auktionsmechanismen mit Wettbewerbsfaktor kleiner als 4? Gibt es randomisierte absagbare Auktionsmechanismen mit
Wettbewerbsfaktor kleiner als 4?
Wir haben bisher angenommen, dass der Verkäufer nur die einmaligen Kosten der Herstellung
des Guts durch den Erlös der Auktion amortisieren muss. Was aber passiert, wenn die Bieter in
Märkte zusammengefasst werden und die Lieferung an einen Markt zu nicht vernachläßigbaren
Kosten führt?
14.2. MULTI-UNIT AUKTIONEN: UNBESCHRÄNKTE ANZAHL
209
Beispiel 14.1 Pay-Per-View in segmentierten Märkten.
Eine Pay-Per-View Firma bedient verschiedene Märkte M1 , . . . , Mk und möchte für jeden
Markt einen Preis festsetzen. Wir nehmen an, dass im Markt Mi die Fixkosten Ki entstehen,
wenn mindestens ein Bieter des Markts beliefert wird und suchen nach einer Preissetzung
und einer Marktauswahl, so dass die Einkünfte, also die Differenz zwischen der Summe der
bezahlten Preise und der Summe der Fixkosten über alle bedienten Märkte, maximiert werden.
Der Preissetzung soll wiederum ein ehrlicher Mechanismus zugrunde liegen.
Beispiel 14.2 Preisfindung für Multicasts.
Hier ist ein Multicast-Baum und ein System von Preisen zu bestimmen, so dass die Differenz
zwischen der Summe der bezahlten Preise und den Kosten des Multicast-Baums möglichst
groß ist. Die Knoten entsprechen den (disjunkten) Mengen der Kunden, den Märkten.
Alle Beispiele werden von dem Begriff der „verallgemeinerten Auktion“ erfasst.
Definition 14.22 Eine verallgemeinerte Auktion wird durch den Vektor (n, M1 , . . . , Mm , c, p)
beschrieben.
(1) Die Märkte M1 , . . . , Mm bilden eine Zerlegung der Menge der n Bieter.
Die Funktion c : {0, 1}m → R≥0 beschreibt die dem Verkäufer entstehenden Kosten: Für
r ∈ {0, 1}m gelte ri = 1 genau dann, wenn mindestens ein zu Si gehöriger Bieter ein
Exemplar des versteigerten Guts erhält. Also stimmen die dem Verkäufer entstehenden
Kosten mit c(r) überein.
(2) Der Auktionsmechanismus besteht einerseits aus einer Preissetzung
p : Rn → Rn ,
die den Preis für Bieter i bei Geboten g = (g1 , . . . , gn ) als pi (g) definiert. Der zweite
Teil des Mechanismus bestimmt eine Marktzuteilung r ∈ {0, 1}m , so dass die Einkünfte
m
X
j=1
rj ·
X
pi (g)
i,i∈Mj und pi (g)≤gi
des Verkäufers maximiert werden. Bieter i erhält also genau dann eine Kopie des Guts,
wenn sein Markt bedient wird und sein Gebot gi mindestens so hoch wie der Preis pi (g)
ist.
Wir sagen, dass der Mechanismus gebot-unabhängig ist, wenn pi für jedes i nicht von
den Geboten von Bieter i abhängt.
Wir erhalten das Basismodell einer Auktion bei unbeschränktem Vorrat als einen Spezialfall
einer verallgemeinerten Auktion für m = 1. In der Preisfindung für Multicasts entsprechen
die Märkte den Knoten des Netzwerks, und die Funktion c(r) beschreibt die Kosten eines
Multicast-Baums, der genau die Knoten i mit ri = 1 besitzt.
Wir können jetzt ausnutzen, dass Auktion 14.19 absagbar ist, um einen ehrlichen Auktionsmechanismus für verallgemeinerte Auktionen zu erhalten.
Auktion 14.23 Ein ehrlicher Mechanismus für verallgemeinerte Auktionen
210
KAPITEL 14. AUKTIONEN
(1) Wende Auktion 14.19 auf jeden Markt an. Die Einkünfte für den jten Markt mögen Ej
betragen.
(2) Bestimme eine optimale Marktzuteilung r, d.h. es gelte
m
X
rj · Ej − c(r) ≥
j=1
m
X
sj · Ej − c(s)
j=1
für jede Marktzuteilung s ∈ {0, 1}m .
(3) Sage die Auktion in jedem Marktsegment Mj mit rj = 0 ab. In jedem anderen Marktsegment ist die Auktion erfolgreich.
Damit erhalten wir also insbesondere einen ehrlichen Auktionsmechanismus für das MulticastProblem. Im Vergleich mit Beispiel ?? versuchen wir diesmal allerdings nicht die Kosten weitgehendst auf die Kunden umzulegen, sondern verfolgen den Ansatz der Profitmaximierung des
Verkäufers (unter Verwendung ehrlicher Mechanismen). Beachte, dass sich der Wettbewerbsfaktor 4 nicht auf Auktion 14.23 vererbt, da jetzt die Kosten der Lieferung in die Berechnung
der Einkünfte miteinbezogen werden.
Aufgabe 113
Implementiere Schritt (2) durch einen verteilten Algorithmus. Hinweis: Betrachte den verteilten Algorithmus
aus Beispiel ??.
14.3
Kombinatorische Auktionen
Wir nehmen wieder an, dass n Bieter an einer geschlossenen Auktion teilnehmen, in der eine
Menge U von m Gütern zur Versteigerung anstehen3 . Ein Bieter besitzt eine nur ihm bekannte
Bewertungsfunktion
b : P(U ) → R,
wobei der Bieter bereit ist, den Betrag b(S) zu zahlen, wenn er den Zuschlag für die Teilmenge
S ⊆ U erhält. Es ist also möglich, Gebote für alle Teilmengen von Objekten abzugeben und
wir sprechen deshalb von kombinatorischen Auktionen. Beispiele sinnvoller Anwendungen
beinhalten unter Anderen die Ersteigerung von
- Rechten zu identischen Frequenzbändern in geographisch benachbarten Gebieten, bzw.
von Rechten zu verschiedenen Frequenzbändern in einem geographischen Gebiet,
- fehlenden Stücken einer Sammlung, wobei aber nur bestimmte Kombinationen von
Stücken von Interesse sind.
Die Auktion verläuft in einer einzigen Runde, in der die Bieter ihre Bewertung an den Auktionator weitergeben. Der Auktionator wird nach Einsicht aller Gebote eine Zuteilung, also
eine Zerlegung der Gütermenge in disjunkte Teilmengen und eine Zuordnung an die Bieter,
berechnen, so dass eine vorgegebene Zielfunktion approximiert oder, besser noch, optimiert
wird. Im Verkäuferproblem zum Beispiel wird versucht, die Einkünfte des Verkäufers zu maximieren, also eine disjunkte Zerlegung X1 ∪ X2 ∪ · · · ∪ Xn = U zu bestimmen, so dass der
3
Wir nehmen in diesem Abschnitt stets an, dass nur ein Exemplar eines Guts zur Verfügung steht. Stehen
mehrere Exemplare zur Verfügung, dann spricht man von einer kombinatorischen Mehrgüter-Auktion.
14.3. KOMBINATORISCHE AUKTIONEN
211
insgesamt gezahlte Betrag ni=1 gi (Xi ) maximal ist. (gi (x) ist das Gebot von Bieter i für Xi .)
Weitere Optimierungsprobleme treten auf, wenn ehrliche Auktionsmechanismen angewandt
werden.
Wir werden die folgenden drei grundlegenden Probleme in den nächsten Abschnitten untersuchen:
P
- Gebotformulierung: Da Gebote für alle 2m Teilmengen abgegeben werden können, muss
dem Bieter ein Formalismus, also eine „Bietersprache“ zur Verfügung gestellt werden,
die es ihm erlaubt, seine verschiedenen Gebote kompakt zu formulieren.
- Zuteilung: Der Auktionator muss versuchen, eine optimale oder zumindest fast-optimale
Zuteilung für die jeweilige Zielfunktion zu bestimmen. Dies führt im Allgemeinen auf
sehr komplexe algorithmische Fragestellungen.
- Konstruktion des Mechanismus: Welcher Mechanismus ist anzuwenden? Gibt es insbesondere ehrliche Mechanismen, selbst wenn die Zielfunktion nur approximativ berechenbar ist?
14.3.1
Gebotformulierung
Wir führen die Bietersprache OR∗ ein, die es dem Bieter in einigen wichtigen Fällen erlaubt,
Gebote mit vernünftigem Aufwand zu formulieren. Hierzu fordern wir, dass die Bewertung
eines jeden Bieters die beiden folgenden Eigenschaften besitzt:
- Für je zwei Teilmengen S ⊆ T gilt b(S) ≤ b(T ).
- b(∅) = 0.
In OR∗ kann Bieter i seine eigene Menge Ui von neuen (Phantom-)Objekten bestimmen.
Seine Gebote sind (beliebig viele) Paare (S1 , p1 ), . . . , (Sk , pk ) mit S1 , . . . , Sk ⊆ U ∪Ui und dem
Maximalpreis pj für Obermengen T von Sj . Der Bieter muss sich mit Abgabe dieser Gebote
insbesondere bereit erklären, die Summe seiner Gebote für jedes Teilsystem disjunkter Gebote
zu zahlen. Wird eine Menge S auf mehr als eine Weise als Vereinigung disjunkter Gebote
dargestellt, dann muss der Bieter bereit sein, den Höchstpreis unter den Darstellungen zu
zahlen.
Definition 14.24 Wir sagen, dass die Gebote (S1 , p1 ), . . . , (Sk , pk ) die Bewertung b definieren,
wenn für jede Teilmenge S ⊆ U
b(S) =
max
Si1 ,...,Sir ⊆S,Si1 ∩···∩Sir =∅
pi1 + · · · + pir
(14.3)
gilt. Werden Phantom-Objekte aus U 0 benutzt, dann benutzt man (14.3) zur Definition von
b(S 0 ) für Teilmengen S 0 ⊆ U ∪ U 0 und setzt b(S) = maxS 0 ⊆S∪U 0 b(S 0 ).
Die „Phantom-Objekte“ in Ui erlauben die Formulierung von Bedingungen des Bieters: Will
der Bieter entweder die Teilmenge S1 (mit Maximalpreis p1 ) oder die Teilmenge S2 (mit
Maximalpreis p2 ) ersteigern, dann formuliert er die beiden Gebote (S1 ∪ {g}, p1 ) und (S2 ∪
{g}, p2 ) mit einem Phantom-Objekt g.
Wir werden gleich sehen, dass ohne Phantom-Objekte nur Bewertungen b mit b(S∪T ) ≥ b(S)+
b(T ) (für disjunkte Mengen S und T ) definiert werden können. Wenn S = {1} und T = {10 }
212
KAPITEL 14. AUKTIONEN
für identische Waren 1 und 10 gilt, dann wird man nach dem Sättigungsprinzip erwarten,
dass der Erhalt einer ersten Kopie den Nutzen einer zweiten Kopie schmälert und deshalb
wird man in diesem Szenario eher b(S ∪ T ) < b(S) + b(T ) annehmen. Die ohne PhantomObjekte definierten Bewertungen sind also stark eingeschränkt. Mit Phantom-Objekten kann
andererseits jede Bewertung definiert werden.
Beobachtung 14.2
(a) Eine Bewertung b ist genau dann ohne Phantom-Objekte definierbar, wenn b(S ∪ T ) ≥
b(S) + b(T ) für alle Paare disjunkter Teilmengen S und T gilt.
(b) Jede Bewertung kann in OR∗ definiert werden.
Beweis (a) ⇒ Wenn die Bewertung b durch Gebote ohne Phantom-Objekte definiert wird,
dann folgt aus Definition 14.24 für jedes Paar disjunkter Teilmengen S und T , dass b(S ∪T ) ≥
b(S) + b(T ).
⇐ Für jede Bewertung b gilt
b(S) = b(S) + b(∅) ≤
max
P,R⊆S,P ∩R=∅
b(P ) + b(R).
Wenn zusätzlich b(X ∪ Y ) ≥ b(X) + b(Y ) für alle Paare disjunkter Teilmengen X und Y gilt,
dann erhalten wir
max
P,R⊆S,P ∩R=∅
b(P ) + b(R) ≤
max
P,R⊆S,P ∩R=∅
b(P ∪ R) ≤ b(S)
und als Konsequenz folgt b(S) = maxP,R⊆S,P ∩R=∅ b(P ) + b(R). Also ist die Bewertung b ohne
Phantom-Objekte definierbar.
(b) Sei b eine beliebige Bewertung. Ein Bieter wählt ein einziges Phantom-Objekt g und
formuliert die Gebote (S ∪ {g}, b(S)). Offensichtlich definieren diese Gebote die Bewertung b,
denn S ∪ {g} und ∅ ist das einzige Paar disjunkter Teilmengen von S ∪ {g}.
Zwar ist OR∗ stark eingeschränkt, doch lassen sich einfache Bewertungen mit wenigen Einzelgeboten formulieren.
Beispiel 14.3 Die additive Bewertung
Sei p = (p1 , . . . , pm ) ein Preisvektor für die m Einzelobjekte. Die additive Bewertung b mit
P
b(S) = i∈S pi wird durch die m Gebote ({1}, p1 ), . . . , ({m}, pm ) definiert.
Wenn der Bieter nur bereit ist, für k Waren zu bieten, dann gelingt dies über die k · m Gebote
({1, g1 }, p1 ), . . . , ({1, gk }, p1 ), . . . , ({m, g1 }, pm ), . . . , ({m, gk }, pm ).
Beispiel 14.4 Identische Waren
Wir setzen voraus, dass U aus m „Kopien“ derselben Ware besteht.
(1) Abnehmender Wert: In vielen Fällen ist anzunehmen, dass jedes weitere Objekt einen
geringeren Wert darstellt. Es sei also p1 ≥ p2 · · · ≥ pm und der Bieter sei bereit, p1 +
· · · + pi für i Kopien zu zahlen. Dann gelingt dies mit den m2 Geboten
({1, g1 }, p1 ), . . . , ({m, g1 }, p1 ), . . . , ({1, gm }, pm ), . . . , ({m, gm }, pm ).
14.3. KOMBINATORISCHE AUKTIONEN
213
(2) Beschränktes Budget: Der Bieter sei an höchstens k Kopien interessiert, für die er jeweils
den Höchstbetrag von p bereit ist zu zahlen. Dies gelingt über die Gebote aus (1), wenn
wir nur die Phantom-Objekte g1 , . . . , gk benutzen und p1 = · · · = pk = p setzen.
(3) Mindestabnahme: Der Bieter sei nur daran interessiert, mindestens k Objekte zu ersteigern. Die entsprechende Bewertung kann nicht über Gebote für weniger als k Objekte
definiert werden, da hier nur der Preis 0 geboten wird. Dann müssen aber Gebote für
alle Mengen von k Objekten abgegeben werden und das bedeutet eine Definition mit
m
∗
k Einzelgeboten: Eine signifikante Schwäche von OR .
14.3.2
Zuteilung im Verkäuferproblem
Wir untersuchen zuerst die Komplexität des Verkäuferproblems, also die Komplexität der
Bestimmung einer optimalen Zuteilung, wenn die Einkünfte des Verkäufers zu maximieren
sind.
Im gewichteten Independent Set Problem ist ein ungerichteter Graph gegeben, dessen Knoten
mit Gewichten versehen sind, und es wird nach einer schwersten unabhängigen Menge gefragt.
Zum Beispiel wird in der Vorlesung „Approximationsalgorithmen“ gezeigt, dass es für keine
Konstante ε > 0 effiziente Approximationsalgorithmen gibt, die für alle Graphen mit n Knoten
eine unabhängige Menge der Größe mindestens Ω(opt/n1−ε ) finden. (Diese Aussage gilt, wenn
die Annahme P 6= N P vorausgesetzt wird.) Das gewichtete Independent Set Problem ist also
sehr schwer zu approximieren.
Satz 14.25 Wenn A ein effizienter Algorithmus ist, der das Verkäuferproblem innerhalb des
Faktors λ approximiert, dann gibt es einen effizienten Algorithmus A0 , der das gewichtete
Independent Set Problem innerhalb des Faktors λ approximiert.
Wenn P 6= N P , dann ist eine effiziente Approximation des Verkäuferproblems innerhalb des
Faktors O(n1−ε ) ausgeschlossen!
Beweis: Sei A ein effizienter Algorithmus für das Verkäuferproblem. Wir bilden A zu einem
Algorithmus für das gewichtete Independent Set Problem wie folgt um. Sei G eine Eingabe für
das gewichtete Independent Set Problem. Wir definieren eine zugeordnete kombinatorische
Auktion, indem wir die Kanten von G als Güter und die Knoten von G = (V, E) als Bieter
auffassen. Wenn Knoten v das Gewicht b(v) besitzt und Endpunkt der Kanten e1 , . . . , er ist,
dann wird Bieter v für die Menge {e1 , . . . , er } das Gebot b(v) abgeben.
Wir haben damit sogar eine recht einfache Instanz des Verkäuferproblems erzeugt: Jeder
Bieter gibt genau ein Gebot ab, und jedes Gut, also jede Kante, hat genau zwei Bieter,
nämlich die beiden Endpunkte der Kante. Damit gilt
Eine Knotenmenge I ist genau dann eine unabhängige Menge, wenn die Kantenmengen
für jeden Knoten aus I disjunkt sind, d.h. wenn I eine Zuteilung definiert. Die Einkünfte
der Zuteilung stimmen mit dem Gewicht von I überein.
Da sich unabhängige Mengen und Zuteilungen eineindeutig entsprechen, folgt die Behauptung.
Wir werden im Folgenden trotzdem Heuristiken entwerfen, da die in der Praxis auftretenden
Instanzen nicht notwendigerweise worst-case Instanzen sind. Aber der Verkäufer muss dann
im worst-case hohe Verluste in Kauf nehmen.
214
KAPITEL 14. AUKTIONEN
Unsere Heuristik approximiert das Zuteilungsproblem, wenn Gebote in der OR∗ Sprache abgegeben wurden. Zuerst ist zu beachten, dass wir nicht zwischen wirklichen Objekten und
Phantom-Objekten unterscheiden müssen, wenn wir alle Phantom-Objekte ebenfalls als Waren auffassen. Die Zuteilung muss die Waren disjunkt in Gebote mit insgesamt maximalem
Profit aufteilen und die Urheberschaft der Gebote ist unerheblich.
Seien also (S1 , p1 ), . . . , (Sk , pk ) sämtliche abgegebene Gebote. Wir formulieren das Zuteilungsproblem als ein lineares Programm mit den 0-1 Variablen x1 , . . . , xk . Die Indikatorvariable
xi drückt aus, ob Gebot (Si , pi ) gewinnt und die Bedingungen fordern, dass jede Ware nur
einmal vergeben wird.
max
k
X
p i · xi ,
so dass x1 , . . . , xk ∈ {0, 1} und
i=1
X
xi ≤ 1 für jede Ware j.
i:j∈Si
Da die 0-1 Programmierung nicht effizient gelöst werden kann, gehen wir zur Relaxation über
und ersetzen die 0-1 Bedingungen xi ∈ {0, 1} durch die linearen Bedingungen 0 ≤ xi ≤ 1.
Tatsächlich genügt die Forderung xi ≥ 0 aufgrund der Nebenbedingungen und wir erhalten
das lineare Programm
max
k
X
pi · xi ,
so dass x1 , . . . , xk ≥ 0 und
(14.4)
i=1
X
xi ≤ 1 für jede Ware j.
i:j∈Si
Das lineare Programm (14.4) ist effizient lösbar. Allerdings erlauben wir jetzt fraktionale
Zuteilungen, denn ein Wert xi = 21 besagt zum Beispiel, dass das Gebot (Si , pi ) den Zuschlag
für jeweils die Hälfte einer jeden Ware in Si erhält. Wie können wir ganzzahlige Zuteilungen
aus einer fraktionalen Lösung erhalten? Wir betrachten das duale Programm.
min
m
X
yj ,
so dass y1 , . . . , ym ≥ 0 und
(14.5)
j=1
X
yj ≥ pi für jedes Gebot (Si , pi ).
j:j∈Si
Für optimale Lösungen x = (x1 , . . . , xk ) des primalen Programms (14.4) und y = (y1 , . . . , ym )
P
P
des dualen Programms (14.5) gilt ki=1 pi · xi = m
j=1 yj nach dem Dualitätssatz der linearen
Programmierung. Mit anderen Worten, das duale Programm stellt den (fraktionalen) Gesamterlös dar, in dem es den einzelnen Waren „faire Einzelpreise“ zuordnet: Für jedes Gebot
(Si , pi ) übertrifft die Summe der Preise zu Waren in Si das Gebot pi , aber der Gesamtpreis
aller Waren ist unter diesen Bedingungen zu minimieren. Die beiden optimalen Lösungen
hängen über die komplementären Slackness-Bedingungen zusammen:
Lemma 14.26 x = (x1 , . . . , xk ) (bzw. y = (y1 , . . . , ym )) sei die optimale Lösung des primalen
P
Programms (14.4) (bzw. des dualen Programms (14.5)). Dann gilt pi = j,j∈Si yj für jedes
P
Gebot (Si , pi ) mit xi > 0 und pi ≤ j,j∈Si yj für jedes Gebot xi mit xi = 0.
Fazit: Wenn Güter unbeschränkt teilbar wären, oder in anderen Worten, wenn das primale
Programm die Zuteilung bestimmen würde, dann bietet ein gewinnendes Gebot (Si , pi ) genau
die Summe der Einzelpreise.
14.3. KOMBINATORISCHE AUKTIONEN
215
Beweis: Aus den Bedingungen des dualen Programms folgt, dass das Gebot (Si , pi ) stets
unterhalb des Gesamtpreises von Si liegt und damit folgt die Aussage über Gebote xi mit
xi = 0.
Aus der komplementären Slackness folgt für ein Gebot (Si , pi ) mit xi > 0, dass die zugehörige
P
duale Bedingung j,j∈Si yj ≥ pi exakt erfüllt wird.
Unser Vorgehen zur Bestimmung einer ganzzahligen Zuteilung ist heuristisch: Wir lösen die
P
Programme 14.4) und (14.5) und interpretieren xi , bzw. den Bruch pi / j,j∈Si yj als „Wahrscheinlichkeit“, dass Gebot (Si , pi ) den Zuschlag erhält. Eine lokale Suche versucht, die Heuristik sukzessive zu verbessern.
Algorithmus 14.27 Die Berechnung einer Zuteilung.
(1) Bestimme optimale Lösungen x und y der Programme (14.4) und (14.5).
Kommentar: Tatsächlich genügen bereits approximative Lösungen [ZN].
(2) Ordne die Gebote nach absteigendem x-Wert. Ordne die Gebote i mit xi = 0 nach
P
absteigendem Bruch pi / j,j∈Si yj .
Kommentar: Wir benutzen hier Lemma 14.26 zur Motivation: Je größer pi /
umso größer die „Chance“, dass Gebot i gewinnt.
P
j,j∈Si
yj ,
(3) Setze Gewinner = ∅ und Zugeteilt = ∅. Durchlaufe die geordnete Folge der Gebote:
(Si , pi ) sei das betrachtete Gebot. Wenn Zugeteilt ∩Si = ∅, dann setze Zugeteilt
= Zugeteilt ∪Si und Gewinner = Gewinner ∪{i}.
(4) Führe eine lokale Suche durch, indem ein beliebiges Gebot nach „vorn“ geholt wird.
Wenn Schritt (3) eine bessere Zuteilung für die neue Folge berechnet, dann setze mit
der neuen Folge fort.
Algorithmus 14.27 wird in [ZN] experimentell untersucht. Abweichungen von durchschnittlich nur 0.5% vom Optimum werden beobachtet, wobei allerdings auch Problemverteilungen
mit Abweichungen von 4% sowie Einzelprobleme mit einer Abweichung von 14% gefunden
werden. Laufzeit und Approximationsverhalten werden als im Wesentlichen zufriedenstellend
bezeichnet.
14.3.3
Zuteilung bei ehrlichen Auktionen
Wir beschreiben den verallgemeinerten Vickrey Auktionsmechanismus, eine Verallgemeinerung der Zweitpreis-Auktion.
Auktion 14.28 Die verallgemeinerte Vickrey Auktion
(1) Bestimme eine für das Verkäuferproblem optimale Zuteilung Z. Desweiteren bestimme
für jedes j (1 ≤ j ≤ n) eine ebenfalls für das Verkäuferproblem optimale Zuteilung Zj ,
wobei diesmal Bieter j mit seinen Geboten ausgeschlossen wird.
(2) Wiederhole für jeden Bieter i:
(2a) Bieter i erhält den Zuschlag für die durch Z definierte Güterkombination.
216
KAPITEL 14. AUKTIONEN
(2b) Bestimme den von Bieter i in Z zu bezahlenden imaginären Preis pi (Z) sowie für
jedes j (1 ≤ j ≤ n) die zu zahlenden imaginären Preise pi (Zj ) in Zj .
(2c) Bieter i bezahlt den Preis
qi (Z) =
X
pj (Zi ) −
j:j6=i
X
pj (Z).
j:j6=i
Kommentar: Sei bi (Z) die Bewertung und gi (Z) das Gebot von Bieter i für die in Z
erhaltene Menge von Gütern. Bieter i wird versuchen, seine Auszahlung bi (Z) − qi (Z) =
P
P
bi (Z) − j:j6=i pj (Zi ) + j:j6=i pj (Z) zu maximieren. Da er aber nur den Term V (Z) =
P
bi (Z) + j:j6=i pj (Z) beeinflussen kann, muss er somit versuchen, V (Z) zu maximieren.
Wenn Bieter i ehrlich ist, dann ist bi (Z) = gi (Z) = pi (Z) und V (Z) ist genau der
maximale Verkaufserlös für die Gebote g1 , . . . , gi−1 , bi , gi+1 , . . . , gn . Ist Bieter i hingegen unehrlich gewesen, dann maximiert Z den maximalen Verkaufserlös nur für die
Gebote g1 , . . . , gi−1 , gi , gi+1 , . . . , gn und Z ist möglicherweise suboptimal für die Gebote
g1 , . . . , gi−1 , bi , gi+1 , . . . , gn . Der Bieter muss eine geringere Auszahlung befürchten und
eine größere Auszahlung ist ausgeschlossen.
Satz 14.29 Die verallgemeinerte Vickrey Auktion 14.28 ist ehrlich.
Beweis: Wir haben die Argumentation bereits im Kommentar der Auktion geführt.
Bemerkung 14.1 Wenn nur ein einziges Gut zu versteigern ist, dann gilt pj (Z) = 0 für
die Verlierer j der Auktion. Wenn Bieter i verliert, dann ändert seine Herausnahme nichts
an dem Auktionsergebnis und dementsprechend hat Bieter i nichts zu bezahlen. Gewinnt
P
Bieter i, dann muss er den Betrag j=1,j6=i pj (Zi ), also den Betrag des zweithöchsten Gebots
bezahlen. Folglich ist die verallgemeinerte Vickrey Auktion tatsächlich eine Verallgemeinerung
der Zweitpreis-Auktion.
Leider ist die verallgemeinerte Vickrey Auktion wegen Satz 14.25 nicht effizient durchführbar.
Wir versuchen deshalb mit Approximationsalgorithmen zu arbeiten und müssen uns dann aber
mit zwei Problemen auseinandersetzen:
- Eine möglichst gute Approximation ist zu erzielen.
- Der Auktionsmechanismus, nach Approximation, sollte ehrlich sein.
Wegen Satz 14.25 können wir auch keine guten Approximationen erreichen und nur hoffen,
dass die Approximationen im Anwendungsfall „gut genug“ sind. Die Ehrlichkeit eines „approximierenden“ Mechanismus scheint ein weiteres großes Problem zu sein, da Bieter sofort
etwaige Schwächen ausnutzen werden. Wir werden uns deshalb auf den Fall von eindeutigen
Bietern (single-minded bidders) beschränken, wobei ein eindeutiger Bieter ein Gebot (s, a)
nur für eine einzige Teilmenge s abgeben wird: Der Bieter ist bereit, nach dem Erwerb von s
oder einer Obermenge von s bis zu a zu bezahlen. Die Bewertung des Bieters braucht nicht
mit dem Gebot übereinstimmen, aber wir nehmen an, dass nur s und seine Obermengen
positiv und zwar gleich bewertet sind.
14.3. KOMBINATORISCHE AUKTIONEN
217
Beispiel 14.5 Die Einschränkung auf eindeutige Bieter ist natürlich einschneidend, aber in
einigen Anwendungen harmlos: Im kürzesten Wege Problem mit Endpunkten s und t wird
man die Kanten eines kürzesten Weges zwischen s und t ersteigern wollen. In der Ersteigerung
von Nutzungsrechten (z.B. für Frequenzen oder Verwertung von Holz) liegt es nahe, Gebote
für räumlich benachbarte Gebiete abzugeben.
Der Fall eindeutiger Bieter scheint auf den ersten Blick sehr viel einfacher, aber die Argumentation von Satz 14.25 zeigt, dass auch diese Einschränkung im Allgemeinen nur sehr schwache
Approximationen zulässt. Trotzdem versuchen wir unser Glück. Zentral ist der Begriff der
a
Bewertung eines Gebots (s, a). Wir werden im Folgenden mit der Bewertung ||s||
arbeiten,
wobei wir nur fordern, dass || · · · || monoton ist:
s0 ⊆ s ⇒ ||s0 || ≤ ||s|| und es gelte stets ||s|| > 0 für s 6= ∅.
a
Im Anwendungsfall sollten „güter-relevante“ Bewertungen ||s||
gewählt werden: Bei der Versteigerung von Frequenzen liegt es zum Beispiel nahe, ein Gebot zu einer Menge s mit dem
Durchschnittspreis pro Einwohner des zugehörigen Gebiets zu bewerten.
Auktion 14.30 Eine ehrliche kombinatorische Auktion
a
(1) Wir bewerten ein Gebot (s, a) durch ||s||
. Wir setzen voraus, dass || · · · || monoton ist
und dass keine zwei Gebote gleichbewertet sind.
(2) Sortiere die Gebote (s, a) nach absteigender Bewertung
a
||s|| .
(3) Durchlaufe die sortierte Folge der Gebote, beginnend mit dem höchbewerteten Gebot:
Das gegenwärtig bearbeitete Gebot (s, a) erhält den Zuschlag und genau die Menge
s geht an den entsprechenden Bieter. Sämtliche Gebote (t, b) mit s ∩ t 6= ∅ werden
aus der Liste entfernt und damit disqualifiziert; nicht zum Zuge kommende Gebote
sind gebührenfrei.
Sei (t∗ , b∗ ) ein entferntes Gebot mit höchster Bewertung, das nur wegen dem Zuschlag an (s, a) nicht zum Zuge gekommen ist. Der zu entrichtende Preis ist dann
∗
||s|| · ||tb∗ || .
Gibt es kein Gebot, das nur wegen Gebot (s, a) nicht zum Zuge gekommen ist,
dann wird der Preis 0 verlangt. Wechsle zum nächsten Gebot der Folge.
Kommentar: Der zu entrichtende Preis ist stets durch das Gebot beschränkt, denn
b∗
a
b∗
||t∗ || < ||s|| und damit ist ||s|| · ||t∗ || < a.
Wir untersuchen Auktion 14.30 erstens unter dem Aspekt der Approximation und zweitens
unter dem Aspekt der Ehrlichkeit. Zuerst untersuchen wir die Güte der Approximation, wenn
der angebotene Preis auch zu entrichten ist.
Aufgabe 114
Wir setzen ||s|| = |s|. Zeige, dass es Instanzen gibt, für die Auktion 14.30 Einkünfte von höchstens O( opt
) bei
k
k Gütern erbringt, wenn für jedes erfolgreiche Gebot (s, a) der Preis a zu entrichten ist. Zeige, dass aber auch
stets Einkünfte von mindestens Ω( opt
) erzielt werden.
k
p
Satz 14.31 Wir setzen ||s|| = |s|. Wenn insgesamt k Güter zu versteigern sind, dann wird
√ erbringen, solange
die von Auktion 14.30 berechnete Zuteilung Einkünfte von mindestens opt
k
für jedes erfolgreiche Gebot (s, a) der Preis a zu entrichten ist.
218
KAPITEL 14. AUKTIONEN
Beweis: Wir analysieren zuerst eine optimale Zuteilung, die Gebote (si , ai ) für i ∈ I auswählt.
P
Die optimalen Einkünfte sind i∈I ai und deshalb folgt mit der Ungleichung von CauchySchwarz4 :
v
opt =
X
i∈I
ai =
X
i∈I
v
uX 2 sX
uX 2 √
q
u
u
ai
ai
ai
t
p
· |si | ≤
·
|si | ≤ t
· k.
|si |
|si |
|si |
i∈I
i∈I
i∈I
Die letzte Ungleichung folgt, da i∈I |si | ≤ k für jede Zuteilung gilt. In Auktion 14.30 werden
alle Gebote (si , ai ) für i ∈ J akzeptiert. Es genügt also zu zeigen, dass
P
v
uX 2 √
√
X
u
ai
t
ai · k
· k≤
i∈I
|si |
(14.6)
i∈J
gilt. Wir erhalten weiterhin
X
ai ≥
sX
i∈J
a2j
i∈J
und deshalb genügt der Nachweis von
X a2
i
i∈I
|si |
≤
X
a2i .
(14.7)
i∈J
Wir können o.B.d.A. annehmen, dass die Mengen I und J disjunkt sind. Warum wird ein
Bieter i ∈ I in J disqualifiziert? Es muss zu jedem i ∈ I einen Bieter f (i) ∈ J mit si ∩sf (i) 6= ∅
a
geben, dessen Bewertung höher als i ist, d.h. es gilt √ai < √ f (i) . Wenn genau die Bieter
|si |
|sf (i) |
aus Ij ⊆ I an dem Bieter j ∈ J scheitern, dann ist offensichtlich |Ij | ≤ |sj |. Wir erhalten
X a2
a2j
i
≤
· |sj | = a2j
|s |
|s |
i∈Ij
i
j
und (14.7) folgt.
Aufgabe 115
Bestimme Instanzen, für die erzielten Einkünfte nicht sehr viel mehr als
opt
√
k
betragen.
Natürlich ist die garantierte Approximationsleistung recht schwach, aber wir können nach Satz
14.25 nicht sehr viel mehr herausholen! Da wir wiederum ein Zweitpreis-Schema verfolgen, um
die Bieter zu Höchstgeboten zu veranlassen, werden die Einkünfte des Verkäufers im worstcase entsprechend gering sein und ein Vorbehalt des Verkäufers bei enttäuschendem Ergebnis
scheint notwendig.
Wir zeigen zuletzt, dass Auktion 14.30 ehrlich ist und kommen damit zu dem interessantesten
Teil dieses Abschnitts. Es stellt sich heraus, dass die folgenden Eigenschaften im Fall von
eindeutigen Bietern garantieren, dass ein Auktionsmechanismus ehrlich ist.
- Exaktheit: Wenn ein Bieter ein Gebot (s, a) abgibt, dann erhält der Bieter entweder s
oder die leere Menge.
Auktion 14.30 liefert im Fall des Zuschlags genau die Menge s und erfüllt damit Exaktheit.
4
Es ist hx, yi ≤ ||x|| · ||y|| und deshalb gilt insbesondere
P
i
xi · yi ≤ (
pP
i
pP
x2i ) · (
i
yi2 ).
14.3. KOMBINATORISCHE AUKTIONEN
219
- Monotonie: Wenn ein Bieter den Zuschlag für ein Gebot (s, a) erhält, dann erhält er
auch den Zuschlag für ein Gebot (s0 , a0 ), falls s0 ⊆ s und a0 ≥ a.
Wenn ein Bieter in Auktion 14.30 den Zuschlag für (s, a) erhält, dann auch für Gebot
(s0 , a0 ), denn die Bewertung des neuen Gebots ist mindestens so hoch wie die Bewertung
0
a
des alten Gebots ( ||sa0 || ≥ ||s||
) und neue Kollisionen mit anderen Geboten treten nicht
auf.
- Gebührenfreiheit: Wenn das Gebot eines Bieters disqualifiziert wird, dann ist nichts zu
bezahlen. Gebührenfreiheit wird in Auktion 14.30 explizit gefordert.
- Kritischer Wert: Wenn eine Auktion Exaktheit und Monotonie besitzt, dann gibt es für
jedes Gebot zu einer Menge s, bei fixierten Geboten der anderen Bieter, einen kritischen
Wert ks . Wird unterhalb des kritischen Werts geboten, dann verliert das Gebot, wird
oberhalb geboten, dann gewinnt das Gebot5 . Wir fordern, dass der Preis im Falle des
Zuschlags mit ks übereinstimmt.
Die Eigenschaft des kritischen Werts ist die einschneidenste Eigenschaft, denn sie fordert
Unabhängigkeit des Preises vom gebotenen Preis. Für Auktion 14.30 ist der kritische
∗
∗
Wert ||s|| · ||tb∗ || , wobei ||tb∗ || die Höchstbewertung eines Gebots ist, das nur wegen dem
Zuschlag an (s, a) nicht zum Zuge gekommen ist. Der kritische Wert stimmt also mit
dem letztlich verlangten Preis überein.
Aufgabe 116
Wenn ein ehrlicher Mechanismus die Eigenschaften Exaktheit, Monotonie und Gebührenfreiheit erfüllt, dann
auch die Eigenschaft des kritischen Werts.
Wir weisen jetzt nach, dass die obigen vier Eigenschaften Ehrlichkeit garantieren. Diese Aussage ist auf allgemeine Mechanismen anwendbar und insbesondere auf Auktion 14.30.
Satz 14.32 [LOS]
(a) Wenn ein Auktionsmechanismus die Eigenschaften der Exaktheit, Monotonie, Gebührenfreiheit und des kritischen Werts besitzt, dann ist der Mechanismus ehrlich.
(b) Die Auktion 14.30 ist ehrlich, falls || · · · || monoton ist.
Beweis (b) ist eine unmittelbare Konsequenz von Teil (a), denn wir haben ja schon gezeigt,
dass Auktion 14.30 die vier Eigenschaften besitzt. Wir führen den Nachweis von (a) mit einer
Reihe von Beobachtungen.
Beobachtung 14.3 Ein nicht erfolgreiches Gebot ist gebührenfrei. Wenn ein Bieter seine
ehrliche Bewertung als Gebot abgibt, dann ist der Nutzen des Bieters (also die Differenz
zwischen Bewertung und verlangtem Preis) nicht-negativ.
Beweis: Wird das Gebot abgelehnt, dann ist das Gebot gebührenfrei, denn wir verlangen
Gebührenfreiheit explizit. Wird ein ehrliches Gebot akzeptiert, dann ist die Bewertung mindestens so hoch wie der kritische Wert des Gebots. Die Eigenschaft des kritischen Werts
garantiert somit, dass der verlangte Preis die Bewertung nicht übersteigt.
Beobachtung 14.4 Ein eindeutiger Bieter bewerte eine Menge s mit a. Dann ist der Nutzen
für das Gebot (s, a) mindestens so groß wie für ein Gebot (s, a∗ ) mit einer beliebigen reellen
Zahl a∗ .
5
Wenn der kritische Wert genau getroffen wird, dann wird keine Aussage gemacht.
220
KAPITEL 14. AUKTIONEN
Beweis: Wir vergleichen die Gebote (s, a) und (s, a∗ ). Wird das Gebot (s, a∗ ) abgelehnt,
dann steht dem nicht-negativen Nutzen für Gebot (s, a) der Nutzen Null bei Gebot (s, a∗ )
gegenüber.
Wird das Gebot (s, a∗ ) akzeptiert, dann sind zwei Fälle zu unterscheiden. Im ersten Fall
nehmen wir an, dass auch Gebot (s, a) akzeptiert wird. Dann ist der Nutzen für beide Gebote
identisch, denn der verlangte Preis hängt nicht vom Gebot ab. Im zweiten Fall wird das
Gebot (s, a) verworfen und damit gilt a ≤ ks ≤ a∗ : Dem Nutzen Null für Gebot (s, a) steht
ein nicht-positiver Nutzen a − ks gegenüber.
Beobachtung 14.5 Wir wählen einen Bieter aus und fixieren die Gebote der anderen Bieter.
Wenn der Bieter eine Menge s mit einem Gebot (s, a) zum Preis p ersteigert, dann wird auch
eine Teilmenge s0 ⊆ s mit dem Gebot (s0 , a) ersteigert und zwar zu einem Preis p0 mit p0 ≤ p.
Beweis: Wenn das Gebot (s, a) erfolgreich ist, dann ist auch das Gebot (s0 , a) wegen der
Eigenschaft der Monotonie erfolgreich.
Wegen der Eigenschaft des kritischen Werts ist ein Gebot (s0 , b) mit b < p0 nicht erfolgreich
und die Monotonie bedingt, dass auch ein Gebot (s, b) nicht erfolgreich ist. Die Eigenschaft
des kritischen Werts, angewandt auf (s, b), bedingt somit b < p für alle b < p0 und p0 ≤ p
folgt.
Warum erzwingen die vier Eigenschaften die Ehrlichkeit des Mechanismus? Angenommen,
ein Bieter möchte die Menge s erwerben und bewertet s mit a. Wann kann es für den Bieter
günstiger sein, das Gebot (s0 , a0 ) anstelle des ehrlichen Gebots (s, a) abzugeben?
Da ein ehrliches Gebot als Konsequenz von Beobachtung 14.3 stets nicht-negativen Nutzen
erwirtschaftet, hat der Bieter nur dann eine Chance sich besser zu stellen, wenn das Gebot
(s0 , a0 ) den Zuschlag erhält. Wenn s 6⊆ s0 , dann bewertet der eindeutige Bieter s0 mit Null und
sein Nutzen ist bestenfalls Null.
Also können wir s ⊆ s0 annehmen. Der Bieter bewertet s und s0 gleich und Beobachtung 14.5
bedingt, dass sich der Bieter mit dem Gebot (s, a0 ) mindestens so gut stellt. Mit Beobachtung
14.4 ist aber der Nutzen bei dem ehrlichen Gebot (s, a) mindestens so hoch wie bei dem Gebot
(s, a0 ) und wir sind fertig.
14.4
Äquivalenz der Einkünfte
Wir stellen uns die Frage, inwieweit sich die Auktionsformen faktisch voneinander unterscheiden, d.h. in wieweit optimale Gebote und Einkünfte des Verkäufers von der Auktionsform
abhängen. Allerdings werden wir ein stark vereinfachtes Modell annehmen, um eine Analyse
durchführen zu können:
(1) Ein einziges, unteilbares Objekt ist unter mehreren Bietern zu versteigern.
(2) Sämtliche Bieter, wie auch der Verkäufer sind Risiko-neutral, d.h. sie basieren ihre
Entscheidungen nur auf den zu erwartetenden Ausgang der Auktion.
(3) Die Bewertungen entsprechen unabhängigen, gleichverteilten Zufallsvariablen, die aus
einem Intervall [v, v] gezogen werden.
(4) Die Bieter verhalten sich symmetrisch, d.h. die Gebotsstrategie von Bieter i unterscheidet sich nicht von der Gebotsstrategie von Bieter j, falls beide das Objekt identisch
bewerten.
14.4. ÄQUIVALENZ DER EINKÜNFTE
221
(5) Wenn die Bieter sich symmetrisch verhalten und wenn ein Bieter das Objekt mit v
bewertet und das Gebot g(v) abgibt, dann ist
E[ug (v)] = v · p(g(v)) − E[G(g(v))]
seine erwartete Auszahlung, wobei E[G(g(v))] die erwartete Gebühr bei Gebot g(v)
bezeichnet und p(g(v)) die Wahrscheinlichkeit einer Zuteilung für Gebot g(v) ist.
Die erwartete Auszahlung setzt sich also aus dem erwarteten Gewinn v · p(g(v)) und der erwarteten Gebühr E[G(g(v))] zusammen, wobei die erwartete Gebühr gemäß Annahme (5) nur
von dem Gebot des Bieters abhängen darf. Die Gebühr kann sich aus verschiedenen Komponenten wie etwa dem Gebot oder dem zweithöchsten Gebot (jeweils im Falle der Zuteilung)
und einer Teilnahmegebühr zusammensetzen.
Wir fassen Auktionen als ein nicht-kooperatives Spiel unter den Bietern auf. Wir haben angenommen, dass die Bieter Risiko-neutral sind und jeder Bieter wird demgemäß versuchen,
seine erwartete Auszahlung zu maximieren. Wie sehen Nash-Gleichgewichte im Auktionsspiel
aus?
Beobachtung 14.6 Die Gebotsstrategie g : [v, v] → R definiere ein Nash-Gleichgewicht.
Dann gilt
E[ug (v)] ≥ E[ug (v 0 )] + (v − v 0 ) · p(g(v 0 )).
(14.8)
Beweis: Wir betrachten zuerst die rechte Seite von (14.8) und erhalten
E[ug (v 0 )] + (v − v 0 ) · p(g(v 0 )) = v 0 · p(g(v 0 )) − E[G(g(v 0 ))] + (v − v 0 ) · p(g(v 0 ))
= v · p(g(v 0 )) − E[G(g(v 0 ))].
Da g ein Nash-Gleichgewicht definiert, muss
E[ug (v)] ≥ v · p(g(v 0 )) − E[G(g(v 0 ))]
gelten, denn ansonsten steht sich der Bieter besser, wenn er das Gebot g(v 0 ) bei Bewertung
v abgibt.
Beobachtung 14.7 Die Gebotsstrategie g : [v, v] → R definiere ein Nash-Gleichgewicht.
Dann gilt für die erste Ableitung der erwarteten Auszahlung
E[ug (v)]0 = p(g(v)).
Beweis: Wir wenden (14.8) zweimal an und erhalten
E[ug (v)] ≥ E[ug (v + ε)] − ε · p(g(v + ε)) und E[ug (v + ε)] ≥ E[ug (v)] + ε · p(g(v)).
Also folgt
E[ug (v + ε)] − E[ug (v)]
≤ p(g(v + ε))
ε
und die Behauptung ergibt sich durch den Grenzübergang ε → 0.
p(g(v)) ≤
222
KAPITEL 14. AUKTIONEN
Mit Hilfe der letzten Beobachtung können wir im Fall eines Nash-Gleichgewichts die erwartete
Auszahlung nur durch die Wahrscheinlichkeit der Zuteilung ausdrücken, denn es ist
Z v
E[ug (v)] = E[ug (v)] +
p(g(u)) du.
(14.9)
v
Die Äquivalenz der Einkünfte (revenue equivalence) unter den verschiedenen Auktionsformen
ist offensichtlich, falls zwei Auktionen sich nicht in der erwarteten Auszahlung E[ug (v)] bei
minimaler Bewertung unterscheiden und falls eine Zuteilung bei Gebotsfunktion g stets an
den Bieter mit der höchsten Bewertung geht. Die erste Forderung werden wir annehmen; sie
ist zum Beispiel dann erfüllt, wenn E[ug (v)] = 0: Wenn ein Bieter kein Interesse hat, dann
erhält er das Objekt nicht, muss aber auch keine Gebühren entrichten. Die zweite Forderung
ist erfüllt, wenn die Gebotsfunktion g strikt monoton steigend ist: In diesem Fall gewinnt
stets der Bieter mit der höchsten Bewertung.
Beobachtung 14.8 Die Gebotstrategie g : [v, v] → R definiere ein Nash-Gleichgewicht.
Dann ist g strikt monoton wachsend.
Beweis: Wir betrachten die erwartete Auszahlung E[ug (v)] wieder als Funktion der Bewertung v. Mit (14.8) ist für v ≥ v 0
E[ug (v)] − E[ug (v 0 )]
≥ p(g(v 0 ))
v − v0
und die Steigung der Sekante zu den Endpunkten v und v 0 ist mindestens so groß wie die
Steigung in v 0 .
Aufgabe 117
f : R → R sei vorgegeben. Zeige: f ist genau dann konvex, wenn stets f (x) ≥ f (y) + (x − y) · f 0 (y) gilt.
Also ist die erwartete Auszahlung E[ug (v)] eine konvexe Funktion in v. Die zweite Ableitung
einer konvexen Funktion ist aber nicht-negativ und wir erhalten
0 ≤ E[ug (v)]00 = p(g(v))0 = p0 (g(v)) · g 0 (v).
Natürlich wächst die Wahrscheinlichkeit der Zuteilung mit wachsendem Gebot und p0 (g(v))
ist nicht-negativ und damit ist auch g 0 (v) nicht-negativ. Also ist g(v) monoton wachsend.
Aufgabe 118
Die Gebotstrategie g : [v, v] → R definiere ein Nash-Gleichgewicht. Zeige: Wenn g monoton wachsend ist, dann
ist g auch strikt monoton wachsend.
Die Behauptung folgt jetzt aus der Aufgabe.
Die Äquivalenz der Einkünfte ergibt sich als unmittelbares Korollar.
Satz 14.33 Revenue Equivalence
Zwei Auktionen mögen die Eigenschaften (1)-(5) mit derselben Anzahl von Bietern erfüllen.
Wir betrachten Gebotsstrategien für jede der beiden Auktionen, die jeweils einem Nash-Gleichgewicht entsprechen.
Wenn beide Auktionen eine identische erwartete Auszahlung bei minimaler Bewertung besitzen, dann stimmen auch die erwarteten Auszahlungen (bei jeweils gleicher Bewertung) überein. Schließlich stimmen auch die erwarteten Auszahlungen an den Verkäufer überein.
14.4. ÄQUIVALENZ DER EINKÜNFTE
223
Beweis: Da die Wahrscheinlichkeit einer Zuteilung für jede der beiden Auktionen nur von der
Bewertung abhängt, stimmen die Zuteilungswahrscheinlichkeiten überein und die Bieter besitzen gemäß (14.9) identische erwartete Auszahlungen. Da aber die erwarteten Auszahlungen
an die Bieter übereinstimmen, stimmen auch die erwarteten Auszahlungen an den Verkäufer
überein.
Beispiel 14.6 Erstpreis Auktion
Wir nehmen an, dass die N Bewertungen v1 , . . . , vN unabhängig, gemäß der Gleichverteilung
aus dem Intervall [0, 1] gezogen werden; d.h. es ist insbesondere prob[vi ≤ x] = x. Wir zeigen,
dass die Gebotsfunktion
N −1
g(v) =
·v
N
ein Nash-Gleichgewicht definiert. Um dies zu verifizieren, müssen wir einen Bieter i fixieren,
annehmen, dass die restlichen Bieter nach der Gebotsfunktion g bieten und dann zeigen, dass
das Gebot g(vi ) = NN−1 · vi die erwartete Auszahlung an Bieter i maximiert.
Wenn Bieter i das Gebot g abgibt, dann ist (vi − g) · pi die erwartete Auszahlung, wenn pi
die Zuteilungswahrscheinlichkeit ist. Offensichtlich ist
pi = prob[ g ≥ max{g(vj ) | j 6= i} ]
N −1
· vj | j 6= i} ]
= prob[ g ≥ max{
N
N −1
N
=
·g
,
N −1
denn g ≥ NN−1 ·vj genau dann, wenn vj ≤ NN−1 ·g und die Wahrscheinlichkeit dieses Ereignisses
ist NN−1 · g; da die Bewertungen der restlichen N − 1 Bieter unabhängig voneinander gewählt
werden, ergibt sich die Behauptung. Also beträgt die erwartete Auszahlung
(vi − g).
N
N −1
·g
N −1
Aufgabe 119
N −1
Zeige, dass NN−1 · g
·(vi −g) durch g = NN−1 ·vi maximiert wird. Also ist die Gebotsfunktion g(v) =
tatsächlich ein Nash-Gleichgewicht und viN /N ist die erwartete Auszahlung.
·
N −1
·v
N
Wir bestimmen die Höhe des gewinnenden Gebots als Nächstes und wenden dazu den folgenden Fakt an.
Fakt 14.1 Wenn Ek die erwartete Größe des k-kleinsten Gebots bezeichnet, dann gilt Ek =
k
N +1 .
Die erwartete Höhe E[g] des gewinnenden Gebots stimmt mit E[ NN−1 · v] = NN−1 · E[v] überein,
wobei v die maximale Bewertung ist. Also folgt mit dem obigen Fakt, dass der Verkäufer die
erwartete Auszahlung
N −1
N
N −1
·
=
N
N +1
N +1
erhält.
Beispiel 14.7 Zweitpreis Auktion
Wir haben schon gesehen, dass die Veröffentlichung der eigenen Bewertung sogar eine dominante Strategie ist und damit induziert die Gebotsfunktion
g(v) = v
224
KAPITEL 14. AUKTIONEN
insbesondere ein Nash-Gleichgewicht. Der Gewinner zahlt den Preis des zweithöchsten Gebots
−1
und damit erhält auch hier der Verkäufer die erwartete Auszahlung N
N +1 .
Literaturverzeichnis
[AAF]
M. Andrews, B. Awerbuch, A. Fernandez, T. Leighton, Z. Liu und J. Kleinberg, Universal-Stability results and performance bounds for greedy contentionresolution protocols, Journal of the ACM, vol 48 (1), pp. 39-69, 2001.
[AGKM]
V. Arya, N. Garg, R. Khandekar, A. Myerson, K. Munagala und V. Pandit,
Local search heuristics for k-median and facility location problems, Proceedings
of the 33rd Annual ACM Symposium on Theory of Computing, 2001.
[AL]
B. Awerbuch und T. Leighton, Improved approximation algorithm for the multicommodity flow problem and local competitive routing in dynamic networks,
Proceedings of the 26th Annual ACM Symposium on Theory of Computing, pp.
487-496, 1994.
[AKO]
W. Aiello, E. Kushilevitz, R. Ostrovsky und A. Rosen, Adaptive packet routing
for bursty adversarial traffic, Proceedings of the 30th Annual ACM Symposium
on Theory of Computing, pp. 359-368, 1998.
[BKKMS]
H. Balakrishnan, M. Frans Kaashoek, D. R. Karger, R. Morris, I. Stoica, Looking up data in P2P systems, Communications of the ACM (CACM), 46 (2),
pp. 43-48, 2003.
[BH]
K. Bharat und M.R. Henzinger, Improved algorithms for Topic distillation in
a hyperlinked environment, Proceedings of 21st ACM International Conference
on Research and Development in Information Retrieval, pp. 104-111, 1998.
[BKR]
A. Borodin, J. Kleinberg, P. Raghavan, M. Sudan und D.P. Williamson, Adversarial queueing theory, Journal of the ACM, Vol. 48 (1), pp. 13-38, 2001.
[BGMZ]
A. Broder, S. Glassman, M. Manasse und G. Zweig, Syntactic clustering of
the web, Proceedings of the 6th International World Wide Web Conference pp.
391-404, 1997.
[BCFM]
A. Broder, M. Charikar, A. Frieze und M. Mitzenmacher, Min-wise independent
permutations, Proceedings of the 30th Annual ACM Symposium on Theory of
Computing, pp. 327-336, 1998.
[CDT]
X. Chen, X. Deng, and S.-H. Teng, Settling the complexity of two-player Nash
equilibria, Journal of the ACM, 2008.
225
226
LITERATURVERZEICHNIS
[CJ]
D. Chiu und R. Jain, Analysis of the increase and decrease algorithms for congestion avoidance in computer networks, Computer Networks and ISDN Systems,
(17), pp. 1-14, 1989.
[CDR]
R. Cole, Y. Dodis und T. Roughgarden, How much can taxes help selfish routing?, Proceedings of the 4th Annual ACM Symposium on Electronic Commerce,
pp. 98-107, 2003.
[DGP]
C. Daskalakis, P. W. Goldberg, and C. H. Papadimitriou, The complexity of
computing a Nash equilibrium, SIAM Journal on Computing, 2008.
[DBCP]
M. Degermark, A. Brodnik, S. Carlsson und S. Pink, Small forwarding tables
for fast routing lookups, Proceedings of the ACM SIGCOMM, pp. 3-14, 1997.
[DP]
X. Deng und C. Papadimitriou, On the complexity of cooperative solution concepts, Math. Oper. Res., 19, pp. 257-266, 1994.
[DPS]
X. Deng, C. Papadimitriou und S. Safra, On the complexity of equilibria, Proceedings of the 34th Annual ACM Symposium on Theory of Computing, pp.
67-71, 2002.
[DKNS]
C. Dwork, R. Kumar, M. Naor und D. Sivakumar, Rank aggregation methods
for the web, Proceedings of the 10th International World Wide Web Conference,
pp. 613-622, 2001.
[EDD]
J. Edmonds, S. Datta und P. Dymond, TCP is competitive against a limited
adversary, Proceedings of the 15th ACM Symposium on parallel algorithms and
architectures, pp. 174-183, 2003.
[EV]
C. Estan und G. Varghese, New directions in traffic management and accounting: focusing on the elephants, ignoring the mice, ACM Transactions on Computer Systems, 2003.
[FKFH]
U. Faigle, W. Kern, S.P. Fekete und W. Hochstättler, On the complexity of
testing membership in the core of min-cost spanning tree games, Int. Journal
of Game Theory, 26, pp. 361-366, 1997.
[FKK]
U. Faigle, W. Kern und J. Kuipers, Computing the nucleolus of min-cost spanning tree games is N P -hard, Int. Journal of Game Theory, 27, pp. 443-450,
1998.
[FP]
W. Fang und L. Peterson, Inter-AS traffic patterns and their implications, Proceedings of IEEE GLOBECOM, 1999.
[FKSS]
J. Feigenbaum, A. Krishnamurthy, R. Sami und S. Shenker, Hardness results
for multicast cost sharing, erscheint in: Theoretical Computer Science, 2003.
[FGHK]
A. Fiat, A. Goldberg, J. Hartline und A. Karlin, Competitive generalized auctions, Proceedings of the 32nd Annual ACM Symposium on Theory of Computing,
pp. 72-81, 2002.
LITERATURVERZEICHNIS
227
[FK]
L. Fredman und L. Khachiyan, On the complexity of dualization of monotone
disjunctive normal forms, Journal of Algorithms (21), pp. 618-628, 1996.
[G]
D. Gamarnik, Stability of adaptive and non-adaptive packet routing policies in
adversarial queueing networks, Proceedings of the 31st Annual ACM Symposium
on Theory of Computing, pp. 206-214, 1999.
[GHKW]
A. Goldberg, J. Hartline, A. Karlin und A. Wright, Competitive auctions, Manuskript, 2003.
[GKS]
S. Guha, N. Koudas, K. Shim, Data-streams and histograms, Proceedings of the
31st Annual ACM Symposium on Theory of Computing, pp. 471-475, 2001.
[GY]
N. Garg und N. Young, On-line and End-to-End congestion Control, Proceedings
of the 43rd Annual IEEE Symposium on Foundations of Computer Science, pp.
303-312, 2002.
[H]
B. Hajek, Hitting-time and occupation-time bounds implied by drift analysis
with applications, Advances in Applied Probability, pp. 502-525, 1982.
[H02]
T. H. Haveliwala, Topic-Sensitive PageRank, Proceedings of the 11th International World Wide Web Conference, 2002.
[JV]
K. Jain und V. Vazirani, Applications of Approximation to cooperative games,
33rd Annual ACM Symposium on Theory of Computing, pp. 364-372, 2001.
[K1]
J.M. Kleinberg, Authoritative sources in a hyperlinked environment, Journal of
the ACM, (46), pp. 604-632, 1999.
[K2]
J.M. Kleinberg, The small-world phenomenon: an algorithmic perspective, Proceedings of the 32nd ACM Symposium on Theory of Computing, pp. 163170,2000.
[KKPS]
R. Karp, E. Koutsoupias, C. Papadimitriou und S. Shenker, Optimization problems in congestion control, Proceedings of the 41st Annual IEEE Symposium
on Foundations of Computer Science, pp. 66-74, 2000.
[KHR]
D. Katabi, M. Handley und C. Rohrs, Internet congestion control for high
bandwidth-delay product environments, Proc. of the ACM SIGCOMM, 2002.
[KMS]
D. Koukopoulos, M. Mavronicolas und P. Spirakis, FIFO is unstable at arbitrarily low rates, Electonic Colloquium on Computational Complexity (ECCC),
Technical Report 03-016, 2003.
[KP]
E. Koutsipias und C. Papadimitrou, Worst-case equilibria, Proceedings of the
16th Annual Symposium on Theoretical Aspects of Computer Science, pp. 404413, 1999.
[LOS]
D. Lehmann, L. O’Callaghan and Y. Shoham, Truth revelation in approximately
efficient combinatorial auctions, Journal of the ACM (49), pp. 577-602, 2002.
228
LITERATURVERZEICHNIS
[LMS]
M. Luby, M. Mitzenmacher, M.A. Shokrollahi, D.A. Spielman, V. Steman, Practical loss-resilient codes, Proc. 29th Annual ACM Symp. on Theory of Computing, pp.150-159, 1997.
[M]
K.G. Murty, On the linear complementarity problem, Proceedings of the 3rd
Symposium on Operations Research, pp. 425-439, 1978.
[Ne]
A. Neyman, Finitely repeated games with finite automata, Mathematics of Operations Research (23), pp. 513-552, 1998.
[Ni]
N. Nisan, Bidding and allocation in combinatorial auctions, 2nd Annual ACM
Conference on Electronic Commerce, 2000.
[NR]
N. Nisan und A. Ronen, Algorithmic mechanism design, 31st Annual ACM
Symposium on Theory of Computing, pp. 129-140, 1999.
[PY]
C. H. Papadimitriou und M. Yannakakis, On complexity as bounded rationality,
26th Annual ACM Symposium on Theory of Computing, pp. 726-733, 1994.
[RT]
T. Roughgarden und E. Tardos, How bad is selfish routing?, Journal of the
ACM 49 (2), pp. 236-259, 2002.
[SS]
L.S. Shapley und M. Shubik, On market games, Journal of Economic Theory,
1969.
[Sh]
A. Shokrollahi, Raptor codes, preprint 2003.
[S]
B. von Stengel, Computing equilibria for two-person games, chapter 45 in:
Handbook of Game Theory, vol 3, eds. R.J. Aumann und S. Hart, North-Holland,
pp. 1723-1759, 2002.
[SMLK]
I. Stoica, R. Morris, D. Liben-Nowell, D. R. Karger, M. Frans Kaashoek, F.
Dabek und H. Balakrishnan, Chord: A Scalable Peer-to-peer Lookup Protocol
for Internet Applications”, , IEEE/ACM Transactions on Networking, Vol. 11,
No. 1, pp. 17-32, 2003.
[T]
A. Tanenbaum, Computer Networks, Prentice Hall, 4th edition, 2002.
[W]
M. Weinard, The Necessity of Timekeeping in Adversarial Queueing, Proceedings of the 4th International Workshop on Efficient and Experimental Algorithms (WEA), pp. 440-451, 2005.
[YKT]
M. Yajnik, J. Kurose, D. Towsley, Packet Loss Correlation in the MBone multicast network, IEEE Global Internet Conference, 1996.
[Y]
M. Yannakakis, Equilibria, fixed points, and complexity classes, Symp. on Theoretical Aspects of Computer Science, pp. 19-38, 2008.
[ZN]
E. Zurel und N. Nisan, An efficient approximate allocation algorithm for combinatorial auctions, 3rd Annual ACM Conference on Electronic Commerce, 2001.
Herunterladen