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

Post on 02-Aug-2020

1 views 0 download

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

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

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

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

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

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

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

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

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

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

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

Bin ich hier der Leader?

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

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

Bin ich hier der Leader?

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

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

Bin ich hier der Leader?

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

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

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

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

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

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

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

Beispiel

9

4

7 2

8

1

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

Beispiel

9

4

7 2

8

1

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

Beispiel

4

7 2

1

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

Beispiel

4

7 2

1

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

Beispiel

4

7 2

1

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

Beispiel

1

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

Beispiel

1

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

Beispiel

1

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

Beispiel

1

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

Beispiel

1

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

Beispiel

1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

�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