Algorithmen in Rechnernetzwerken

Werbung
Graphalgorithmen
Robert Elsässer
Vorlesung vom 13. Januar 2011
Programm des Tages:
• Algorithmen in Rechnernetzwerken
Robert Elsässer
Universität Paderborn
Graphalgorithmen
WS 10/11
0
Der Hypercube
Definition 1: Der Hypercube der Dimension k wird mit Q(k) bezeichnet und ist wie folgt
definiert:
Q(k)
Vk
Ek
=
=
=
(Vk , Ek ) mit
{0, 1}k
{{u, v}; u, v ∈ {0, 1}k unterscheiden sich in genau einem Bit}
Satz 1: Der Hypercube Q(k), k ≥ 2, enthält einen Hamilton-Kreis.
Robert Elsässer
Universität Paderborn
Graphalgorithmen
WS 10/11
1
Broadcasting Problem: Zum Zeitpunkt 0 verfügt ein Knoten v über eine Nachricht M . Diese
Nachricht soll an alle Knoten des Graphen verteilt werden. Dabei darf jeder Knoten seine Nachricht
direkt nur an benachbarte Knoten verschicken.
Single-Port vs. Multi-Port Modell: Im single-port Modell darf ein Knoten in einem Schritt nur
mit einem seiner Nachbarn kommunizieren. Im multi-port Modell ist Kommunikation mit allen
Nachbarn erlaubt.
Broadcasting-Algorithmus für den Hypercube
for i := 0 to k − 1 do {
for any node v in parallel do {
if v informiert then
{ schicke Nachricht von Knoten v nach Knoten v(i); }
}
}
Robert Elsässer
Universität Paderborn
Graphalgorithmen
WS 10/11
2
Das Cube-Connected-Cycles Netzwerk
Definition 2: Das Cube-Connected-Cycles Netzwerk der Dimension k wird mit CCC(k)
bezeichnet und ist wie folgt definiert:
CCC(k)
Vk
Ek
=
=
=
(Vk , Ek ) mit
{(i, u); 0 ≤ i < k, u ∈ {0, 1}k }
{{(i, u), ((i + 1) mod k, u)}; 0 ≤ i < k, u ∈ {0, 1}k }
∪{{(i, u), (i, u(i))}; 0 ≤ i < k, u ∈ {0, 1}k }
Die Kanten der ersten Menge heißen Kreiskanten und die Kanten der zweiten Menge werden
Hypercube-Kanten genannt.
Satz 2: Das Cube-Connected-Cycles Netzwerk der Dimension k besitzt folgende Eigenschaften:
1.)
2.)
3.)
4.)
CCC(k) besitzt k · 2k Knoten und 3 · k · 2k−1 Kanten.
CCC(k) ist regulär vom Grad 3.
Der Durchmesser des CCC(k) ist 2k − 2 + b k2 c = b 5k
2 c − 2 für k > 3.
Die Bisektionsweite des CCC(k) ist 2k−1.
Robert Elsässer
Universität Paderborn
Graphalgorithmen
WS 10/11
3
Routing-Algorithmus für das Cube-Connected-Cycles Netzwerk
repeat k times {
if ui 6= vi then {
/* laufe Hypercube-Kante entlang */
sende Nachricht von (i, u) nach (i, u(i));
u := u(i);
}
if u 6= v then {
/* laufe Kreiskante entlang */
sende Nachricht von (i, u) nach ((i + 1) mod k, u);
i := (i + 1) mod k;
}
}
laufe im Kreis des Knotens v auf kürzestem Weg bis zum entsprechenden j ;
Satz 3: Das Cube-Connected-Cycles Netzwerk CCC(k) ist knotensymmetrisch.
Robert Elsässer
Universität Paderborn
Graphalgorithmen
WS 10/11
4
Das Butterfly Netzwerk
Definition 3: Das Butterfly Netzwerk der Dimension k wird mit BF (k) bezeichnet und ist wie
folgt definiert:
BF (k)
Vk
Ek
=
=
=
(Vk , Ek ) mit
{(i, u); 0 ≤ i < k, u ∈ {0, 1}k }
{{(i, u), ((i + 1) mod k, u)}; 0 ≤ i < k, u ∈ {0, 1}k }
∪{{(i, u), ((i + 1) mod k, u(i))}; 0 ≤ i < k, u ∈ {0, 1}k }
Die Kanten der ersten Menge heißen wieder Kreiskanten und die Kanten der zweiten Menge
werden Kreuzkanten genannt.
Satz 4: Das Butterfly Netzwerk der Dimension k besitzt die folgenden Eigenschaften:
1.)
2.)
3.)
4.)
BF (k) besitzt k · 2k Knoten und 4 · k · 2k−1 = k · 2k+1 Kanten.
BF (k) ist regulär vom Grad 4.
Der Durchmesser des BF (k) ist k + b k2 c = b 3k
2 c.
Die Bisektionsweite des BF (k) ist 2k .
Robert Elsässer
Universität Paderborn
Graphalgorithmen
WS 10/11
5
Routing-Algorithmus für das Butterfly Netzwerk
repeat k times {
if ui 6= vi then {
/* laufe Kreuzkante entlang */
sende Nachricht von (i, u) nach ((i + 1) mod k, u(i));
i := (i + 1) mod k; u := u(i);
}
else {
/* laufe Kreiskante entlang */
sende Nachricht von (i, u) nach ((i + 1) mod k, u);
i := (i + 1) mod k;
}
}
laufe im Kreis des Knotens v auf kürzestem Weg bis zum entsprechenden j ;
Satz 5: Das Butterfly Netzwerk BF (k) ist knotensymmetrisch.
Satz 6: CCC(k) ist Teilgraph des BF (k).
Robert Elsässer
Universität Paderborn
Graphalgorithmen
WS 10/11
6
Herunterladen