===== Elections (2/2) =====
==== Election sur un arbre couvrant (suite) ====
==== Racine initiateur ====
=== Hypothèses ===
* L'initiateur, P_{i_0} est la racine
* Communications FIFO, sans perte, par arbre couvrant
=== Principe ===
* P_{i_0} envoie REQ à tous ses fils, pour choisir quand toutes les réponse seront remontées.
* Chaque fils qui n'est pas feuille transmet à ses fils.
* Lorsqu'un processus aura reçu les réponses de tous ses fils, il répondra à son parent la meilleur valeur de ses fils et de lui-même.
* Lorsque P_{i_0} a reçu toutes les réponse, il connait la meilleur capacité et chez qui, et proclame.
=== Corrigé (du support de cours) ===
* Phase I - Initialisation
* P_{i_0} émet le message //ElDemande()// vers tous ses fils
* lorsqu'un site //non feuille// reçoit le message, il transmet ce message à l'ensemble de ses fils.
* lorsqu'un site //feuille// P_{j} reçoit le message //ElDemande()// il transmet à son père les message EL\left(c_j, j\right)
* Phase 2 - Remontée des informations
* lorsqu'un site P_{i\ne i_0} a reçu tous les messages El\left(c_j, j\right) de ces fils, il transmet à son père le message EL\left(c_k, k\right) où c_k = \max\left\{c_i, c_j\right\}
* Phase 3 - Election
*Lorsque le site P_{i_0} a reçu tous les messages EL\left(c_k, k\right) de ses fils, il s'élit si max\left\{ c_k\right\} < c_{i_0} sinon il élit P_k tel que c_k = max\left\{ c_k \right\}
* **Phase 4 - Proclamation **
* La racine proclame le résultat par l'émission du message //ELU(k)// vers l'ensmeble de ses fils.
*Lorsqu'un site reçoit le message //ELU(k)// il mémorise l'information puis s'il est non-feuille, il transmet ce message //ELU(k)// à tous ses fils.
==== Initiateur n'est pas la racine ===
==== Election dans un réseau quelconque ====
=== Maillage complèt et diffusion ===
==== Navigation ====
[[algo_dist_1|]] -- [[algo_dist_3|]]