Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme...

136
Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk steht unter einer Creative Commons Namensnennung 4.0 International Lizenz. Sebastian Forster (Uni Salzburg) Leader Election II 1 / 25

Transcript of Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme...

Page 1: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Leader Election IIAlgorithmen für verteilte Systeme

Sebastian Forster

Universität Salzburg

Dieses Werk steht unter einer Creative Commons Namensnennung 4.0 International Lizenz.

Sebastian Forster (Uni Salzburg) Leader Election II 1 / 25

Page 2: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Motivation Leader Election

Leader Election:

Knoten eines Netzwerks einigen sich auf einen Leader

Alle anderen heißen Follower

Gesucht: Algorithmus, der für jeden Knoten entscheidet, ob er derLeader ist oder ein Follower

Motivation: Leader kann Koordinationsaufgaben übernehmen

Symmetry Breaking:

A priori eignet sich jeder Knoten als Leader

Lösung ist nicht eindeutig, es gibt n verschiedene Lösungen

Schwierigkeit beim Finden einer Lösung ist die konsistenteEntscheidung für eine der Lösungen

Sebastian Forster (Uni Salzburg) Leader Election II 2 / 25

Page 3: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Motivation Leader Election

Leader Election:

Knoten eines Netzwerks einigen sich auf einen Leader

Alle anderen heißen Follower

Gesucht: Algorithmus, der für jeden Knoten entscheidet, ob er derLeader ist oder ein Follower

Motivation: Leader kann Koordinationsaufgaben übernehmen

Symmetry Breaking:

A priori eignet sich jeder Knoten als Leader

Lösung ist nicht eindeutig, es gibt n verschiedene Lösungen

Schwierigkeit beim Finden einer Lösung ist die konsistenteEntscheidung für eine der Lösungen

Sebastian Forster (Uni Salzburg) Leader Election II 2 / 25

Page 4: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Was bisher geschah. . .

Leader Election im Ring:1 Anonyme Ringe: unmöglich für deterministische Algorithmen

Heute: Randomisierter Algorithmus2 Clockwise Algorithmus:

I Deterministischer synchroner/asynchroner Algorithmus füruniforme/non-uniforme Ringe

I O(n) Runden, O(n2) Nachrichten3 Wartezeit Algorithmus:

I Deterministischer synchroner Algorithmus für non-uniforme RingeI O(n ·minv ID(v)) Runden, O(n) NachrichtenI Frage: E�izienz in beiden Metriken möglich?

Heute: O(n) Runden, O(n logn) Nachrichten

Sebastian Forster (Uni Salzburg) Leader Election II 3 / 25

Page 5: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Was bisher geschah. . .

Leader Election im Ring:1 Anonyme Ringe: unmöglich für deterministische Algorithmen

Heute: Randomisierter Algorithmus

2 Clockwise Algorithmus:I Deterministischer synchroner/asynchroner Algorithmus für

uniforme/non-uniforme RingeI O(n) Runden, O(n2) Nachrichten

3 Wartezeit Algorithmus:I Deterministischer synchroner Algorithmus für non-uniforme RingeI O(n ·minv ID(v)) Runden, O(n) NachrichtenI Frage: E�izienz in beiden Metriken möglich?

Heute: O(n) Runden, O(n logn) Nachrichten

Sebastian Forster (Uni Salzburg) Leader Election II 3 / 25

Page 6: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Was bisher geschah. . .

Leader Election im Ring:1 Anonyme Ringe: unmöglich für deterministische Algorithmen

Heute: Randomisierter Algorithmus2 Clockwise Algorithmus:

I Deterministischer synchroner/asynchroner Algorithmus füruniforme/non-uniforme Ringe

I O(n) Runden, O(n2) Nachrichten

3 Wartezeit Algorithmus:I Deterministischer synchroner Algorithmus für non-uniforme RingeI O(n ·minv ID(v)) Runden, O(n) NachrichtenI Frage: E�izienz in beiden Metriken möglich?

Heute: O(n) Runden, O(n logn) Nachrichten

Sebastian Forster (Uni Salzburg) Leader Election II 3 / 25

Page 7: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Was bisher geschah. . .

Leader Election im Ring:1 Anonyme Ringe: unmöglich für deterministische Algorithmen

Heute: Randomisierter Algorithmus2 Clockwise Algorithmus:

I Deterministischer synchroner/asynchroner Algorithmus füruniforme/non-uniforme Ringe

I O(n) Runden, O(n2) Nachrichten3 Wartezeit Algorithmus:

I Deterministischer synchroner Algorithmus für non-uniforme RingeI O(n ·minv ID(v)) Runden, O(n) Nachrichten

I Frage: E�izienz in beiden Metriken möglich?

Heute: O(n) Runden, O(n logn) Nachrichten

Sebastian Forster (Uni Salzburg) Leader Election II 3 / 25

Page 8: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Was bisher geschah. . .

Leader Election im Ring:1 Anonyme Ringe: unmöglich für deterministische Algorithmen

Heute: Randomisierter Algorithmus2 Clockwise Algorithmus:

I Deterministischer synchroner/asynchroner Algorithmus füruniforme/non-uniforme Ringe

I O(n) Runden, O(n2) Nachrichten3 Wartezeit Algorithmus:

I Deterministischer synchroner Algorithmus für non-uniforme RingeI O(n ·minv ID(v)) Runden, O(n) NachrichtenI Frage: E�izienz in beiden Metriken möglich?

Heute: O(n) Runden, O(n logn) Nachrichten

Sebastian Forster (Uni Salzburg) Leader Election II 3 / 25

Page 9: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Was bisher geschah. . .

Leader Election im Ring:1 Anonyme Ringe: unmöglich für deterministische Algorithmen

Heute: Randomisierter Algorithmus2 Clockwise Algorithmus:

I Deterministischer synchroner/asynchroner Algorithmus füruniforme/non-uniforme Ringe

I O(n) Runden, O(n2) Nachrichten3 Wartezeit Algorithmus:

I Deterministischer synchroner Algorithmus für non-uniforme RingeI O(n ·minv ID(v)) Runden, O(n) NachrichtenI Frage: E�izienz in beiden Metriken möglich?

Heute: O(n) Runden, O(n logn) Nachrichten

Sebastian Forster (Uni Salzburg) Leader Election II 3 / 25

Page 10: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Idee: Radius GrowthAnnahmen: synchron, identifizierbar, non-uniform

Bin ich hier der Leader?

Sebastian Forster (Uni Salzburg) Leader Election II 4 / 25

Page 11: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Idee: Radius GrowthAnnahmen: synchron, identifizierbar, non-uniform

Bin ich hier der Leader?

Sebastian Forster (Uni Salzburg) Leader Election II 4 / 25

Page 12: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Idee: Radius GrowthAnnahmen: synchron, identifizierbar, non-uniform

Bin ich hier der Leader?

Sebastian Forster (Uni Salzburg) Leader Election II 4 / 25

Page 13: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Radius Growth Algorithmus [Hirschberg/Sinclair ’80]

Unterteilung der Runden in dlogne aufeinanderfolgende PhasenDie i-te Phase dauert 2i−1 + 1 Runden

Algorithmus für jeden Knoten v :Erste Runde jeder Phase:

1 if v noch kein Follower then2 v sendet ID(v) an Nachbarn im und gegen den Uhrzeigersinn

Jede andere Runde:

1 if v empfängt Nachricht M von Nachbar gegen (im) den Uhrzeigersinn then2 if M < ID(v) then3 v wird zum Follower (sofern nicht bereits vorher geschehen)4 if nicht letzte Runde der Phase then5 v sendet M an Nachbar im (gegen) Uhrzeigersinn

Zusätzlich in letzter Runde der letzten Phase:

1 if v ist noch kein Follower then v wird zum Leader

Sebastian Forster (Uni Salzburg) Leader Election II 5 / 25

Page 14: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Radius Growth Algorithmus [Hirschberg/Sinclair ’80]

Unterteilung der Runden in dlogne aufeinanderfolgende PhasenDie i-te Phase dauert 2i−1 + 1 Runden

Algorithmus für jeden Knoten v :Erste Runde jeder Phase:

1 if v noch kein Follower then2 v sendet ID(v) an Nachbarn im und gegen den Uhrzeigersinn

Jede andere Runde:

1 if v empfängt Nachricht M von Nachbar gegen (im) den Uhrzeigersinn then2 if M < ID(v) then3 v wird zum Follower (sofern nicht bereits vorher geschehen)4 if nicht letzte Runde der Phase then5 v sendet M an Nachbar im (gegen) Uhrzeigersinn

Zusätzlich in letzter Runde der letzten Phase:

1 if v ist noch kein Follower then v wird zum Leader

Sebastian Forster (Uni Salzburg) Leader Election II 5 / 25

Page 15: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Radius Growth Algorithmus [Hirschberg/Sinclair ’80]

Unterteilung der Runden in dlogne aufeinanderfolgende PhasenDie i-te Phase dauert 2i−1 + 1 Runden

Algorithmus für jeden Knoten v :Erste Runde jeder Phase:

1 if v noch kein Follower then2 v sendet ID(v) an Nachbarn im und gegen den Uhrzeigersinn

Jede andere Runde:

1 if v empfängt Nachricht M von Nachbar gegen (im) den Uhrzeigersinn then2 if M < ID(v) then3 v wird zum Follower (sofern nicht bereits vorher geschehen)4 if nicht letzte Runde der Phase then5 v sendet M an Nachbar im (gegen) Uhrzeigersinn

Zusätzlich in letzter Runde der letzten Phase:

1 if v ist noch kein Follower then v wird zum Leader

Sebastian Forster (Uni Salzburg) Leader Election II 5 / 25

Page 16: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Radius Growth Algorithmus [Hirschberg/Sinclair ’80]

Unterteilung der Runden in dlogne aufeinanderfolgende PhasenDie i-te Phase dauert 2i−1 + 1 Runden

Algorithmus für jeden Knoten v :Erste Runde jeder Phase:

1 if v noch kein Follower then2 v sendet ID(v) an Nachbarn im und gegen den Uhrzeigersinn

Jede andere Runde:

1 if v empfängt Nachricht M von Nachbar gegen (im) den Uhrzeigersinn then

2 if M < ID(v) then3 v wird zum Follower (sofern nicht bereits vorher geschehen)4 if nicht letzte Runde der Phase then5 v sendet M an Nachbar im (gegen) Uhrzeigersinn

Zusätzlich in letzter Runde der letzten Phase:

1 if v ist noch kein Follower then v wird zum Leader

Sebastian Forster (Uni Salzburg) Leader Election II 5 / 25

Page 17: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Radius Growth Algorithmus [Hirschberg/Sinclair ’80]

Unterteilung der Runden in dlogne aufeinanderfolgende PhasenDie i-te Phase dauert 2i−1 + 1 Runden

Algorithmus für jeden Knoten v :Erste Runde jeder Phase:

1 if v noch kein Follower then2 v sendet ID(v) an Nachbarn im und gegen den Uhrzeigersinn

Jede andere Runde:

1 if v empfängt Nachricht M von Nachbar gegen (im) den Uhrzeigersinn then2 if M < ID(v) then3 v wird zum Follower (sofern nicht bereits vorher geschehen)4 if nicht letzte Runde der Phase then5 v sendet M an Nachbar im (gegen) Uhrzeigersinn

Zusätzlich in letzter Runde der letzten Phase:

1 if v ist noch kein Follower then v wird zum Leader

Sebastian Forster (Uni Salzburg) Leader Election II 5 / 25

Page 18: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Radius Growth Algorithmus [Hirschberg/Sinclair ’80]

Unterteilung der Runden in dlogne aufeinanderfolgende PhasenDie i-te Phase dauert 2i−1 + 1 Runden

Algorithmus für jeden Knoten v :Erste Runde jeder Phase:

1 if v noch kein Follower then2 v sendet ID(v) an Nachbarn im und gegen den Uhrzeigersinn

Jede andere Runde:

1 if v empfängt Nachricht M von Nachbar gegen (im) den Uhrzeigersinn then2 if M < ID(v) then3 v wird zum Follower (sofern nicht bereits vorher geschehen)4 if nicht letzte Runde der Phase then5 v sendet M an Nachbar im (gegen) Uhrzeigersinn

Zusätzlich in letzter Runde der letzten Phase:

1 if v ist noch kein Follower then v wird zum LeaderSebastian Forster (Uni Salzburg) Leader Election II 5 / 25

Page 19: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Beispiel

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25

Page 20: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Beispiel

9

4

7 2

8

1

Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25

Page 21: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Beispiel

4

7 2

1

Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25

Page 22: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Beispiel

4

7 2

1

Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25

Page 23: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Beispiel

4

7 2

1

Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25

Page 24: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Beispiel

1

Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25

Page 25: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Beispiel

1

Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25

Page 26: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Beispiel

1

Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25

Page 27: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Beispiel

1

Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25

Page 28: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Beispiel

1

Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25

Page 29: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Beispiel

1

Sebastian Forster (Uni Salzburg) Leader Election II 6 / 25

Page 30: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Korrektheit

TheoremDer Radius Growth Algorithmus bestimmt einen eindeutigen Leader.

Beweis:Knoten z mit kleinster ID kann nie Nachricht mit kleinerer ID erhalten,wird deshalb nie zum Follower und wird somit in letzter Runde vonletzer Phase zum Leader

Nachricht mit ID von z in letzer Phase ` (wobei ` = dlogne) erreicht 2`−1Knoten jeweils im und gegen den Uhrzeigersinn

Da 2`−1 = 2 dlogn e−1 ≥ 2logn−1 = 2logn2 = n

2 , erreicht Nachricht mit ID vonz alle anderen Knoten, die spätestens dann zu Followern werden, da siehöhere ID als z haben

Somit: Gültige Einteilung in Leader und Follower

Sebastian Forster (Uni Salzburg) Leader Election II 7 / 25

Page 31: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Korrektheit

TheoremDer Radius Growth Algorithmus bestimmt einen eindeutigen Leader.

Beweis:Knoten z mit kleinster ID kann nie Nachricht mit kleinerer ID erhalten,wird deshalb nie zum Follower und wird somit in letzter Runde vonletzer Phase zum Leader

Nachricht mit ID von z in letzer Phase ` (wobei ` = dlogne) erreicht 2`−1Knoten jeweils im und gegen den Uhrzeigersinn

Da 2`−1 = 2 dlogn e−1 ≥ 2logn−1 = 2logn2 = n

2 , erreicht Nachricht mit ID vonz alle anderen Knoten, die spätestens dann zu Followern werden, da siehöhere ID als z haben

Somit: Gültige Einteilung in Leader und Follower

Sebastian Forster (Uni Salzburg) Leader Election II 7 / 25

Page 32: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Korrektheit

TheoremDer Radius Growth Algorithmus bestimmt einen eindeutigen Leader.

Beweis:Knoten z mit kleinster ID kann nie Nachricht mit kleinerer ID erhalten,wird deshalb nie zum Follower und wird somit in letzter Runde vonletzer Phase zum Leader

Nachricht mit ID von z in letzer Phase ` (wobei ` = dlogne) erreicht 2`−1Knoten jeweils im und gegen den Uhrzeigersinn

Da 2`−1 = 2 dlogn e−1 ≥ 2logn−1 = 2logn2 = n

2 , erreicht Nachricht mit ID vonz alle anderen Knoten, die spätestens dann zu Followern werden, da siehöhere ID als z haben

Somit: Gültige Einteilung in Leader und Follower

Sebastian Forster (Uni Salzburg) Leader Election II 7 / 25

Page 33: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Korrektheit

TheoremDer Radius Growth Algorithmus bestimmt einen eindeutigen Leader.

Beweis:Knoten z mit kleinster ID kann nie Nachricht mit kleinerer ID erhalten,wird deshalb nie zum Follower und wird somit in letzter Runde vonletzer Phase zum Leader

Nachricht mit ID von z in letzer Phase ` (wobei ` = dlogne) erreicht 2`−1Knoten jeweils im und gegen den Uhrzeigersinn

Da 2`−1 = 2 dlogn e−1 ≥ 2logn−1 = 2logn2 = n

2 , erreicht Nachricht mit ID vonz alle anderen Knoten, die spätestens dann zu Followern werden, da siehöhere ID als z haben

Somit: Gültige Einteilung in Leader und Follower

Sebastian Forster (Uni Salzburg) Leader Election II 7 / 25

Page 34: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Korrektheit

TheoremDer Radius Growth Algorithmus bestimmt einen eindeutigen Leader.

Beweis:Knoten z mit kleinster ID kann nie Nachricht mit kleinerer ID erhalten,wird deshalb nie zum Follower und wird somit in letzter Runde vonletzer Phase zum Leader

Nachricht mit ID von z in letzer Phase ` (wobei ` = dlogne) erreicht 2`−1Knoten jeweils im und gegen den Uhrzeigersinn

Da 2`−1 = 2 dlogn e−1 ≥ 2logn−1 = 2logn2 = n

2 , erreicht Nachricht mit ID vonz alle anderen Knoten, die spätestens dann zu Followern werden, da siehöhere ID als z haben

Somit: Gültige Einteilung in Leader und Follower

Sebastian Forster (Uni Salzburg) Leader Election II 7 / 25

Page 35: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeit

TheoremDer Radius Growth Algorithmus benötigt O(n) Runden.

Beweis:Phase i benötigt 2i−1 + 1 ≤ 2i Runden

Gesamtzahl an Runden:

dlogn e∑i=1

2i

≤ 2 dlogn e+1 ≤ 2logn+2 ≤ 4 · 2logn = 4n

Geometrischen Reihe:∑n

k=0 rk = rn+1−1

r−1 ≤ rn+1 für r , 1 und n ≥ 0

Sebastian Forster (Uni Salzburg) Leader Election II 8 / 25

Page 36: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeit

TheoremDer Radius Growth Algorithmus benötigt O(n) Runden.

Beweis:Phase i benötigt 2i−1 + 1 ≤ 2i Runden

Gesamtzahl an Runden:

dlogn e∑i=1

2i

≤ 2 dlogn e+1 ≤ 2logn+2 ≤ 4 · 2logn = 4n

Geometrischen Reihe:∑n

k=0 rk = rn+1−1

r−1 ≤ rn+1 für r , 1 und n ≥ 0

Sebastian Forster (Uni Salzburg) Leader Election II 8 / 25

Page 37: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeit

TheoremDer Radius Growth Algorithmus benötigt O(n) Runden.

Beweis:Phase i benötigt 2i−1 + 1 ≤ 2i Runden

Gesamtzahl an Runden:

dlogn e∑i=1

2i

≤ 2 dlogn e+1 ≤ 2logn+2 ≤ 4 · 2logn = 4n

Geometrischen Reihe:∑n

k=0 rk = rn+1−1

r−1 ≤ rn+1 für r , 1 und n ≥ 0

Sebastian Forster (Uni Salzburg) Leader Election II 8 / 25

Page 38: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeit

TheoremDer Radius Growth Algorithmus benötigt O(n) Runden.

Beweis:Phase i benötigt 2i−1 + 1 ≤ 2i Runden

Gesamtzahl an Runden:

dlogn e∑i=1

2i ≤ 2 dlogn e+1

≤ 2logn+2 ≤ 4 · 2logn = 4n

Geometrischen Reihe:∑n

k=0 rk = rn+1−1

r−1 ≤ rn+1 für r , 1 und n ≥ 0

Sebastian Forster (Uni Salzburg) Leader Election II 8 / 25

Page 39: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeit

TheoremDer Radius Growth Algorithmus benötigt O(n) Runden.

Beweis:Phase i benötigt 2i−1 + 1 ≤ 2i Runden

Gesamtzahl an Runden:

dlogn e∑i=1

2i ≤ 2 dlogn e+1 ≤ 2logn+2

≤ 4 · 2logn = 4n

Geometrischen Reihe:∑n

k=0 rk = rn+1−1

r−1 ≤ rn+1 für r , 1 und n ≥ 0

Sebastian Forster (Uni Salzburg) Leader Election II 8 / 25

Page 40: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeit

TheoremDer Radius Growth Algorithmus benötigt O(n) Runden.

Beweis:Phase i benötigt 2i−1 + 1 ≤ 2i Runden

Gesamtzahl an Runden:

dlogn e∑i=1

2i ≤ 2 dlogn e+1 ≤ 2logn+2 ≤ 4 · 2logn

= 4n

Geometrischen Reihe:∑n

k=0 rk = rn+1−1

r−1 ≤ rn+1 für r , 1 und n ≥ 0

Sebastian Forster (Uni Salzburg) Leader Election II 8 / 25

Page 41: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeit

TheoremDer Radius Growth Algorithmus benötigt O(n) Runden.

Beweis:Phase i benötigt 2i−1 + 1 ≤ 2i Runden

Gesamtzahl an Runden:

dlogn e∑i=1

2i ≤ 2 dlogn e+1 ≤ 2logn+2 ≤ 4 · 2logn = 4n

Geometrischen Reihe:∑n

k=0 rk = rn+1−1

r−1 ≤ rn+1 für r , 1 und n ≥ 0

Sebastian Forster (Uni Salzburg) Leader Election II 8 / 25

Page 42: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Nachrichtenkomplexität I

Wir nennen Knoten, die noch keine Follower sind, aktiv.

LemmaFür jeden aktiven Knoten v gilt am Ende von Phase i : alle anderen Knoten inDistanz bis zu 2i−1 sind inaktiv.

Beweis:Angenommen es gibt Knoten w in Distanz höchstens 2i−1, der am Endevon Phase i aktiv ist

Dann war w auch am Anfang von Phase i aktiv

Wenn ID(v) > ID(w): v erhält in Phase i Nachricht mit ID(w) (da w amAnfang der Phase aktiv war) und wird daher inaktiv: Widerspruch zurAnnahme, dass v am Ende von Phase i aktiv ist

Wenn ID(v) < ID(w): w erhält in Phase i Nachricht mit ID(v) und wirddaher inaktiv: Widerspruch zur Annahme, dass w am Ende von Phase iaktiv ist

Sebastian Forster (Uni Salzburg) Leader Election II 9 / 25

Page 43: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Nachrichtenkomplexität I

Wir nennen Knoten, die noch keine Follower sind, aktiv.

LemmaFür jeden aktiven Knoten v gilt am Ende von Phase i : alle anderen Knoten inDistanz bis zu 2i−1 sind inaktiv.

Beweis:Angenommen es gibt Knoten w in Distanz höchstens 2i−1, der am Endevon Phase i aktiv ist

Dann war w auch am Anfang von Phase i aktiv

Wenn ID(v) > ID(w): v erhält in Phase i Nachricht mit ID(w) (da w amAnfang der Phase aktiv war) und wird daher inaktiv: Widerspruch zurAnnahme, dass v am Ende von Phase i aktiv ist

Wenn ID(v) < ID(w): w erhält in Phase i Nachricht mit ID(v) und wirddaher inaktiv: Widerspruch zur Annahme, dass w am Ende von Phase iaktiv ist

Sebastian Forster (Uni Salzburg) Leader Election II 9 / 25

Page 44: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Nachrichtenkomplexität I

Wir nennen Knoten, die noch keine Follower sind, aktiv.

LemmaFür jeden aktiven Knoten v gilt am Ende von Phase i : alle anderen Knoten inDistanz bis zu 2i−1 sind inaktiv.

Beweis:Angenommen es gibt Knoten w in Distanz höchstens 2i−1, der am Endevon Phase i aktiv ist

Dann war w auch am Anfang von Phase i aktiv

Wenn ID(v) > ID(w): v erhält in Phase i Nachricht mit ID(w) (da w amAnfang der Phase aktiv war) und wird daher inaktiv: Widerspruch zurAnnahme, dass v am Ende von Phase i aktiv ist

Wenn ID(v) < ID(w): w erhält in Phase i Nachricht mit ID(v) und wirddaher inaktiv: Widerspruch zur Annahme, dass w am Ende von Phase iaktiv ist

Sebastian Forster (Uni Salzburg) Leader Election II 9 / 25

Page 45: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Nachrichtenkomplexität I

Wir nennen Knoten, die noch keine Follower sind, aktiv.

LemmaFür jeden aktiven Knoten v gilt am Ende von Phase i : alle anderen Knoten inDistanz bis zu 2i−1 sind inaktiv.

Beweis:Angenommen es gibt Knoten w in Distanz höchstens 2i−1, der am Endevon Phase i aktiv ist

Dann war w auch am Anfang von Phase i aktiv

Wenn ID(v) > ID(w): v erhält in Phase i Nachricht mit ID(w) (da w amAnfang der Phase aktiv war) und wird daher inaktiv: Widerspruch zurAnnahme, dass v am Ende von Phase i aktiv ist

Wenn ID(v) < ID(w): w erhält in Phase i Nachricht mit ID(v) und wirddaher inaktiv: Widerspruch zur Annahme, dass w am Ende von Phase iaktiv ist

Sebastian Forster (Uni Salzburg) Leader Election II 9 / 25

Page 46: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Nachrichtenkomplexität I

Wir nennen Knoten, die noch keine Follower sind, aktiv.

LemmaFür jeden aktiven Knoten v gilt am Ende von Phase i : alle anderen Knoten inDistanz bis zu 2i−1 sind inaktiv.

Beweis:Angenommen es gibt Knoten w in Distanz höchstens 2i−1, der am Endevon Phase i aktiv ist

Dann war w auch am Anfang von Phase i aktiv

Wenn ID(v) > ID(w): v erhält in Phase i Nachricht mit ID(w) (da w amAnfang der Phase aktiv war) und wird daher inaktiv: Widerspruch zurAnnahme, dass v am Ende von Phase i aktiv ist

Wenn ID(v) < ID(w): w erhält in Phase i Nachricht mit ID(v) und wirddaher inaktiv: Widerspruch zur Annahme, dass w am Ende von Phase iaktiv ist

Sebastian Forster (Uni Salzburg) Leader Election II 9 / 25

Page 47: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Nachrichtenkomplexität I

Wir nennen Knoten, die noch keine Follower sind, aktiv.

LemmaFür jeden aktiven Knoten v gilt am Ende von Phase i : alle anderen Knoten inDistanz bis zu 2i−1 sind inaktiv.

Beweis:Angenommen es gibt Knoten w in Distanz höchstens 2i−1, der am Endevon Phase i aktiv ist

Dann war w auch am Anfang von Phase i aktiv

Wenn ID(v) > ID(w): v erhält in Phase i Nachricht mit ID(w) (da w amAnfang der Phase aktiv war) und wird daher inaktiv: Widerspruch zurAnnahme, dass v am Ende von Phase i aktiv ist

Wenn ID(v) < ID(w): w erhält in Phase i Nachricht mit ID(v) und wirddaher inaktiv: Widerspruch zur Annahme, dass w am Ende von Phase iaktiv ist

Sebastian Forster (Uni Salzburg) Leader Election II 9 / 25

Page 48: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Nachrichtenkomplexität II

LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.

Wegen vorigem Lemma: Jedem aktiven Knoten können eindeutig die2i−2 nächsten inaktiven Knoten im Uhrzeigersinn zugeordnet werden

2i−2

2i−22i−2

2i−2

Sei a die Anzahl aktiver Knoten

Dann gilt a · 2i−2 ≤ n und somit a ≤ n/2i−2

Sebastian Forster (Uni Salzburg) Leader Election II 10 / 25

Page 49: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Nachrichtenkomplexität II

LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.

Wegen vorigem Lemma: Jedem aktiven Knoten können eindeutig die2i−2 nächsten inaktiven Knoten im Uhrzeigersinn zugeordnet werden

2i−2

2i−22i−2

2i−2

Sei a die Anzahl aktiver Knoten

Dann gilt a · 2i−2 ≤ n und somit a ≤ n/2i−2

Sebastian Forster (Uni Salzburg) Leader Election II 10 / 25

Page 50: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Nachrichtenkomplexität II

LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.

Wegen vorigem Lemma: Jedem aktiven Knoten können eindeutig die2i−2 nächsten inaktiven Knoten im Uhrzeigersinn zugeordnet werden

2i−2

2i−22i−2

2i−2

Sei a die Anzahl aktiver Knoten

Dann gilt a · 2i−2 ≤ n und somit a ≤ n/2i−2

Sebastian Forster (Uni Salzburg) Leader Election II 10 / 25

Page 51: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Nachrichtenkomplexität II

LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.

Wegen vorigem Lemma: Jedem aktiven Knoten können eindeutig die2i−2 nächsten inaktiven Knoten im Uhrzeigersinn zugeordnet werden

2i−2

2i−22i−2

2i−2

Sei a die Anzahl aktiver Knoten

Dann gilt a · 2i−2 ≤ n und somit a ≤ n/2i−2

Sebastian Forster (Uni Salzburg) Leader Election II 10 / 25

Page 52: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Nachrichtenkomplexität II

LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.

Wegen vorigem Lemma: Jedem aktiven Knoten können eindeutig die2i−2 nächsten inaktiven Knoten im Uhrzeigersinn zugeordnet werden

2i−2

2i−22i−2

2i−2

Sei a die Anzahl aktiver Knoten

Dann gilt a · 2i−2 ≤ n und somit a ≤ n/2i−2

Sebastian Forster (Uni Salzburg) Leader Election II 10 / 25

Page 53: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Nachrichtenkomplexität III

LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.

TheoremDer Radius Growth Algorithmus sendet höchstens O(n logn) Nachrichten.

Beweis:In jeder Phase initiiert jeder aktive Knoten zwei Nachrichten, diesewerden in jeder Runde der Phase einmal weitergeleitet

Anzahl an Nachrichten in Phase i ≥ 2: ≤ n2i−2 · 2 · 2

i−1 = 4nAnzahl an Nachrichten in Phase 1: 2ndlogne Phasen, daher insgesamt O(n logn) Nachrichten

Sebastian Forster (Uni Salzburg) Leader Election II 11 / 25

Page 54: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Nachrichtenkomplexität III

LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.

TheoremDer Radius Growth Algorithmus sendet höchstens O(n logn) Nachrichten.

Beweis:In jeder Phase initiiert jeder aktive Knoten zwei Nachrichten, diesewerden in jeder Runde der Phase einmal weitergeleitet

Anzahl an Nachrichten in Phase i ≥ 2: ≤ n2i−2 · 2 · 2

i−1 = 4nAnzahl an Nachrichten in Phase 1: 2ndlogne Phasen, daher insgesamt O(n logn) Nachrichten

Sebastian Forster (Uni Salzburg) Leader Election II 11 / 25

Page 55: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Nachrichtenkomplexität III

LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.

TheoremDer Radius Growth Algorithmus sendet höchstens O(n logn) Nachrichten.

Beweis:In jeder Phase initiiert jeder aktive Knoten zwei Nachrichten, diesewerden in jeder Runde der Phase einmal weitergeleitet

Anzahl an Nachrichten in Phase i ≥ 2: ≤ n2i−2 · 2 · 2

i−1 = 4nAnzahl an Nachrichten in Phase 1: 2ndlogne Phasen, daher insgesamt O(n logn) Nachrichten

Sebastian Forster (Uni Salzburg) Leader Election II 11 / 25

Page 56: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Nachrichtenkomplexität III

LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.

TheoremDer Radius Growth Algorithmus sendet höchstens O(n logn) Nachrichten.

Beweis:In jeder Phase initiiert jeder aktive Knoten zwei Nachrichten, diesewerden in jeder Runde der Phase einmal weitergeleitet

Anzahl an Nachrichten in Phase i ≥ 2: ≤ n2i−2 · 2 · 2

i−1 = 4n

Anzahl an Nachrichten in Phase 1: 2ndlogne Phasen, daher insgesamt O(n logn) Nachrichten

Sebastian Forster (Uni Salzburg) Leader Election II 11 / 25

Page 57: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Nachrichtenkomplexität III

LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.

TheoremDer Radius Growth Algorithmus sendet höchstens O(n logn) Nachrichten.

Beweis:In jeder Phase initiiert jeder aktive Knoten zwei Nachrichten, diesewerden in jeder Runde der Phase einmal weitergeleitet

Anzahl an Nachrichten in Phase i ≥ 2: ≤ n2i−2 · 2 · 2

i−1 = 4nAnzahl an Nachrichten in Phase 1: 2n

dlogne Phasen, daher insgesamt O(n logn) Nachrichten

Sebastian Forster (Uni Salzburg) Leader Election II 11 / 25

Page 58: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Nachrichtenkomplexität III

LemmaFür i ≥ 2 ist die Anzahl aktiver Knoten am Beginn von Phase i höchstens n/2i−2.

TheoremDer Radius Growth Algorithmus sendet höchstens O(n logn) Nachrichten.

Beweis:In jeder Phase initiiert jeder aktive Knoten zwei Nachrichten, diesewerden in jeder Runde der Phase einmal weitergeleitet

Anzahl an Nachrichten in Phase i ≥ 2: ≤ n2i−2 · 2 · 2

i−1 = 4nAnzahl an Nachrichten in Phase 1: 2ndlogne Phasen, daher insgesamt O(n logn) Nachrichten

Sebastian Forster (Uni Salzburg) Leader Election II 11 / 25

Page 59: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Zusammenfassung

Radius Growth:Bestimmt Knoten mit kleinster ID zum Leader

Laufzeit: O(n)

Nachrichtenkomplexität: O(n logn)Kann auch als asynchroner Algorithmus in uniformen Ringen formuliertwerden

Sebastian Forster (Uni Salzburg) Leader Election II 12 / 25

Page 60: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Randomisierter Algorithmus [A�iya/Welch ’98]

Annahmen: synchron, anonym, non-uniform

Algorithmus:1 Jeder Knoten wählt uniform zufällige ID von 0 bis 2n − 12 Knoten führen Clockwise Algorithmus mit gewählten IDs aus

Problem:I IDs können mehrfach vergeben seinI Algorithmus könnte falsches Ergebnis liefernI Clockwise macht alle Knoten mit kleinster vergebener ID zu Leadern

3 Knoten verifizieren, ob Ergebnis korrekt istGültigkeit einer Einteilung in Leader und Follower kann in O(n) Runden mitO(n) Nachrichten überprü� werden

4 Falls Ergebnis nicht korrekt, wiederhole ab Schri� 1

Sebastian Forster (Uni Salzburg) Leader Election II 13 / 25

Page 61: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Randomisierter Algorithmus [A�iya/Welch ’98]

Annahmen: synchron, anonym, non-uniform

Algorithmus:1 Jeder Knoten wählt uniform zufällige ID von 0 bis 2n − 12 Knoten führen Clockwise Algorithmus mit gewählten IDs aus

Problem:I IDs können mehrfach vergeben seinI Algorithmus könnte falsches Ergebnis liefernI Clockwise macht alle Knoten mit kleinster vergebener ID zu Leadern

3 Knoten verifizieren, ob Ergebnis korrekt istGültigkeit einer Einteilung in Leader und Follower kann in O(n) Runden mitO(n) Nachrichten überprü� werden

4 Falls Ergebnis nicht korrekt, wiederhole ab Schri� 1

Sebastian Forster (Uni Salzburg) Leader Election II 13 / 25

Page 62: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Randomisierter Algorithmus [A�iya/Welch ’98]

Annahmen: synchron, anonym, non-uniform

Algorithmus:1 Jeder Knoten wählt uniform zufällige ID von 0 bis 2n − 12 Knoten führen Clockwise Algorithmus mit gewählten IDs aus

Problem:I IDs können mehrfach vergeben seinI Algorithmus könnte falsches Ergebnis liefernI Clockwise macht alle Knoten mit kleinster vergebener ID zu Leadern

3 Knoten verifizieren, ob Ergebnis korrekt istGültigkeit einer Einteilung in Leader und Follower kann in O(n) Runden mitO(n) Nachrichten überprü� werden

4 Falls Ergebnis nicht korrekt, wiederhole ab Schri� 1

Sebastian Forster (Uni Salzburg) Leader Election II 13 / 25

Page 63: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Randomisierter Algorithmus [A�iya/Welch ’98]

Annahmen: synchron, anonym, non-uniform

Algorithmus:1 Jeder Knoten wählt uniform zufällige ID von 0 bis 2n − 12 Knoten führen Clockwise Algorithmus mit gewählten IDs aus

Problem:I IDs können mehrfach vergeben seinI Algorithmus könnte falsches Ergebnis liefernI Clockwise macht alle Knoten mit kleinster vergebener ID zu Leadern

3 Knoten verifizieren, ob Ergebnis korrekt ist

Gültigkeit einer Einteilung in Leader und Follower kann in O(n) Runden mitO(n) Nachrichten überprü� werden

4 Falls Ergebnis nicht korrekt, wiederhole ab Schri� 1

Sebastian Forster (Uni Salzburg) Leader Election II 13 / 25

Page 64: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Randomisierter Algorithmus [A�iya/Welch ’98]

Annahmen: synchron, anonym, non-uniform

Algorithmus:1 Jeder Knoten wählt uniform zufällige ID von 0 bis 2n − 12 Knoten führen Clockwise Algorithmus mit gewählten IDs aus

Problem:I IDs können mehrfach vergeben seinI Algorithmus könnte falsches Ergebnis liefernI Clockwise macht alle Knoten mit kleinster vergebener ID zu Leadern

3 Knoten verifizieren, ob Ergebnis korrekt istGültigkeit einer Einteilung in Leader und Follower kann in O(n) Runden mitO(n) Nachrichten überprü� werden

4 Falls Ergebnis nicht korrekt, wiederhole ab Schri� 1

Sebastian Forster (Uni Salzburg) Leader Election II 13 / 25

Page 65: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Randomisierter Algorithmus [A�iya/Welch ’98]

Annahmen: synchron, anonym, non-uniform

Algorithmus:1 Jeder Knoten wählt uniform zufällige ID von 0 bis 2n − 12 Knoten führen Clockwise Algorithmus mit gewählten IDs aus

Problem:I IDs können mehrfach vergeben seinI Algorithmus könnte falsches Ergebnis liefernI Clockwise macht alle Knoten mit kleinster vergebener ID zu Leadern

3 Knoten verifizieren, ob Ergebnis korrekt istGültigkeit einer Einteilung in Leader und Follower kann in O(n) Runden mitO(n) Nachrichten überprü� werden

4 Falls Ergebnis nicht korrekt, wiederhole ab Schri� 1

Sebastian Forster (Uni Salzburg) Leader Election II 13 / 25

Page 66: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

BinomialverteilungDefinitionEin Zufallsexperiment, das nur zwei mögliche Ergebnisse – Erfolg mitWahrscheinlichkeit p und Misserfolg mit Wahrscheinlichkeit 1 − p – hat,heißt Bernoulli-Experiment.

DefinitionEine Bernoulli-Ke�e der Länge n ist eine n-fache Wiederholung einesBernoulli-Experiments mit der jeweils gleichen Erfolgswahrscheinlichkeit p.

DefinitionSei X die Zufallsvariable, die angibt, wie viele Erfolge in einer Bernoulli-Ke�eder Länge n erzielt werden. Dann wird die Wahrscheinlichkeitsverteilungvon X Binomialverteilung mit Parametern n und p genannt.

Theorem

Pr[X = k] =(nk

)pk (1 − p)n−k für alle k ≥ 0

Sebastian Forster (Uni Salzburg) Leader Election II 14 / 25

Page 67: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

BinomialverteilungDefinitionEin Zufallsexperiment, das nur zwei mögliche Ergebnisse – Erfolg mitWahrscheinlichkeit p und Misserfolg mit Wahrscheinlichkeit 1 − p – hat,heißt Bernoulli-Experiment.

DefinitionEine Bernoulli-Ke�e der Länge n ist eine n-fache Wiederholung einesBernoulli-Experiments mit der jeweils gleichen Erfolgswahrscheinlichkeit p.

DefinitionSei X die Zufallsvariable, die angibt, wie viele Erfolge in einer Bernoulli-Ke�eder Länge n erzielt werden. Dann wird die Wahrscheinlichkeitsverteilungvon X Binomialverteilung mit Parametern n und p genannt.

Theorem

Pr[X = k] =(nk

)pk (1 − p)n−k für alle k ≥ 0

Sebastian Forster (Uni Salzburg) Leader Election II 14 / 25

Page 68: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

BinomialverteilungDefinitionEin Zufallsexperiment, das nur zwei mögliche Ergebnisse – Erfolg mitWahrscheinlichkeit p und Misserfolg mit Wahrscheinlichkeit 1 − p – hat,heißt Bernoulli-Experiment.

DefinitionEine Bernoulli-Ke�e der Länge n ist eine n-fache Wiederholung einesBernoulli-Experiments mit der jeweils gleichen Erfolgswahrscheinlichkeit p.

DefinitionSei X die Zufallsvariable, die angibt, wie viele Erfolge in einer Bernoulli-Ke�eder Länge n erzielt werden. Dann wird die Wahrscheinlichkeitsverteilungvon X Binomialverteilung mit Parametern n und p genannt.

Theorem

Pr[X = k] =(nk

)pk (1 − p)n−k für alle k ≥ 0

Sebastian Forster (Uni Salzburg) Leader Election II 14 / 25

Page 69: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

BinomialverteilungDefinitionEin Zufallsexperiment, das nur zwei mögliche Ergebnisse – Erfolg mitWahrscheinlichkeit p und Misserfolg mit Wahrscheinlichkeit 1 − p – hat,heißt Bernoulli-Experiment.

DefinitionEine Bernoulli-Ke�e der Länge n ist eine n-fache Wiederholung einesBernoulli-Experiments mit der jeweils gleichen Erfolgswahrscheinlichkeit p.

DefinitionSei X die Zufallsvariable, die angibt, wie viele Erfolge in einer Bernoulli-Ke�eder Länge n erzielt werden. Dann wird die Wahrscheinlichkeitsverteilungvon X Binomialverteilung mit Parametern n und p genannt.

Theorem

Pr[X = k] =(nk

)pk (1 − p)n−k für alle k ≥ 0

Sebastian Forster (Uni Salzburg) Leader Election II 14 / 25

Page 70: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Beispiel Binomialverteilung

Wahrscheinlichkeitsverteilung für k Erfolge in Bernoulli-Ke�e der Länge nmit Einzel-Erfolgswahrscheinlichkeit p:

0 1 2 3 40.00

0.20

0.40

0.60 n = 4,p = 12n

0 2 4 6 80.00

0.20

0.40

0.60 n = 8,p = 12n

Sebastian Forster (Uni Salzburg) Leader Election II 15 / 25

Page 71: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Beispiel Binomialverteilung

Wahrscheinlichkeitsverteilung für k Erfolge in Bernoulli-Ke�e der Länge nmit Einzel-Erfolgswahrscheinlichkeit p:

0 1 2 3 40.00

0.20

0.40

0.60 n = 4,p = 12n

0 2 4 6 80.00

0.20

0.40

0.60 n = 8,p = 12n

Sebastian Forster (Uni Salzburg) Leader Election II 15 / 25

Page 72: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Erfolgswahrscheinlichkeit einer IterationBeobachtungEine Iteration des Algorithmus ist genau dann erfolgreich, wenn die kleinstevergebene ID genau einmal vergeben wurde.

BeobachtungWenn genau ein Knoten die ID 0 erhält, dann ist die Iteration erfolgreich.

Jeder Knoten erhält ID 0 mit Wahrscheinlichkeit p := 12n (uniform)

Sei X Anzahl der Knoten mit ID 0 (Binomialverteilung):

q := Pr[X = 1] = n · p(1 − p)n−1

=12·

(1 −

12n

)n−1≥

12·

(1 −

n − 12n

)≥

12·

(1 −

n

2n

)=

14

Bernoulli-Ungleichung: (1 + x)n ≥ 1 + xn für x ≥ −1 und n ≥ 0

Somit: Jede Iteration mit Wahrscheinlichkeit q ≥ 14 erfolgreich

Sebastian Forster (Uni Salzburg) Leader Election II 16 / 25

Page 73: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Erfolgswahrscheinlichkeit einer IterationBeobachtungEine Iteration des Algorithmus ist genau dann erfolgreich, wenn die kleinstevergebene ID genau einmal vergeben wurde.

BeobachtungWenn genau ein Knoten die ID 0 erhält, dann ist die Iteration erfolgreich.

Jeder Knoten erhält ID 0 mit Wahrscheinlichkeit p := 12n (uniform)

Sei X Anzahl der Knoten mit ID 0 (Binomialverteilung):

q := Pr[X = 1] = n · p(1 − p)n−1

=12·

(1 −

12n

)n−1≥

12·

(1 −

n − 12n

)≥

12·

(1 −

n

2n

)=

14

Bernoulli-Ungleichung: (1 + x)n ≥ 1 + xn für x ≥ −1 und n ≥ 0

Somit: Jede Iteration mit Wahrscheinlichkeit q ≥ 14 erfolgreich

Sebastian Forster (Uni Salzburg) Leader Election II 16 / 25

Page 74: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Erfolgswahrscheinlichkeit einer IterationBeobachtungEine Iteration des Algorithmus ist genau dann erfolgreich, wenn die kleinstevergebene ID genau einmal vergeben wurde.

BeobachtungWenn genau ein Knoten die ID 0 erhält, dann ist die Iteration erfolgreich.

Jeder Knoten erhält ID 0 mit Wahrscheinlichkeit p := 12n (uniform)

Sei X Anzahl der Knoten mit ID 0 (Binomialverteilung):

q := Pr[X = 1] = n · p(1 − p)n−1

=12·

(1 −

12n

)n−1≥

12·

(1 −

n − 12n

)≥

12·

(1 −

n

2n

)=

14

Bernoulli-Ungleichung: (1 + x)n ≥ 1 + xn für x ≥ −1 und n ≥ 0

Somit: Jede Iteration mit Wahrscheinlichkeit q ≥ 14 erfolgreich

Sebastian Forster (Uni Salzburg) Leader Election II 16 / 25

Page 75: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Erfolgswahrscheinlichkeit einer IterationBeobachtungEine Iteration des Algorithmus ist genau dann erfolgreich, wenn die kleinstevergebene ID genau einmal vergeben wurde.

BeobachtungWenn genau ein Knoten die ID 0 erhält, dann ist die Iteration erfolgreich.

Jeder Knoten erhält ID 0 mit Wahrscheinlichkeit p := 12n (uniform)

Sei X Anzahl der Knoten mit ID 0 (Binomialverteilung):

q := Pr[X = 1] = n · p(1 − p)n−1

=12·

(1 −

12n

)n−1≥

12·

(1 −

n − 12n

)≥

12·

(1 −

n

2n

)=

14

Bernoulli-Ungleichung: (1 + x)n ≥ 1 + xn für x ≥ −1 und n ≥ 0

Somit: Jede Iteration mit Wahrscheinlichkeit q ≥ 14 erfolgreich

Sebastian Forster (Uni Salzburg) Leader Election II 16 / 25

Page 76: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Erfolgswahrscheinlichkeit einer IterationBeobachtungEine Iteration des Algorithmus ist genau dann erfolgreich, wenn die kleinstevergebene ID genau einmal vergeben wurde.

BeobachtungWenn genau ein Knoten die ID 0 erhält, dann ist die Iteration erfolgreich.

Jeder Knoten erhält ID 0 mit Wahrscheinlichkeit p := 12n (uniform)

Sei X Anzahl der Knoten mit ID 0 (Binomialverteilung):

q := Pr[X = 1] = n · p(1 − p)n−1 =12·

(1 −

12n

)n−1

≥12·

(1 −

n − 12n

)≥

12·

(1 −

n

2n

)=

14

Bernoulli-Ungleichung: (1 + x)n ≥ 1 + xn für x ≥ −1 und n ≥ 0

Somit: Jede Iteration mit Wahrscheinlichkeit q ≥ 14 erfolgreich

Sebastian Forster (Uni Salzburg) Leader Election II 16 / 25

Page 77: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Erfolgswahrscheinlichkeit einer IterationBeobachtungEine Iteration des Algorithmus ist genau dann erfolgreich, wenn die kleinstevergebene ID genau einmal vergeben wurde.

BeobachtungWenn genau ein Knoten die ID 0 erhält, dann ist die Iteration erfolgreich.

Jeder Knoten erhält ID 0 mit Wahrscheinlichkeit p := 12n (uniform)

Sei X Anzahl der Knoten mit ID 0 (Binomialverteilung):

q := Pr[X = 1] = n · p(1 − p)n−1 =12·

(1 −

12n

)n−1≥

12·

(1 −

n − 12n

)

≥12·

(1 −

n

2n

)=

14

Bernoulli-Ungleichung: (1 + x)n ≥ 1 + xn für x ≥ −1 und n ≥ 0

Somit: Jede Iteration mit Wahrscheinlichkeit q ≥ 14 erfolgreich

Sebastian Forster (Uni Salzburg) Leader Election II 16 / 25

Page 78: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Erfolgswahrscheinlichkeit einer IterationBeobachtungEine Iteration des Algorithmus ist genau dann erfolgreich, wenn die kleinstevergebene ID genau einmal vergeben wurde.

BeobachtungWenn genau ein Knoten die ID 0 erhält, dann ist die Iteration erfolgreich.

Jeder Knoten erhält ID 0 mit Wahrscheinlichkeit p := 12n (uniform)

Sei X Anzahl der Knoten mit ID 0 (Binomialverteilung):

q := Pr[X = 1] = n · p(1 − p)n−1 =12·

(1 −

12n

)n−1≥

12·

(1 −

n − 12n

)≥

12·

(1 −

n

2n

)

=14

Bernoulli-Ungleichung: (1 + x)n ≥ 1 + xn für x ≥ −1 und n ≥ 0

Somit: Jede Iteration mit Wahrscheinlichkeit q ≥ 14 erfolgreich

Sebastian Forster (Uni Salzburg) Leader Election II 16 / 25

Page 79: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Erfolgswahrscheinlichkeit einer IterationBeobachtungEine Iteration des Algorithmus ist genau dann erfolgreich, wenn die kleinstevergebene ID genau einmal vergeben wurde.

BeobachtungWenn genau ein Knoten die ID 0 erhält, dann ist die Iteration erfolgreich.

Jeder Knoten erhält ID 0 mit Wahrscheinlichkeit p := 12n (uniform)

Sei X Anzahl der Knoten mit ID 0 (Binomialverteilung):

q := Pr[X = 1] = n · p(1 − p)n−1 =12·

(1 −

12n

)n−1≥

12·

(1 −

n − 12n

)≥

12·

(1 −

n

2n

)=

14

Bernoulli-Ungleichung: (1 + x)n ≥ 1 + xn für x ≥ −1 und n ≥ 0

Somit: Jede Iteration mit Wahrscheinlichkeit q ≥ 14 erfolgreich

Sebastian Forster (Uni Salzburg) Leader Election II 16 / 25

Page 80: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Erfolgswahrscheinlichkeit einer IterationBeobachtungEine Iteration des Algorithmus ist genau dann erfolgreich, wenn die kleinstevergebene ID genau einmal vergeben wurde.

BeobachtungWenn genau ein Knoten die ID 0 erhält, dann ist die Iteration erfolgreich.

Jeder Knoten erhält ID 0 mit Wahrscheinlichkeit p := 12n (uniform)

Sei X Anzahl der Knoten mit ID 0 (Binomialverteilung):

q := Pr[X = 1] = n · p(1 − p)n−1 =12·

(1 −

12n

)n−1≥

12·

(1 −

n − 12n

)≥

12·

(1 −

n

2n

)=

14

Bernoulli-Ungleichung: (1 + x)n ≥ 1 + xn für x ≥ −1 und n ≥ 0

Somit: Jede Iteration mit Wahrscheinlichkeit q ≥ 14 erfolgreich

Sebastian Forster (Uni Salzburg) Leader Election II 16 / 25

Page 81: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Geometrische VerteilungDefinitionSei Y die Zufallsvariable, die angibt, nach wie vielen Wiederholungen einesBernoulli-Experiments mit Erfolgswahrscheinlichkeit q der erste Erfolg erzieltwird. Dann wird die Wahrscheinlichkeitsverteilung von Y geometrischeVerteilung mit Parameter q genannt.

Theorem

Pr[Y = k] = (1 − q)k−1q für alle k ≥ 1

0 2 4 6 8 10 120.00

0.05

0.10

0.15

0.20

0.25 q = 14

Sebastian Forster (Uni Salzburg) Leader Election II 17 / 25

Page 82: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Geometrische VerteilungDefinitionSei Y die Zufallsvariable, die angibt, nach wie vielen Wiederholungen einesBernoulli-Experiments mit Erfolgswahrscheinlichkeit q der erste Erfolg erzieltwird. Dann wird die Wahrscheinlichkeitsverteilung von Y geometrischeVerteilung mit Parameter q genannt.

Theorem

Pr[Y = k] = (1 − q)k−1q für alle k ≥ 1

0 2 4 6 8 10 120.00

0.05

0.10

0.15

0.20

0.25 q = 14

Sebastian Forster (Uni Salzburg) Leader Election II 17 / 25

Page 83: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Geometrische VerteilungDefinitionSei Y die Zufallsvariable, die angibt, nach wie vielen Wiederholungen einesBernoulli-Experiments mit Erfolgswahrscheinlichkeit q der erste Erfolg erzieltwird. Dann wird die Wahrscheinlichkeitsverteilung von Y geometrischeVerteilung mit Parameter q genannt.

Theorem

Pr[Y = k] = (1 − q)k−1q für alle k ≥ 1

0 2 4 6 8 10 120.00

0.05

0.10

0.15

0.20

0.25 q = 14

Sebastian Forster (Uni Salzburg) Leader Election II 17 / 25

Page 84: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.

Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)

Pr

[∨k≥1

Y = k

]

=∑k≥1

Pr[Y = k] =∑k≥1(1 − q)k−1q = q ·

∑k≥1(1 − q)k−1

= q ·∑k≥0(1 − q)k = q ·

11 − (1 − q)

= q ·1q= 1

Geometrische Reihe:∑

k≥0 rk = 1

1−r für −1 < r < 1

Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!

Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25

Page 85: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.

Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich ist

Analyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)

Pr

[∨k≥1

Y = k

]

=∑k≥1

Pr[Y = k] =∑k≥1(1 − q)k−1q = q ·

∑k≥1(1 − q)k−1

= q ·∑k≥0(1 − q)k = q ·

11 − (1 − q)

= q ·1q= 1

Geometrische Reihe:∑

k≥0 rk = 1

1−r für −1 < r < 1

Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!

Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25

Page 86: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.

Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)

Pr

[∨k≥1

Y = k

]

=∑k≥1

Pr[Y = k] =∑k≥1(1 − q)k−1q = q ·

∑k≥1(1 − q)k−1

= q ·∑k≥0(1 − q)k = q ·

11 − (1 − q)

= q ·1q= 1

Geometrische Reihe:∑

k≥0 rk = 1

1−r für −1 < r < 1

Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!

Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25

Page 87: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.

Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)

Pr

[∨k≥1

Y = k

]

=∑k≥1

Pr[Y = k] =∑k≥1(1 − q)k−1q = q ·

∑k≥1(1 − q)k−1

= q ·∑k≥0(1 − q)k = q ·

11 − (1 − q)

= q ·1q= 1

Geometrische Reihe:∑

k≥0 rk = 1

1−r für −1 < r < 1

Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!

Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25

Page 88: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.

Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)

Pr

[∨k≥1

Y = k

]=

∑k≥1

Pr[Y = k]

=∑k≥1(1 − q)k−1q = q ·

∑k≥1(1 − q)k−1

= q ·∑k≥0(1 − q)k = q ·

11 − (1 − q)

= q ·1q= 1

Geometrische Reihe:∑

k≥0 rk = 1

1−r für −1 < r < 1

Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!

Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25

Page 89: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.

Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)

Pr

[∨k≥1

Y = k

]=

∑k≥1

Pr[Y = k] =∑k≥1(1 − q)k−1q

= q ·∑k≥1(1 − q)k−1

= q ·∑k≥0(1 − q)k = q ·

11 − (1 − q)

= q ·1q= 1

Geometrische Reihe:∑

k≥0 rk = 1

1−r für −1 < r < 1

Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!

Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25

Page 90: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.

Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)

Pr

[∨k≥1

Y = k

]=

∑k≥1

Pr[Y = k] =∑k≥1(1 − q)k−1q = q ·

∑k≥1(1 − q)k−1

= q ·∑k≥0(1 − q)k = q ·

11 − (1 − q)

= q ·1q= 1

Geometrische Reihe:∑

k≥0 rk = 1

1−r für −1 < r < 1

Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!

Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25

Page 91: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.

Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)

Pr

[∨k≥1

Y = k

]=

∑k≥1

Pr[Y = k] =∑k≥1(1 − q)k−1q = q ·

∑k≥1(1 − q)k−1

= q ·∑k≥0(1 − q)k

= q ·1

1 − (1 − q)= q ·

1q= 1

Geometrische Reihe:∑

k≥0 rk = 1

1−r für −1 < r < 1

Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!

Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25

Page 92: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.

Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)

Pr

[∨k≥1

Y = k

]=

∑k≥1

Pr[Y = k] =∑k≥1(1 − q)k−1q = q ·

∑k≥1(1 − q)k−1

= q ·∑k≥0(1 − q)k = q ·

11 − (1 − q)

= q ·1q= 1

Geometrische Reihe:∑

k≥0 rk = 1

1−r für −1 < r < 1

Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!

Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25

Page 93: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.

Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)

Pr

[∨k≥1

Y = k

]=

∑k≥1

Pr[Y = k] =∑k≥1(1 − q)k−1q = q ·

∑k≥1(1 − q)k−1

= q ·∑k≥0(1 − q)k = q ·

11 − (1 − q)

= q ·1q

= 1

Geometrische Reihe:∑

k≥0 rk = 1

1−r für −1 < r < 1

Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!

Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25

Page 94: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.

Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)

Pr

[∨k≥1

Y = k

]=

∑k≥1

Pr[Y = k] =∑k≥1(1 − q)k−1q = q ·

∑k≥1(1 − q)k−1

= q ·∑k≥0(1 − q)k = q ·

11 − (1 − q)

= q ·1q= 1

Geometrische Reihe:∑

k≥0 rk = 1

1−r für −1 < r < 1

Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!

Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25

Page 95: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

KorrektheitTheoremDer randomisierte Leader Election Algorithmus terminiert mitWahrscheinlichkeit 1.

Beweis:Der Algorithmus terminiert, wenn die Anzahl an Iterationen endlich istAnalyse mit geometrischer Verteilung: Sei Y Anzahl an Iterationen bisgenau ein Knoten ID 0 erhält (Wiederholungen bis zum ersten Erfolg)

Pr

[∨k≥1

Y = k

]=

∑k≥1

Pr[Y = k] =∑k≥1(1 − q)k−1q = q ·

∑k≥1(1 − q)k−1

= q ·∑k≥0(1 − q)k = q ·

11 − (1 − q)

= q ·1q= 1

Geometrische Reihe:∑

k≥0 rk = 1

1−r für −1 < r < 1

Achtung: „Wahrscheinlichkeit 1“ , „immer“ – Gegenereignis ist möglich!

Sebastian Forster (Uni Salzburg) Leader Election II 18 / 25

Page 96: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Waiting Time Bound

TheoremDer Erwartungswert der geometrischen Verteilung ist Ex[Y ] = 1

q .

Beweis:Beobachtung: Pr[Y = k] = (1 − q)k−1qDefinition des Erwartungswerts:

Ex[Y ] =∑k≥1

k · Pr[Y = k]

=∑k≥1

k(1 − q)k−1q =∑k≥0(k + 1)(1 − q)kq

=∑k≥0

k(1 − q)kq +∑k≥0(1 − q)kq

=∑k≥1

k(1 − q)kq +∑k≥1(1 − q)k−1q

= (1 − q)∑k≥1

k(1 − q)k−1q +∑k≥1

Pr[Y = k]

Somit: Ex[Y ] = (1 − q)Ex[Y ] + 1

, also Ex[Y ] = 1q

Sebastian Forster (Uni Salzburg) Leader Election II 19 / 25

Page 97: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Waiting Time Bound

TheoremDer Erwartungswert der geometrischen Verteilung ist Ex[Y ] = 1

q .

Beweis:Beobachtung: Pr[Y = k] = (1 − q)k−1q

Definition des Erwartungswerts:

Ex[Y ] =∑k≥1

k · Pr[Y = k]

=∑k≥1

k(1 − q)k−1q =∑k≥0(k + 1)(1 − q)kq

=∑k≥0

k(1 − q)kq +∑k≥0(1 − q)kq

=∑k≥1

k(1 − q)kq +∑k≥1(1 − q)k−1q

= (1 − q)∑k≥1

k(1 − q)k−1q +∑k≥1

Pr[Y = k]

Somit: Ex[Y ] = (1 − q)Ex[Y ] + 1

, also Ex[Y ] = 1q

Sebastian Forster (Uni Salzburg) Leader Election II 19 / 25

Page 98: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Waiting Time Bound

TheoremDer Erwartungswert der geometrischen Verteilung ist Ex[Y ] = 1

q .

Beweis:Beobachtung: Pr[Y = k] = (1 − q)k−1qDefinition des Erwartungswerts:

Ex[Y ] =∑k≥1

k · Pr[Y = k]

=∑k≥1

k(1 − q)k−1q =∑k≥0(k + 1)(1 − q)kq

=∑k≥0

k(1 − q)kq +∑k≥0(1 − q)kq

=∑k≥1

k(1 − q)kq +∑k≥1(1 − q)k−1q

= (1 − q)∑k≥1

k(1 − q)k−1q +∑k≥1

Pr[Y = k]

Somit: Ex[Y ] = (1 − q)Ex[Y ] + 1

, also Ex[Y ] = 1q

Sebastian Forster (Uni Salzburg) Leader Election II 19 / 25

Page 99: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Waiting Time Bound

TheoremDer Erwartungswert der geometrischen Verteilung ist Ex[Y ] = 1

q .

Beweis:Beobachtung: Pr[Y = k] = (1 − q)k−1qDefinition des Erwartungswerts:

Ex[Y ] =∑k≥1

k · Pr[Y = k] =∑k≥1

k(1 − q)k−1q

=∑k≥0(k + 1)(1 − q)kq

=∑k≥0

k(1 − q)kq +∑k≥0(1 − q)kq

=∑k≥1

k(1 − q)kq +∑k≥1(1 − q)k−1q

= (1 − q)∑k≥1

k(1 − q)k−1q +∑k≥1

Pr[Y = k]

Somit: Ex[Y ] = (1 − q)Ex[Y ] + 1

, also Ex[Y ] = 1q

Sebastian Forster (Uni Salzburg) Leader Election II 19 / 25

Page 100: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Waiting Time Bound

TheoremDer Erwartungswert der geometrischen Verteilung ist Ex[Y ] = 1

q .

Beweis:Beobachtung: Pr[Y = k] = (1 − q)k−1qDefinition des Erwartungswerts:

Ex[Y ] =∑k≥1

k · Pr[Y = k] =∑k≥1

k(1 − q)k−1q =∑k≥0(k + 1)(1 − q)kq

=∑k≥0

k(1 − q)kq +∑k≥0(1 − q)kq

=∑k≥1

k(1 − q)kq +∑k≥1(1 − q)k−1q

= (1 − q)∑k≥1

k(1 − q)k−1q +∑k≥1

Pr[Y = k]

Somit: Ex[Y ] = (1 − q)Ex[Y ] + 1

, also Ex[Y ] = 1q

Sebastian Forster (Uni Salzburg) Leader Election II 19 / 25

Page 101: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Waiting Time Bound

TheoremDer Erwartungswert der geometrischen Verteilung ist Ex[Y ] = 1

q .

Beweis:Beobachtung: Pr[Y = k] = (1 − q)k−1qDefinition des Erwartungswerts:

Ex[Y ] =∑k≥1

k · Pr[Y = k] =∑k≥1

k(1 − q)k−1q =∑k≥0(k + 1)(1 − q)kq

=∑k≥0

k(1 − q)kq +∑k≥0(1 − q)kq

=∑k≥1

k(1 − q)kq +∑k≥1(1 − q)k−1q

= (1 − q)∑k≥1

k(1 − q)k−1q +∑k≥1

Pr[Y = k]

Somit: Ex[Y ] = (1 − q)Ex[Y ] + 1

, also Ex[Y ] = 1q

Sebastian Forster (Uni Salzburg) Leader Election II 19 / 25

Page 102: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Waiting Time Bound

TheoremDer Erwartungswert der geometrischen Verteilung ist Ex[Y ] = 1

q .

Beweis:Beobachtung: Pr[Y = k] = (1 − q)k−1qDefinition des Erwartungswerts:

Ex[Y ] =∑k≥1

k · Pr[Y = k] =∑k≥1

k(1 − q)k−1q =∑k≥0(k + 1)(1 − q)kq

=∑k≥0

k(1 − q)kq +∑k≥0(1 − q)kq

=∑k≥1

k(1 − q)kq +∑k≥1(1 − q)k−1q

= (1 − q)∑k≥1

k(1 − q)k−1q +∑k≥1

Pr[Y = k]

Somit: Ex[Y ] = (1 − q)Ex[Y ] + 1

, also Ex[Y ] = 1q

Sebastian Forster (Uni Salzburg) Leader Election II 19 / 25

Page 103: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Waiting Time Bound

TheoremDer Erwartungswert der geometrischen Verteilung ist Ex[Y ] = 1

q .

Beweis:Beobachtung: Pr[Y = k] = (1 − q)k−1qDefinition des Erwartungswerts:

Ex[Y ] =∑k≥1

k · Pr[Y = k] =∑k≥1

k(1 − q)k−1q =∑k≥0(k + 1)(1 − q)kq

=∑k≥0

k(1 − q)kq +∑k≥0(1 − q)kq

=∑k≥1

k(1 − q)kq +∑k≥1(1 − q)k−1q

= (1 − q)∑k≥1

k(1 − q)k−1q +∑k≥1

Pr[Y = k]

Somit: Ex[Y ] = (1 − q)Ex[Y ] + 1

, also Ex[Y ] = 1q

Sebastian Forster (Uni Salzburg) Leader Election II 19 / 25

Page 104: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Waiting Time Bound

TheoremDer Erwartungswert der geometrischen Verteilung ist Ex[Y ] = 1

q .

Beweis:Beobachtung: Pr[Y = k] = (1 − q)k−1qDefinition des Erwartungswerts:

Ex[Y ] =∑k≥1

k · Pr[Y = k] =∑k≥1

k(1 − q)k−1q =∑k≥0(k + 1)(1 − q)kq

=∑k≥0

k(1 − q)kq +∑k≥0(1 − q)kq

=∑k≥1

k(1 − q)kq +∑k≥1(1 − q)k−1q

= (1 − q)∑k≥1

k(1 − q)k−1q +∑k≥1

Pr[Y = k]

Somit: Ex[Y ] = (1 − q)Ex[Y ] + 1

, also Ex[Y ] = 1q

Sebastian Forster (Uni Salzburg) Leader Election II 19 / 25

Page 105: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Waiting Time Bound

TheoremDer Erwartungswert der geometrischen Verteilung ist Ex[Y ] = 1

q .

Beweis:Beobachtung: Pr[Y = k] = (1 − q)k−1qDefinition des Erwartungswerts:

Ex[Y ] =∑k≥1

k · Pr[Y = k] =∑k≥1

k(1 − q)k−1q =∑k≥0(k + 1)(1 − q)kq

=∑k≥0

k(1 − q)kq +∑k≥0(1 − q)kq

=∑k≥1

k(1 − q)kq +∑k≥1(1 − q)k−1q

= (1 − q)∑k≥1

k(1 − q)k−1q +∑k≥1

Pr[Y = k]

Somit: Ex[Y ] = (1 − q)Ex[Y ] + 1, also Ex[Y ] = 1q

Sebastian Forster (Uni Salzburg) Leader Election II 19 / 25

Page 106: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeitanalyse ITheoremDie erwartete Anzahl an Iterationen des randomisierten Leader ElectionAlgorithmus ist O(1).

Beweis:Erfolgswahrscheinlichkeit q ≥ 1

4 in jeder IterationMit Waiting Time Bound: erwartete Anzahl an Iterationen ist1q ≤ 4 = O(1)

Frage: Erwartungswert erlaubt Ausreißer nach oben; ab wie vielenIterationen kann man sich „ziemlich sicher“ sein, dass der Algorithmusterminiert?

DefinitionEin Ereignis findet mit hoher Wahrscheinlichkeit sta�, wenn es mitWahrscheinlichkeit mindestens 1 − 1

nc , für eine beliebig vorgegebeneKonstante c ≥ 1, sta�findet. (Insbesondere gilt: limn→∞ 1 − 1

nc = 1)

Sebastian Forster (Uni Salzburg) Leader Election II 20 / 25

Page 107: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeitanalyse ITheoremDie erwartete Anzahl an Iterationen des randomisierten Leader ElectionAlgorithmus ist O(1).

Beweis:Erfolgswahrscheinlichkeit q ≥ 1

4 in jeder Iteration

Mit Waiting Time Bound: erwartete Anzahl an Iterationen ist1q ≤ 4 = O(1)

Frage: Erwartungswert erlaubt Ausreißer nach oben; ab wie vielenIterationen kann man sich „ziemlich sicher“ sein, dass der Algorithmusterminiert?

DefinitionEin Ereignis findet mit hoher Wahrscheinlichkeit sta�, wenn es mitWahrscheinlichkeit mindestens 1 − 1

nc , für eine beliebig vorgegebeneKonstante c ≥ 1, sta�findet. (Insbesondere gilt: limn→∞ 1 − 1

nc = 1)

Sebastian Forster (Uni Salzburg) Leader Election II 20 / 25

Page 108: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeitanalyse ITheoremDie erwartete Anzahl an Iterationen des randomisierten Leader ElectionAlgorithmus ist O(1).

Beweis:Erfolgswahrscheinlichkeit q ≥ 1

4 in jeder IterationMit Waiting Time Bound: erwartete Anzahl an Iterationen ist1q ≤ 4 = O(1)

Frage: Erwartungswert erlaubt Ausreißer nach oben; ab wie vielenIterationen kann man sich „ziemlich sicher“ sein, dass der Algorithmusterminiert?

DefinitionEin Ereignis findet mit hoher Wahrscheinlichkeit sta�, wenn es mitWahrscheinlichkeit mindestens 1 − 1

nc , für eine beliebig vorgegebeneKonstante c ≥ 1, sta�findet. (Insbesondere gilt: limn→∞ 1 − 1

nc = 1)

Sebastian Forster (Uni Salzburg) Leader Election II 20 / 25

Page 109: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeitanalyse ITheoremDie erwartete Anzahl an Iterationen des randomisierten Leader ElectionAlgorithmus ist O(1).

Beweis:Erfolgswahrscheinlichkeit q ≥ 1

4 in jeder IterationMit Waiting Time Bound: erwartete Anzahl an Iterationen ist1q ≤ 4 = O(1)

Frage: Erwartungswert erlaubt Ausreißer nach oben; ab wie vielenIterationen kann man sich „ziemlich sicher“ sein, dass der Algorithmusterminiert?

DefinitionEin Ereignis findet mit hoher Wahrscheinlichkeit sta�, wenn es mitWahrscheinlichkeit mindestens 1 − 1

nc , für eine beliebig vorgegebeneKonstante c ≥ 1, sta�findet. (Insbesondere gilt: limn→∞ 1 − 1

nc = 1)

Sebastian Forster (Uni Salzburg) Leader Election II 20 / 25

Page 110: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeitanalyse ITheoremDie erwartete Anzahl an Iterationen des randomisierten Leader ElectionAlgorithmus ist O(1).

Beweis:Erfolgswahrscheinlichkeit q ≥ 1

4 in jeder IterationMit Waiting Time Bound: erwartete Anzahl an Iterationen ist1q ≤ 4 = O(1)

Frage: Erwartungswert erlaubt Ausreißer nach oben; ab wie vielenIterationen kann man sich „ziemlich sicher“ sein, dass der Algorithmusterminiert?

DefinitionEin Ereignis findet mit hoher Wahrscheinlichkeit sta�, wenn es mitWahrscheinlichkeit mindestens 1 − 1

nc , für eine beliebig vorgegebeneKonstante c ≥ 1, sta�findet.

(Insbesondere gilt: limn→∞ 1 − 1nc = 1)

Sebastian Forster (Uni Salzburg) Leader Election II 20 / 25

Page 111: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeitanalyse ITheoremDie erwartete Anzahl an Iterationen des randomisierten Leader ElectionAlgorithmus ist O(1).

Beweis:Erfolgswahrscheinlichkeit q ≥ 1

4 in jeder IterationMit Waiting Time Bound: erwartete Anzahl an Iterationen ist1q ≤ 4 = O(1)

Frage: Erwartungswert erlaubt Ausreißer nach oben; ab wie vielenIterationen kann man sich „ziemlich sicher“ sein, dass der Algorithmusterminiert?

DefinitionEin Ereignis findet mit hoher Wahrscheinlichkeit sta�, wenn es mitWahrscheinlichkeit mindestens 1 − 1

nc , für eine beliebig vorgegebeneKonstante c ≥ 1, sta�findet. (Insbesondere gilt: limn→∞ 1 − 1

nc = 1)

Sebastian Forster (Uni Salzburg) Leader Election II 20 / 25

Page 112: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeitanalyse II

TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1

nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.

Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1

nc für k = dc log4/3 ne

= dlog4/3 nc e

Wahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):

Pr[Y > k] = (1 − q)k

(1 −

14

)k=

(34

)k≤

(34

) log4/3 nc=

(14/3

) log4/3 nc=

1(4/3)log4/3 nc

=1nc

Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc

Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25

Page 113: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeitanalyse II

TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1

nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.

Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1

nc für k = dc log4/3 ne

= dlog4/3 nc eWahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):

Pr[Y > k] = (1 − q)k

(1 −

14

)k=

(34

)k≤

(34

) log4/3 nc=

(14/3

) log4/3 nc=

1(4/3)log4/3 nc

=1nc

Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc

Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25

Page 114: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeitanalyse II

TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1

nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.

Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1

nc für k = dc log4/3 ne

= dlog4/3 nc e

Wahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):

Pr[Y > k] = (1 − q)k

(1 −

14

)k=

(34

)k≤

(34

) log4/3 nc=

(14/3

) log4/3 nc=

1(4/3)log4/3 nc

=1nc

Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc

Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25

Page 115: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeitanalyse II

TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1

nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.

Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1

nc für k = dc log4/3 ne = dlog4/3 nc eWahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):

Pr[Y > k] = (1 − q)k

(1 −

14

)k=

(34

)k≤

(34

) log4/3 nc=

(14/3

) log4/3 nc=

1(4/3)log4/3 nc

=1nc

Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc

Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25

Page 116: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeitanalyse II

TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1

nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.

Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1

nc für k = dc log4/3 ne = dlog4/3 nc eWahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):

Pr[Y > k] = (1 − q)k ≤(1 −

14

)k

=

(34

)k≤

(34

) log4/3 nc=

(14/3

) log4/3 nc=

1(4/3)log4/3 nc

=1nc

Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc

Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25

Page 117: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeitanalyse II

TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1

nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.

Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1

nc für k = dc log4/3 ne = dlog4/3 nc eWahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):

Pr[Y > k] = (1 − q)k ≤(1 −

14

)k=

(34

)k

(34

) log4/3 nc=

(14/3

) log4/3 nc=

1(4/3)log4/3 nc

=1nc

Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc

Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25

Page 118: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeitanalyse II

TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1

nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.

Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1

nc für k = dc log4/3 ne = dlog4/3 nc eWahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):

Pr[Y > k] = (1 − q)k ≤(1 −

14

)k=

(34

)k≤

(34

) log4/3 nc

=

(14/3

) log4/3 nc=

1(4/3)log4/3 nc

=1nc

Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc

Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25

Page 119: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeitanalyse II

TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1

nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.

Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1

nc für k = dc log4/3 ne = dlog4/3 nc eWahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):

Pr[Y > k] = (1 − q)k ≤(1 −

14

)k=

(34

)k≤

(34

) log4/3 nc=

(14/3

) log4/3 nc

=1

(4/3)log4/3 nc=

1nc

Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc

Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25

Page 120: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeitanalyse II

TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1

nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.

Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1

nc für k = dc log4/3 ne = dlog4/3 nc eWahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):

Pr[Y > k] = (1 − q)k ≤(1 −

14

)k=

(34

)k≤

(34

) log4/3 nc=

(14/3

) log4/3 nc=

1(4/3)log4/3 nc

=1nc

Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc

Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25

Page 121: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeitanalyse II

TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1

nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.

Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1

nc für k = dc log4/3 ne = dlog4/3 nc eWahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):

Pr[Y > k] = (1 − q)k ≤(1 −

14

)k=

(34

)k≤

(34

) log4/3 nc=

(14/3

) log4/3 nc=

1(4/3)log4/3 nc

=1nc

Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc

Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25

Page 122: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Laufzeitanalyse II

TheoremFür jedes c ≥ 1 gilt: Mit Wahrscheinlichkeit mindestens 1 − 1

nc benötigt derrandomisierte Leader Election Algorithmus O(c logn) Iterationen.

Beweis:Wir zeigen: Pr[Y ≤ k] ≤ 1 − 1

nc für k = dc log4/3 ne = dlog4/3 nc eWahrscheinlichkeit für Gegenereignis (erste k Versuche erfolglos):

Pr[Y > k] = (1 − q)k ≤(1 −

14

)k=

(34

)k≤

(34

) log4/3 nc=

(14/3

) log4/3 nc=

1(4/3)log4/3 nc

=1nc

Somit: Pr[Y ≤ k] = 1 − Pr[Y > k] ≥ 1 − 1nc

Sebastian Forster (Uni Salzburg) Leader Election II 21 / 25

Page 123: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Zusammenfassung

Randomisierter Algorithmus :Wählt IDs zufällig

Macht Knoten mit kleinster ID zum Leader

Wiederholung bis Leader Election erfolgreich

Laufzeit: O(n) Runden in Erwartung

Nachrichtenkomplexität: O(n2) in Erwartung Bei naiver Analyse mitClockwise Algorithmus

Kann auch als asynchroner Algorithmus formuliert werden

Sebastian Forster (Uni Salzburg) Leader Election II 22 / 25

Page 124: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Allgemeines PrinzipWir haben implizit gezeigt:

Theorem (Monte Carlo→ Las Vegas)Sei A ein randomisierter Algorithmus für ein Problem P, der für jedeEingabe mit Wahrscheinlichkeit q > 0 eine korrekte Lösung berechnet.

SeiV ein Verifizierer, der für jede Ausgabe von A ermi�eln kann, ob dieLösung korrekt ist.

Dann gibt es einen Algorithmus B, der mit Wahrscheinlichkeit 1 einekorrekte Lösung berechnet und dafür A undV in Erwartung O(1/q) Malaufru� (oder: O(c log1−1/q n) Mal mit Wahrscheinlichkeit 1 − 1

nc ).

DefinitionEin randomisierter Algorithmus B, dessen Ergebnis immer korrekt ist, heißtLas Vegas Algorithmus. Ein randomisierter Algorithmus A, dessen Ergebniswahrscheinlich korrekt ist, heißt Monte Carlo Algorithmus.

Sebastian Forster (Uni Salzburg) Leader Election II 23 / 25

Page 125: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Allgemeines PrinzipWir haben implizit gezeigt:

Theorem (Monte Carlo→ Las Vegas)Sei A ein randomisierter Algorithmus für ein Problem P, der für jedeEingabe mit Wahrscheinlichkeit q > 0 eine korrekte Lösung berechnet.

SeiV ein Verifizierer, der für jede Ausgabe von A ermi�eln kann, ob dieLösung korrekt ist.

Dann gibt es einen Algorithmus B, der mit Wahrscheinlichkeit 1 einekorrekte Lösung berechnet und dafür A undV in Erwartung O(1/q) Malaufru� (oder: O(c log1−1/q n) Mal mit Wahrscheinlichkeit 1 − 1

nc ).

DefinitionEin randomisierter Algorithmus B, dessen Ergebnis immer korrekt ist, heißtLas Vegas Algorithmus. Ein randomisierter Algorithmus A, dessen Ergebniswahrscheinlich korrekt ist, heißt Monte Carlo Algorithmus.

Sebastian Forster (Uni Salzburg) Leader Election II 23 / 25

Page 126: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Allgemeines PrinzipWir haben implizit gezeigt:

Theorem (Monte Carlo→ Las Vegas)Sei A ein randomisierter Algorithmus für ein Problem P, der für jedeEingabe mit Wahrscheinlichkeit q > 0 eine korrekte Lösung berechnet.

SeiV ein Verifizierer, der für jede Ausgabe von A ermi�eln kann, ob dieLösung korrekt ist.

Dann gibt es einen Algorithmus B, der mit Wahrscheinlichkeit 1 einekorrekte Lösung berechnet und dafür A undV in Erwartung O(1/q) Malaufru� (oder: O(c log1−1/q n) Mal mit Wahrscheinlichkeit 1 − 1

nc ).

DefinitionEin randomisierter Algorithmus B, dessen Ergebnis immer korrekt ist, heißtLas Vegas Algorithmus. Ein randomisierter Algorithmus A, dessen Ergebniswahrscheinlich korrekt ist, heißt Monte Carlo Algorithmus.

Sebastian Forster (Uni Salzburg) Leader Election II 23 / 25

Page 127: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Allgemeines PrinzipWir haben implizit gezeigt:

Theorem (Monte Carlo→ Las Vegas)Sei A ein randomisierter Algorithmus für ein Problem P, der für jedeEingabe mit Wahrscheinlichkeit q > 0 eine korrekte Lösung berechnet.

SeiV ein Verifizierer, der für jede Ausgabe von A ermi�eln kann, ob dieLösung korrekt ist.

Dann gibt es einen Algorithmus B, der mit Wahrscheinlichkeit 1 einekorrekte Lösung berechnet und dafür A undV in Erwartung O(1/q) Malaufru� (oder: O(c log1−1/q n) Mal mit Wahrscheinlichkeit 1 − 1

nc ).

DefinitionEin randomisierter Algorithmus B, dessen Ergebnis immer korrekt ist, heißtLas Vegas Algorithmus. Ein randomisierter Algorithmus A, dessen Ergebniswahrscheinlich korrekt ist, heißt Monte Carlo Algorithmus.

Sebastian Forster (Uni Salzburg) Leader Election II 23 / 25

Page 128: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Allgemeines PrinzipWir haben implizit gezeigt:

Theorem (Monte Carlo→ Las Vegas)Sei A ein randomisierter Algorithmus für ein Problem P, der für jedeEingabe mit Wahrscheinlichkeit q > 0 eine korrekte Lösung berechnet.

SeiV ein Verifizierer, der für jede Ausgabe von A ermi�eln kann, ob dieLösung korrekt ist.

Dann gibt es einen Algorithmus B, der mit Wahrscheinlichkeit 1 einekorrekte Lösung berechnet und dafür A undV in Erwartung O(1/q) Malaufru� (oder: O(c log1−1/q n) Mal mit Wahrscheinlichkeit 1 − 1

nc ).

DefinitionEin randomisierter Algorithmus B, dessen Ergebnis immer korrekt ist, heißtLas Vegas Algorithmus.

Ein randomisierter Algorithmus A, dessen Ergebniswahrscheinlich korrekt ist, heißt Monte Carlo Algorithmus.

Sebastian Forster (Uni Salzburg) Leader Election II 23 / 25

Page 129: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Allgemeines PrinzipWir haben implizit gezeigt:

Theorem (Monte Carlo→ Las Vegas)Sei A ein randomisierter Algorithmus für ein Problem P, der für jedeEingabe mit Wahrscheinlichkeit q > 0 eine korrekte Lösung berechnet.

SeiV ein Verifizierer, der für jede Ausgabe von A ermi�eln kann, ob dieLösung korrekt ist.

Dann gibt es einen Algorithmus B, der mit Wahrscheinlichkeit 1 einekorrekte Lösung berechnet und dafür A undV in Erwartung O(1/q) Malaufru� (oder: O(c log1−1/q n) Mal mit Wahrscheinlichkeit 1 − 1

nc ).

DefinitionEin randomisierter Algorithmus B, dessen Ergebnis immer korrekt ist, heißtLas Vegas Algorithmus. Ein randomisierter Algorithmus A, dessen Ergebniswahrscheinlich korrekt ist, heißt Monte Carlo Algorithmus.

Sebastian Forster (Uni Salzburg) Leader Election II 23 / 25

Page 130: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Zusammenfassung

Leader Election im Ring verdeutlicht grundlegende Prinzipien undTechniken verteilter Algorithmen:

Vielfalt an Modellen: synchron/asynchron, anonym/identifizierbar,uniform/non-uniform

Deterministische vs. randomisierte Algorithmen

Komplexitätsmaße: Zeit, #Nachrichten

Obere und untere Schranken (bzw. Unmöglichkeit)Zwei Möglichkeiten Symmetrien zu brechen:I Eindeutige IDsI Randomisierung

Sebastian Forster (Uni Salzburg) Leader Election II 24 / 25

Page 131: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Zusammenfassung

Leader Election im Ring verdeutlicht grundlegende Prinzipien undTechniken verteilter Algorithmen:

Vielfalt an Modellen: synchron/asynchron, anonym/identifizierbar,uniform/non-uniform

Deterministische vs. randomisierte Algorithmen

Komplexitätsmaße: Zeit, #Nachrichten

Obere und untere Schranken (bzw. Unmöglichkeit)Zwei Möglichkeiten Symmetrien zu brechen:I Eindeutige IDsI Randomisierung

Sebastian Forster (Uni Salzburg) Leader Election II 24 / 25

Page 132: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Zusammenfassung

Leader Election im Ring verdeutlicht grundlegende Prinzipien undTechniken verteilter Algorithmen:

Vielfalt an Modellen: synchron/asynchron, anonym/identifizierbar,uniform/non-uniform

Deterministische vs. randomisierte Algorithmen

Komplexitätsmaße: Zeit, #Nachrichten

Obere und untere Schranken (bzw. Unmöglichkeit)Zwei Möglichkeiten Symmetrien zu brechen:I Eindeutige IDsI Randomisierung

Sebastian Forster (Uni Salzburg) Leader Election II 24 / 25

Page 133: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Zusammenfassung

Leader Election im Ring verdeutlicht grundlegende Prinzipien undTechniken verteilter Algorithmen:

Vielfalt an Modellen: synchron/asynchron, anonym/identifizierbar,uniform/non-uniform

Deterministische vs. randomisierte Algorithmen

Komplexitätsmaße: Zeit, #Nachrichten

Obere und untere Schranken (bzw. Unmöglichkeit)Zwei Möglichkeiten Symmetrien zu brechen:I Eindeutige IDsI Randomisierung

Sebastian Forster (Uni Salzburg) Leader Election II 24 / 25

Page 134: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Zusammenfassung

Leader Election im Ring verdeutlicht grundlegende Prinzipien undTechniken verteilter Algorithmen:

Vielfalt an Modellen: synchron/asynchron, anonym/identifizierbar,uniform/non-uniform

Deterministische vs. randomisierte Algorithmen

Komplexitätsmaße: Zeit, #Nachrichten

Obere und untere Schranken (bzw. Unmöglichkeit)

Zwei Möglichkeiten Symmetrien zu brechen:I Eindeutige IDsI Randomisierung

Sebastian Forster (Uni Salzburg) Leader Election II 24 / 25

Page 135: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

Zusammenfassung

Leader Election im Ring verdeutlicht grundlegende Prinzipien undTechniken verteilter Algorithmen:

Vielfalt an Modellen: synchron/asynchron, anonym/identifizierbar,uniform/non-uniform

Deterministische vs. randomisierte Algorithmen

Komplexitätsmaße: Zeit, #Nachrichten

Obere und untere Schranken (bzw. Unmöglichkeit)Zwei Möglichkeiten Symmetrien zu brechen:I Eindeutige IDsI Randomisierung

Sebastian Forster (Uni Salzburg) Leader Election II 24 / 25

Page 136: Leader Election II - avs.cs.sbg.ac.at · Leader Election II Algorithmen für verteilte Systeme Sebastian Forster Universität Salzburg Dieses Werk ist unter einer Creative Commons

�ellen

Der Inhalt dieser Vorlesungseinheit basiert zum Teil auf Vorlesungseinheitenvon Robert Elsässer und Stefan Schmid.

Literatur:

Hagit A�iya, Jennifer Welch (2004) Distributed Computing, Kapitel 3 u. 14,Wiley.Daniel S. Hirschberg, James B. Sinclair. „Decentralized Extrema-Finding inCircular Configurations of Processors“. Communications of the ACM 23(11):627–628 (1980)Alon Itai, Michael Rodeh. „Symmetry breaking in distributed networks“.Information and Computation 88(1): 60–87 (1990)Nancy A. Lynch (1996) Distributed Algorithms, Kapitel 3, Morgan Kaufmann.

Sebastian Forster (Uni Salzburg) Leader Election II 25 / 25