Consensus avec des communications vi vaces.
4.2 Le probl` eme original : Orientation vers la Destination
4.3.2 La question de l’acyclicit´ e
Nous venons de montrer que toute ex´ecution de LR `a partir d’un graphe dirig´e connexe fini, acyclique ou non, converge, c’est-`a-dire produit en un nombre fini d’it´erations un graphe ne contenant pas d’autre puits que D. Ce- pendant, “combattre les puits” ne repr´esente qu’une partie de la solution re- quise. Il reste donc `a ´etudier dans quelle mesure l’acyclicit´e de la solution peut ˆetre garantie par LR. Pour cela, notre strat´egie consiste `a r´eduire certaines propri´et´es de l’algorithme `a des invariants du graphe, ou plus pr´ecis´ement `a certains de ses sous-graphes comme les circuits.
Pour commencer, nous introduisons quelques notations suppl´ementaires. Puisqu’aucune confusion ne peut survenir, on note v.G† le graphe obtenu
apr`es que le nœud v (et seulement v) a pris un pas de calcul de LR. On note que v.G† a le mˆeme graphe non-dirig´e sous-jacent (appel´e support) que G†. Pour tout circuit C† de G†, on note v.C† le circuit correspondant de v.G†
apr`es le pas de calcul de v.
Pour chaque circuit C†, on fixe une orientation arbitraire de son support
- qui en fait un cycle - et on consid`ere les nombres de liens marqu´es de C† qui
sont orient´es selon cette orientation, et contre elle. Ces deux nombres sont not´es l1(C†) et r1(C†), respectivement. Soit s0(C†) le nombre de nœuds de
C† qui ont deux liens entrants distincts non-marqu´es, par rapport `a C†. On
0 0 1 1 1 1 0 0 0 1 1 0 Cas 1 Cas 2 Cas 3
Fig. 4.3 – Influence d’un pas de calcul sur un circuit.
λ(C†) = l1(C†) + s0(C†) et ρ(C†) = r1(C†) + s0(C†). Proposition 4.3.6 Soit C† un circuit de G†. Pour tout nœud v, on a
λ(v.C†) = λ(C†) et ρ(v.C†) = ρ(C†).
D´emonstration: Si v n’est pas un nœud de C†, alors le pas de calcul ef-
fectu´e par v ne modifie pas C†, c’est-`a-dire v.C† = C†, et le r´esultat suit
imm´ediatement. Sinon, v est un puits de C† et il y a trois cas `a consid´erer, illustr´es par la Figure 4.3, qui d´ependent des ´etiquettes des liens de C† inci-
dents `a v.
1. Aucun des deux liens n’est marqu´e. Alors v les renverse et les marque tous les deux. Ainsi
l1(v.C†) = l1(C†) + 1, r1(v.C†) = r1(C†) + 1, s0(v.C†) = s0(C†) − 1. 2. Les deux liens sont marqu´es. Alors v les d´emarque tous les deux, les
directions restant inchang´ees. Ainsi
3. Un seul des deux liens est marqu´e. Le nœud v d´emarque donc celui-ci alors qu’il renverse et marque l’autre. On a donc
l1(v.C†) = l1(C†), r1(v.C†) = r1(C†), s0(v.C†) = s0(C†). 2 Proposition 4.3.7 Si C† est un circuit tel que
λ(C†) · ρ(C†) > 0, (4.1)
alors C† n’est pas un cycle.
D´emonstration: On note que si C† est un cycle, alors s0(C†) = 0. De plus,
l1(C†) = 0 ou r1(C†) = 0. Il s’ensuit donc que la condition (4.1) est suffisante pour garantir que C† n’est pas un cycle.
2 A partir des Propositions 4.3.6 et 4.3.7, on d´eduit imm´ediatement le r´esultat d’acyclicit´e suivant :
Th´eor`eme 4.3.8 Si le graphe d’entr´ee G0 est ´equip´e d’un ´etiquetage initial
tel que tout circuit du graphe dirig´e etiquet´e correspondant G†0 satisfait la
condition (4.1), alors tous les graphes dirig´es engendr´es par toute ex´ecution de LR sont acycliques.
En combinant les Th´eor`emes 4.3.1, 4.3.5 et 4.3.8, on obtient le corollaire suivant :
Corollaire 4.3.9 Soit G0 un graphe dirig´e connexe. Si G0 est muni d’un
´etiquetage initial tel que tout circuit du graphe dirig´e ´etiquet´e correspondant G†0 satisfait (4.1), alors LR r´esout PD pour G0.
Si on consid`ere un graphe acyclique G, la politique d’´etiquetage, qui consiste `a ce que, pour chaque nœud v de G, tous les liens entrants de v soient ´etiquet´es de mani`ere uniforme, garantit que tout circuit C† du graphe
´etiquet´e induit G† satisfait la condition (4.1). Pour nous en convaincre, sup- posons qu’il existe un circuit C dans G. Puisque G est acyclique, il existe un nœud v de C qui a deux liens entrants par rapport `a C. Si on affecte `a ces deux liens l’´etiquette 0, on a s0(C†) > 0 et donc λ(C†) · ρ(C†) > 0.
Si, au contraire, on affecte `a ces deux liens l’´etiquette 1, on a l1(C†) > 0 et
r1(C†) > 0, et ainsi λ(C†) · ρ(C†) > 0.
Consid´erons la description de LR faisant intervenir les r`egles LR1 et LR2. On rappelle que toute ex´ecution de cet algorithme `a partir d’un graphe G† dont tous les liens sont marqu´es (cet ´etiquetage est en accord avec la politique que nous venons d’introduire) est identique `a une ex´ecution de FR `a partir du support dirig´e non-´etiquet´e de G†. De la mˆeme mani`ere, les ex´ecutions de LR `a partir de graphes dont tous les liens sont non-marqu´es (´etiquetage lui aussi conforme `a notre politique) sont identiques aux ex´ecutions de PR. Cette derni`ere remarque fournit donc une preuve directe du fait qu’une ex´ecution de PR `a partir d’un graphe acyclique n’engendre que des graphes acycliques.
4.4
Complexit´e
Nous analysons dans cette section la complexit´e de l’algorithme LR. Nous nous attacherons tout d’abord `a d´eterminer, pour toute ex´ecution de LR et pour tout nœud du graphe initial, le nombre de pas de calcul pris par ce nœud dans cette ex´ecution, puis le nombre de renversements qu’il effectue. Dans un deuxi`eme temps, nous nous int´eresserons au nombre de rounds n´ecessaires `a la convergence d’une ex´ecution compl`ete de LR - dans laquelle, `a chaque round, tous les puits prennent un pas de calcul - `a partir d’un graphe dont tous les liens sont marqu´es. Nous donnerons une formule exacte pour le cas des chaˆınes et en d´eduirons une borne inf´erieure pour le cas g´en´eral. Nous appliquerons ensuite ces r´esultats aux cas particuliers de FR et PR. Nous terminerons par une comparaison de nos r´esultats avec ceux de Busch et al. [8, 9].