le 5 mars 2014
Aix-Marseille Université
Master Informatique
Algorithmique Distribuée
2014
TD 2 : Algorithmes pour les réseaux asynchrones
Hypothèse : Pour tous les exercices, on va supposer que le réseau est asynchrone.
On s’intéresse à la complexité en terme de nombre de messages transmis.
ACalcul dans les arbres
1. Donnez un algorithme distribué pour trouver les chemins diamètraux (chemin dont
la longueur est égale au diamètre, c’est-à-dire la distance maximum) dans un arbre
quelconque.
Rappel : un arbre est un graphe connexe qui n’a pas de cycles. Au début, chaque
processus sait que le réseau est un arbre. A la fin de l’algorithme chaque processus
doit savoir s’il est sur un chemin diamètral ou non.
(Attention : Il peut y avoir plusieurs chemins diamètraux dans un arbre.)
2. Y-a-t il un algorithme pour le problème d’élection dans un arbre anonyme ? Si oui,
donner un algorithme. Sinon, donner une preuve d’impossibilité.
BProblème d’élection dans les graphes spécifiques
1. Donner un algorithme efficace pour l’élection dans les graphes complets (Kn) avec
UID. Prouver la correction de votre algorithme et donner sa complexité.
2. Donner un algorithme efficace pour l’élection dans les graphes complets avec UID
ayant un étiquetage chordal (un exemple d’étiquetage chordal est donné par la figure
ci-dessous). Donner un algorithme plus efficace.
3. On a vu dans le TD précédant un algorithme pour le Broadcast dans les grilles (orien-
tées ou non-orientées). Trouver un algorithme efficace pour l’élection dans les grilles
orientées et les grilles non-orientées de taille r×s. Donner les complexités de vos
algorithmes.
1
2
3
4
1
1
1
1
2
2
2
2
3
3
3
3
4
4
4
4
1
le 5 mars 2014
CElection dans les anneaux
On considère l’algorithme suivant pour élection dans un anneau :
Chaque processus commencent l’algorithme en étant dans l’état “candidat”. Chaque pro-
cessus candidat envoie son UID à ses deux voisins. Chaque processus reçoit donc les UID
de ses deux voisins. Si son UID est inférieur à ceux de ses deux voisins, il devient “Passif".
Sinon, il reste “candidat” pour la prochaine étape et envoie donc son UID dans les deux
directions. Les processus qui sont passifs transmettent les messages reçus dans une direction
dans l’autre direction, c’est-à-dire que tout message reçu de la gauche est retransmis à droite
et inversement. Si un processus candidat reçoit un message contenant son UID, il devient
élu.
Prouver la correction de l’algorithme pour l’élection.
Donner la complexité de cet algorithme pour les anneaux de taille n.
2
1 / 2 100%