k-partitionnement auto-stabilisant et comp´
etitif
Chaque processus doit aussi choisir un p`
ere dans l’arbre de telle mani`
ere que les nœuds de hauteur paire
d´
efinissent un ensemble ind´
ependant maximal. Pour cela, Rse d´
esigne comme racine de l’arbre EIM en
assignant R.p`ereEIM `
aR. Les autres processus choisissent comme p`
ere dans l’arbre EIM leur voisin le plus
prioritaire parmi ceux ayant un statut dominant/domin´
e diff´
erent du leur. Cette r`
egle force une alternance
stricte dominant/domin´
e le long des chemins de l’arbre. Le fait que la racine soit de hauteur 0 et qu’il y ait
une stricte alternance dominant/domin´
e induit que l’arbre couvrant calcul´
e est un arbre EIM.
3.2 k-partitionnement de l’arbre
Nous calculons le k-partitionnement en deux phases. La premi`
ere phase consiste `
a calculer un ensemble
d’au plus 1 +bn−1
k+1ctˆ
etes de grappes. La seconde phase consiste `
a calculer une forˆ
et couvrante dont chaque
arbre repr´
esente une grappe et a ainsi pour racine l’une des tˆ
etes calcul´
ees lors de la premi`
ere phase.
Pour cela, chaque nœud putilise trois variables : p.α,p.tˆetegrappe et p.p`eregrappe. La variable p.α
contient un entier entre 0 et 2k,p.tˆetegrappe contient une identit´
e et p.p`eregrappe d´
esigne soit psoit l’un
de ses voisins.
La variable p.αest utilis´
ee pour d´
eterminer si pest une tˆ
ete. Une fois que l’algorithme a stabilis´
e, pest
une tˆ
ete de grappe si et seulement si p.α=kou p.α<ket p=R(o`
uRest la racine de l’arbre EIM). La
variable p.tˆetegrappe contient l’identit´
e de la tˆ
ete de grappe de pet p.p`eregrappe d´
esigne le p`
ere de pdans
sa grappe (si pest une tˆ
ete, alors p.p`eregrappe =p).
Calcul des tˆ
etes. Le calcul des tˆ
etes est uniquement bas´
e sur le calcul de la variable α. Cette derni`
ere est
calcul´
ee de bas en haut dans l’arbre EIM. Une fois l’algorithme stabilis´
e, p.αest ´
egale `
a la distance entre
le nœud pet le nœud le plus ´
eloign´
e qui est `
a la fois dans le sous-arbre de pet dans la mˆ
eme grappe que p.
(a) Si p.α<k, alors pest dit minus et deux cas sont possibles : p6=Rou p=R. Dans le premier cas, la
tˆ
ete de la grappe contenant pest en dehors du sous-arbre de p,i.e., le chemin menant `
a cette tˆ
ete passe
par le p`
ere de pdans l’arbre EIM, et la distance entre pet cette tˆ
ete est au plus ´
egale `
ak−p.α. Dans
le second cas (p=R), pdoit ˆ
etre une tˆ
ete de grappe car, par d´
efinition, il n’existe aucun nœud hors de
son sous-arbre.
(b) Si p.α≥k, alors pest dit balaise et la tˆ
ete de sa grappe est dans son sous-arbre `
a distance p.α−k.
p.αest calcul´
ee `
a partir des deux fonctions suivantes :
–MaxAl phaMinus(p)est ´
egale `
a la valeur αmaximale des fils minus de p(dans l’arbre EIM). Si p
n’a pas de fils minus , alors MaxAl phaMinus(p) = −1.
–MinAl phaBalaise(p)est ´
egale `
a la valeur αminimale des fils balaise de p(dans l’arbre EIM). Si
pn’a pas de fils balaise , alors MinAl phaBalaise(p) = 2k+1.
`
A partir de ces fonctions, p.αest calcul´
ee comme suit :
– Si MaxAl phaMinus(p) + MinAl phaBalaise(p)>2k−2, alors p.α=MaxAl phaMinus(p) + 1.
– Si MaxAl phaMinus(p) + MinAl phaBalaise(p)≤2k−2, alors p.α=MinAl phaBalaise(p) + 1.
Les valeurs des variables αsont calcul´
ees inductivement `
a partir des feuilles de l’arbre couvrant EIM.
Consid´
erons une feuille f. Par d´
efinition, MaxAl phaMinus(f) + MinAl phaBalaise(f) = −1+2k+1>
2k−2. Ainsi, f.α=−1+1=0. En effet, la distance maximale entre fet un nœud de son sous-arbre qui
est dans la mˆ
eme grappe est, par d´
efinition, 0.
Consid´
erons maintenant un nœud interne pet supposons que les valeurs des variables αde tous ses fils
sont correctes. pdoit choisir si sa tˆ
ete de grappe est soit (1) dans son sous-arbre (dans ce cas, psera balaise),
soit (2) hors de son sous-arbre (dans ce cas, psera minus). Nous privil´
egions, autant que possible, le choix
(1) pour limiter le nombre de tˆ
etes.
Soit qun nœud qui a la mˆ
eme tˆ
ete de grappe que pet qui appartient au sous-arbre d’un fils minus de p.
D’apr`
es (a), le chemin menant de q`
a sa tˆ
ete de grappe passe par p. Ainsi, pour ne pas cr´
eer de cycle, (*) p
ne doit jamais choisir comme tˆ
ete de grappe un nœud appartenant au sous-arbre d’un de ses fils minus. Soit
xle plus ´
eloign´
e des sommets q. Toujours d’apr`
es (a), xest `
a distance MaxAl phaMinus(p) + 1 de p. Deux
cas sont alors possibles :
MaxAl phaMinus(p) + MinAl phaBalaise(p)>2k−2.Si pchoisit un nœud yde son sous-arbre comme
tˆ
ete de sa grappe (choix (1)), alors d’apr`
es (*), le chemin vers ypasse par un fils balaise de pet psera
au moins `
a distance MinAl phaBalaise(p)−k+1 de sa tˆ
ete de grappe, d’apr`
es (b). Or, dans ce cas, x
sera au moins `
a distance MaxAl phaMinus(p) +MinAl phaBalaise(p)−k+2>2k−2−k+2=kde
hal-00687556, version 1 - 13 Apr 2012