• Aucun résultat trouvé

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.Cle 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 Cest 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].