Problème de l’élection A. Zemmari www.labri.fr/visidia/

Download Report

Transcript Problème de l’élection A. Zemmari www.labri.fr/visidia/

Problème de l’élection
A. Zemmari
[email protected]
www.labri.fr/visidia/
23/05/2016
1
Introduction
•
•
•
•
Un des paradigmes de l’algorithmique distribuée.
On se donne un graphe représentant un ensemble de processus
reliés par des liens de communication.
On cherche à choisir un et un seul sommet du graphe, ce sera le
sommet qui sera utilisé pour stocker une information crucial par
exemple ou encore pour lancer une procédure de réinitialisation du
système….
La problématique :
– Est-ce qu’on peut toujours élire, avec un algorithme déterministe, dans
un graphe ? La réponse est non.
– Si on utilise les algorithmes probabilistes, quels sont les sommets qui
ont la plus grande chance d’être élus ? Réponse …
– Existe–t-il un algorithme qui donne la même chance à tous les sommets
du graphe ? Réponse …
23/05/2016
2
SDRP & MA
Algorithme de Chang-Roberts
• Algorithme d’élection dans un anneau unidirectionnel.
• Principe : Les processus candidat à l’élection sont les
processus initiateurs. Chaque processus possède une identité
unique et les identité sont ordonnées.
– Chaque initiateur envoie à son voisin de droite son identité. Un
initiateur qui reçoit une identité plus grande s’éteint et ne fait
que relayer les messages qu’il reçoit à son voisin de droite.
– L’initiateur qui reçoit sa propre identité sait qu’il est l’élu.
– L’initiateur élu envoie un message fin dans le réseau pour avertir
les autres processus que l’élection est terminée.
23/05/2016
3
SDRP & MA
Analyse de l’algorithme
• Théorème : L’algorithme de Chang-Roberts résout le
problème de l’élection sur l’anneau :
– en utilisant ½ n² + O(n) messages dans le pire des cas et
– nHn = nlnn +O(n) messages en moyenne, la taille des messages
étant O(log n).
– La complexité en temps de l’algorithme est d’au moins 2n-1 dans
le pire des cas.
• Preuve : voir le tableau
23/05/2016
4
SDRP & MA
Élection anonyme
D’après C. Lavault
23/05/2016
5
SDRP & MA
Élection sur un anneau
• Chaque processus tire une pseudo identité, un nombre 0 ou 1
– 0 avec probabilité 1/n
– 1 avec probabilité 1 - 1/n
• Chaque processus envoie un message contenant sa pseudo
identité sur l'anneau unidirectionnel asynchrone.
•
Chaque message récupère ainsi dans son parcours chacune
des n-1 autres pseudo identités par concaténation .
•
Un processus sait donc s'il est un maximum unique ou non.
23/05/2016
6
SDRP & MA
23/05/2016
7
SDRP & MA
• Quand A termine-t-il avec un élu ?
Quand un unique processus possède la pseudo identité maximale 1.
pn = Pr(un unique processus tire 1)
= Pr((n-1) processus tirent 0)
x Pr(un processus tire 1)
x nombre de choix possibles pour le processus qui tire 1
 n  1 
1
pn    1  
n
 1  n 
pn  e 1  0,369...
23/05/2016
n 1
1

 1  
n

n 1
8
SDRP & MA
• Théorème : il existe un algorithme probabiliste d’élection sur
un anneau synchrone qui termine avec succès avec
probabilité > 1/e.
Sa complexité en messages est O(n²).
• Preuve :
– Si deux processeurs tirent un 1, il n’y a pas d’élu …
– Cet événement se produit avec forte probabilité :
Pr(deux tirages de 1) = 1 – 1/e  0.63
– Inversement, la probabilité de succès est elle faible, elle est
juste minorée par 1/e > 1/3.
– Chacun des n processus envoie n messages. La complexité de A
est O(n²).
23/05/2016
9
SDRP & MA
Amélioration du schéma
d’algorithme A
•
Lorsqu'il y a échec (aucun élu) A est réitéré jusqu’à l'obtention d'un
succès (un élu).
•
La probabilité de succès augmente pour un nombre d'itérations
faible.
•
Chaque processus retire donc une pseudo identité autant de fois
que nécessaire pour obtenir un unique processus de pseudo identité
maximale (à priori une infinité de fois !).
pk = Pr(échec aux (k-1) premières)
x Pr(succès à la k-ième itération)
= p(1-p)k-1 < pe-kp
Or 1/e < p <= 1, donc pk  0 , lorsque k  
23/05/2016
10
SDRP & MA
Complexité moyenne en temps
de A
• X : La v.a. mesurant le nombre d’itérations suit une loi
géométrique de paramètre p.
• Le nombre moyen d’itérations par processus est donc
1 <= E(X) = 1/p < e  2,718.
• Théorème : il existe un algorithme probabiliste d’élection
sur un anneau synchrone qui termine avec probabilité 1.
– Nombre moyen d’itérations < en.
– Complexité en messages = O(n²).
23/05/2016
11
SDRP & MA
Election dans les arbres
:
 Codage par les systèmes de réécriture
 Implémentation par un algorithme probabiliste
 Analyse probabiliste
23/05/2016
12
Problème de l’élection (2)
•
•
Que se passe-t-il si le graphe est un arbre ?
Il existe un algorithme très simple pour élire dans un arbre :
– tant que l’arbre n’est pas réduit à un seul sommet, on supprime une
feuille.
• Le sommet élu est le sommet qui reste à la fin.
•
Objectif de l’étude :
– Quelle est la probabilité pour un sommet d’être élu ?
– Guider le processus local de suppression afin d’obtenir une distribution
de probabilité particulière.
23/05/2016
13
23/05/2016
14
Codage par les systèmes de
réécriture
• Un sommet est étiqueté soit C (pour Candidat), soit P (pour
Perdant), soit E (pour Elu).
• Initialement, tous les sommets sont étiquetés C.
• R1 : un sommet étiqueté C, qui est adjacent à exactement un
sommet étiqueté C, peut être réétiqueté P;
• R2 : un sommet étiqueté C et qui n’a aucun sommet étiqueté C
dans son voisinage peut être réétiqueté E
• R1 :
• R2 :
23/05/2016
C
C
C
P
E
C
;
;
C
C
C
C
C
15
Approche combinatoire
• Toutes les suites de suppressions de feuilles ont la même
probabilité.
• Théorème : (Métivier – Saheb ’94) Si toutes les
suppressions de feuilles ont la même probabilité, alors le(s)
sommet(s) médian(s) a la probabilité la plus élevée d’être
élu(s).
• Avantages de l’approche : étude « facile » à faire.
• Inconvénient : aucune implémentation distribuée n’est
disponible.
23/05/2016
16
Approche localement uniforme
•
A chaque étape, toutes les feuilles ont la même chance d’être
supprimées.
•
Proposition : Soit v un sommet quelconque. Notons par qv(T) la
probabilité pour v d’être élu dans T. Alors :
qv v  1
1
qv T  
F (T )
23/05/2016
 q T   f 
v
f F ( T ), f  v
17
Remarques sur l’approche
localement uniforme
•
Avantage : admets une implémentation distribuée simple, un
sommet qui devient feuille tire un nombre aléatoire uniforme L(v),
ce nombre est une v.a. qui représente la durée de vie de v.
•
Inconvénient : la formule ci-dessus est la seule que l’on arrive à
démontrer. On n’arrive pas à caractériser le(s) sommet(s) qui a la
plus grande probabilité d’être élu.
23/05/2016
18
Élection localement guidée
•
Chaque sommet v a un poids (v) initialisé à 1.
•
Un sommet v qui est (ou devient) feuille tire une durée de vie L(v)
qui est une v.a. suivant une loi exponentielle de paramètre (v),
c’est-à-dire : Pr(L(v) ≤ t) = 1 – e-(v)t ;  t  R+.
•
Un sommet dont la durée de vie est écoulée, et qui doit disparaître
transmet son poids à son père.
•
Un sommet u qui reçoit le poids (v) de son fils v met à jours son
poids avec la formule : (u)= (u)+ (v).
23/05/2016
19
Exemple
a
b
d
c
e
•
Il y a 2 suites de suppression qui mènent à l’élection de a (voir le
tableau).
•
Chacune de ces suites a une probabilité 1/10.
•
Donc Pr(a) = 1/5
•
De même, un simple calcul donne Pr(b) = Pr(c) = Pr(d) = Pr(e) = 1/5.
23/05/2016
20
Résultat fondamental
•
Théorème : dans une élection utilisant le dernier modèle, tous les
sommets d’un arbre T de taille n ont la même probabilité 1/n d’être
élus.
23/05/2016
21
Peut-on faire la même chose
dans les autres graphes ?
•
Oui pour les k-arbres.
•
Oui pour les polyomonoïdes (sous-ensemble des graphes qui peuvent
être dessinés sur une grille).
•
Oui pour tous les graphes connexes si on accepte de faire un précalcul de l’arbre couvrant.
•
On ne sait pas  si on n’accepte pas un pré-calcul.
23/05/2016
22