PPT - Universität Paderborn

Werbung
HEINZ NIXDORF INSTITUT
Universität Paderborn
Algorithmen und Komplexität
Algorithmen für
Peer-to-Peer-Netzwerke
Sommersemester 2004
21.05.2004
5. Vorlesung
Christian Schindelhauer
1
HEINZ NIXDORF INSTITUT
Kapitel III
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
CHORD
Algorithmen für Peer-to-PeerNetzwerke
2
HEINZ NIXDORF INSTITUT
Brückentagvorlesungsplan
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
IF studenten kommen THEN
– Chernoffschranke
• mit Beweis
– Bälle in Körbe
• (ist dann ganz einfach)
– CHORD-Wiederholung
– Eigenschaften von CHORD
• mit Hilfe von Bällen und Körben
END IF
Algorithmen für Peer-to-PeerNetzwerke
3
HEINZ NIXDORF INSTITUT
Markov und Chebyshev
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Stärkere Abschätzung: Chebyshev
wenn die Varianz bekannt ist:
Algorithmen für Peer-to-PeerNetzwerke
4
HEINZ NIXDORF INSTITUT
Chernoff-Schranke
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Bernoulli-Experiment
– Entweder 0 mit Wahrscheinlichkeit 1-p
– Oder 1 mit Wahrscheindlichkeit p
Algorithmen für Peer-to-PeerNetzwerke
5
HEINZ NIXDORF INSTITUT
Beweis der 1. Chernoff-Schranke: Der Trick
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Zu zeigen:
Für t>0:
Markov liefert:
Zu tun: geeignete Wahl für t und einsetzen...
Algorithmen für Peer-to-PeerNetzwerke
6
Beweis der 1. Chernoff-Schranke
Ein Erwartungswert
HEINZ NIXDORF INSTITUT
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Zu zeigen:
wobei:
Unabhängigkeit der Zufallsvariablen xi
Jetzt zu zeigen:
Algorithmen für Peer-to-PeerNetzwerke
7
Beweis der 1. Chernoff-Schranke
Etwas Algebra
HEINZ NIXDORF INSTITUT
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Zu zeigen:
wobei:
Jetzt zu zeigen:
Algorithmen für Peer-to-PeerNetzwerke
8
Beweis der 1. Chernoff-Schranke
1.Fall c<c2
HEINZ NIXDORF INSTITUT
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Zu zeigen für c>1:
Nun ist für c=1: 2 ln(2) > 4/3
Ableitung:
– linke Seite: ln(1+c)
– rechte Seite: 4/3
Für c>1 ist Steigung der linken Seite größer als die rechten Seite, da
• ln(1+c)>ln (2) > 4/3
Also gilt Ungleichung für c>0.
Algorithmen für Peer-to-PeerNetzwerke
9
HEINZ NIXDORF INSTITUT
Beweis der 1. Chernoff-Schranke
2. Fall c2<c
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Zu zeigen für c< 1:
Nun ist für x>0:
Daraus folgt
Nun erhält man für (1+x) ln(1+x) durch Multiplikation:
Nun setzt man für ein (1+c) ln(1+c) und erhält for c(0,1):
Algorithmen für Peer-to-PeerNetzwerke
10
HEINZ NIXDORF INSTITUT
2. Chernoff-Schranke
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Bernoulli-Experiment
– Entweder 0 mit Wahrscheinlichkeit 1-p
– Oder 1 mit Wahrscheindlichkeit p
Algorithmen für Peer-to-PeerNetzwerke
11
HEINZ NIXDORF INSTITUT
Beweis der 2. Chernoff-Schranke: Der Trick
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Zu zeigen:
Für t<0:
Markov liefert:
Zu tun: geeignete Wahl für t und einsetzen...
Algorithmen für Peer-to-PeerNetzwerke
12
Beweis der 2. Chernoff-Schranke
Der selbe Erwartungswert
HEINZ NIXDORF INSTITUT
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Zu zeigen:
wobei:
Unabhängigkeit der Zufallsvariablen xi
Jetzt zu zeigen:
Algorithmen für Peer-to-PeerNetzwerke
13
Beweis der 2. Chernoff-Schranke
Etwas Algebra
HEINZ NIXDORF INSTITUT
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Zu zeigen:
wobei:
Jetzt zu zeigen:
Algorithmen für Peer-to-PeerNetzwerke
14
Beweis der Chernoff-Schranke 2. Teil
Was ist (1-c) ln (1-c) - Nachtrag
Warum ist
HEINZ NIXDORF INSTITUT
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
?
Für c=0 sind beide Seiten gleich.
Die Ableitung der linken Seite ist ln(1-c); die der rechten ist -c
Nun ist
Daraus folgt
und insbesondere die gewünschte Ungleichung.
Algorithmen für Peer-to-PeerNetzwerke
15
HEINZ NIXDORF INSTITUT
Bälle und Körbe
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Lemma
Werden m= k n ln n Bälle zufällig in n Körbe geworfen (für jedes k>0), gilt
Folgendes:
1. Für alle c>k ist die Wahrscheinlichkeit, dass mehr als c log n Bälle auf einen Korb
fallen ist höchstens O(n-c‘) für ein c‘>0.
2. Für alle c<k ist die Wahrscheinlichkeit, dass in einem Korb weniger als c log n Bälle
fallen, ist höchstens O(n-c‘) für ein c‘>0.
Beweis:
 Betrachte einen Korb mit Bernoulli-Experiment: B(k n ln n,1/n) mit Erwartungswert: µ =
m/n = k ln n
1. Fall: c>2k
2. Fall: k<c<2k
3. Fall: c<k
Algorithmen für Peer-to-PeerNetzwerke
16
HEINZ NIXDORF INSTITUT
Bälle und Körbe
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Lemma
Werden m Bälle zufällig in n Körbe geworfen. Dann gilt:
1. Die Wahrscheinlichkeit, dass ein (bestimmter) Korb leer bleibt, ist kleiner als e-n/m.
2. Die Wahrscheinlichkeit, dass mehr als k (ln n) + k m/n (ln n) Bälle auf einen
bestimmten Korb fallen, ist höchstens O(n-c) für konstante k und c.
Beweis:
1. Wahrscheinlichkeit: (1-1/n)m < e-n/m
2. Bernoulli-Ereignis: 1 Ball in einem Korb
 X: Summe aller m Ballwürfe in einem Korb
• Wahrscheinlichkeit: p=1/n
• Erwartungswert µ = 1
1. Fall m≥n, c>1:
2. Fall m<n, c>1:
Algorithmen für Peer-to-PeerNetzwerke
17
HEINZ NIXDORF INSTITUT
Hohe Wahrscheinlichkeit
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Lemma
Falls Aussage A(i) für jedes von n Objekten i mit Wahrscheinlichkeit 1-n-c
gilt, dann gilt (A(1) und A(2) und ... und A(n)) mit Wahrscheinlichkeit
mindestens 1-n-(c-1)
Beweis:
Für alle i gilt:
P[A(i)] ≤ n-c
P[ A(1) oder  A(2) oder ...  A(n) ] ≤ n  n-c
Somit ist:
P[( A(1) oder  A(2) oder ...  A(n)) ] ≤ 1- n  n-c
Nach DeMorgan:
P[A(1) und A(2) und ... A(n) ] ≤ 1- n  n-c
Algorithmen für Peer-to-PeerNetzwerke
18
HEINZ NIXDORF INSTITUT
Chord als DHT
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
rV(b) = b+1 mod 8
n: Knotenanzahl, Knotenmenge V
k: Anzahl Schlüssel, Schlüsselmenge
K
5
m: Hashwertlänge: m >> log max{K,N}
Zwei Hash-Funktionen bilden auf
{0,..,2m-1} ab
– rV(b): bildet Peer b zufällig auf
{0,..,2m-1} ab
– rK(i): bildet Index i zufällig auf
{0,..,2m-1} ab
Abbildung von i auf einen Peer b = fv(i)
–
fV(i) := arg minbV (rB(b)-rK(i)) mod
2m
6
5
7
3
rK(i) = 3i-2 mod 8
4
Index
2
2
3
0
6
2
1
0
Algorithmen für Peer-to-PeerNetzwerke
19
HEINZ NIXDORF INSTITUT
Eigenschaften der Datenstruktur
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Lemma
1. Der Abstand zweier benachbarter Peers auf dem Ring ist
a) im Erwartungswert 2m/n,
b) < O((2m/n) log n) (mit hoher W‘keit) und
c) > 2m/nc (mit hoher W‘keit) für eine Konstante c>1
2. In einem Intervall des Rings der Länge w 2m/n sind (mit hoher W‘keit)
a) O(log n + w log n) Peers, falls w=O(log n)
b) O(w) Peers, falls w=Ω(log n)
Algorithmen für Peer-to-PeerNetzwerke
20
HEINZ NIXDORF INSTITUT
Eigenschaften der Datenstruktur
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Lemma
1. Der Abstand zweier benachbarter Peers auf dem Ring ist
a) im Erwartungswert 2m/n,
b) < O((2m/n) log n) (mit hoher W‘keit) und
c) > 2m/nc (mit hoher W‘keit) für eine Konstante c>1
Beweis
1a) Die Summe aller Abstände ist 2m
1b) Betrachte Intervall auf dem Ring der Länge c ((2m/n) log n)
• W‘keit, dass ein Peer dieses Intervall trifft: c (log n)/n
• W‘keit, dass n Peers dieses Intervall nicht treffen:
•
Damit bleibt so ein Intervall nicht leer und der Abstand zweier Peers ist
mit hoher W‘keit ≤ 2c (2m/n) log n)
1c) Die W‘keit, dass ein Peer ein Intervall der Größe 2m/nc trifft, ist n-c
• Also treffen Peers mit hoher W‘keit nicht in die Nähe eines anderen
Peers
Algorithmen für Peer-to-PeerNetzwerke
21
HEINZ NIXDORF INSTITUT
Eigenschaften der Datenstruktur (Beweis 2)
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Lemma
2. In einem Intervall des Rings der Länge w 2m/n sind (mit hoher W‘keit)
a) O(log n + w log n) Peers, falls w=O(log n)
b) O(w) Peers, falls w=Ω(log n)
Beweis
Betrachte Intervall der Länge w 2m/n
– Die W’keit, dass ein Peer hineinfällt ist p= w n
– Erwartete Anzahl von Peers: p n = w
2a)
1.Fall: p n ≥ 1, c>1
2.Fall: p n < 1, c>1
2b) p n > k ln n, c > 1
Algorithmen für Peer-to-PeerNetzwerke
22
HEINZ NIXDORF INSTITUT
Balance in Chord
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
– n: Anzahl der Knoten im P2P-Netzwerk
– k: Anzahl der Schlüssel  1
Theorem
Elemente werden auf die Peers wie folgt verteilt:
– Falls k=O(n log n):
In jedem Knoten werden höchstens O(log n + k/n log2 n) Schlüssel
gespeichert mit hoher W’keit
– Falls k=(n log n):
In jedem Knoten werden höchstens O(k/n log n) Schlüssel gespeichert mit
hoher W’keit
Beweis
– Übung
– Tipp:
Algorithmen für Peer-to-PeerNetzwerke
23
HEINZ NIXDORF INSTITUT
Die Datenstruktur von Chord
 Für jeden Knoten b:
– successor: Nachfolger
– predecessor: Vorgänger
– Für i  {0,..,m-1}
• Finger[i] := Der Knoten der
dem Wert rV(b+2i) folgt
 Für kleine i werden die FingerEinträge immer gleich
– Nur unterschiedliche
Fingereinträge werden
gespeichert
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
predecessor
successor
5
6
finger[0]
5
7
finger[1]
0
finger[2]
4
2
3
2
1
0
Algorithmen für Peer-to-PeerNetzwerke
24
HEINZ NIXDORF INSTITUT
Fingeranzahl
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Lemma
1. Der Ausgrad im CHORD-Netzwerk ist O(log n) mit hoher W‘keit
2. Der Eingrad im CHORD-Netzwerk ist O(log2 n) mit hoher W‘keit
Beweis
1. Der minimale Abstand zweier Peers ist 2m/nc (mit hoher W‘keit)
– Damit ist der Ausgrad beschränkt durch c log n (mit hoher W‘keit)
2. Der maximale Abstand zweier Peers ist O(log n 2m/n)
– Jeder Peer, der mit einem seiner Finger auf diese Linie zeigt, erhöht den
Eingrad des nachstehenden Peers.
– Die Gesamtlänge der Streckenabschnitte, wo solche Peers liegen ist
O(log2n 2m/n)
b.finger[m]
– Damit ist w=O(log2n)
a.finger[m-1]
b
a
x
y
Algorithmen für Peer-to-PeerNetzwerke
25
HEINZ NIXDORF INSTITUT
Suchen in Chord
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Theorem
Die Suche braucht mit hoher W’keit O(log n) Sprünge
Suchalgorithmus für Element s:
– Abbruch(b,s):
• Knoten b,b’=b.succ gefunden, mit rK(s)  [rV(b),rV(b‘)|
– Hauptroutine: Starte mit irgendeinem Knoten b
while not Abbruch(b,s) do
for i=m downto 0 do
if rK(s)  [rV(b.finger[i]),rV(finger[i+1])] then
b ← b.finger[i]
fi
b.finger[m]
od
b.finger[m-1]
b
c
x
sy
Algorithmen für Peer-to-PeerNetzwerke
26
HEINZ NIXDORF INSTITUT
Suchen in Chord
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Theorem
Die Suche braucht mit hoher W’keit O(log n) Sprünge
Beweis:
• Mit jedem Sprung wird die Entfernung zum Ziel mindestens halbiert
• Zu Beginn ist der Abstand höchstens 2m
• Der Mindestabstand zweier benachbarter Peers ist 2m/nc mit hoher W’keit
• Damit ist die Laufzeit beschränkt durch c log n
b.finger[m]
b.finger[m-1]
b
c
x
sy
Algorithmen für Peer-to-PeerNetzwerke
27
HEINZ NIXDORF INSTITUT
Einfügen von Peers
Universität Paderborn
Algorithmen und Komplexität
Christian Schindelhauer
Theorem
O(log2 n) Nachrichten genügen mit pol. W’keit, um Peers in CHORD
aufzunehmen
Beweisidee
o Zuerst wird Zielgebiet in O(log n) Schritten gesucht
o Die ausgehenden Zeiger werden vom Vorgänger und Nachfolger
übernommen und angepasst
– Die Zeiger müssen jeweils um bis zu O(log n) Schritte entlang des Rings
angepasst werden
o Der Eingrad des neuen ist mit hoher W’keit O(log2 n)
– Zu suchen kostet jeweils O(log n)
– Diese sind jeweils in Gruppen von maximal O(log n) benachbart.
– Damit fallen nur O(log n) Suchen á Kosten O(log n) an
– Die Aktualisierung hat jeweils konstante Kosten
Algorithmen für Peer-to-PeerNetzwerke
28
HEINZ NIXDORF INSTITUT
Universität Paderborn
Algorithmen und Komplexität
Vielen Dank
Ende der 5. Vorlesung
Nächste Vorlesung:
Fr. 28.05.2004
Nächste Übung:
6. Übung Mo. 31.05.2004
9-11 Uhr
10,12,16 Uhr (A,B,C)
Heinz Nixdorf Institut
& Institut für Informatik
Universität Paderborn
Fürstenallee 11
33102 Paderborn
Tel.: 0 52 51/60 66 92
Fax: 0 52 51/62 64 82
E-Mail: [email protected]
http://www.upb.de/cs/schindel.html
29
Herunterladen