Comptage et nommage simples et efficaces dans les
protocoles de populations sym´etriques
Joffroy Beauquier, Janna Burman, Simon Clavi´ere
To cite this version:
Joffroy Beauquier, Janna Burman, Simon Clavi´ere. Comptage et nommage simples et effi-
caces dans les protocoles de populations sym´etriques. [Rapport de recherche] 2014. <hal-
00948186v3>
HAL Id: hal-00948186
https://hal.inria.fr/hal-00948186v3
Submitted on 7 May 2014
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destin´ee au d´epˆot et `a la diffusion de documents
scientifiques de niveau recherche, publi´es ou non,
´emanant des ´etablissements d’enseignement et de
recherche fran¸cais ou ´etrangers, des laboratoires
publics ou priv´es.
Comptage et nommage simples et efficaces
dans les protocoles de populations
sym´
etriques
Joffroy Beauquier1and Janna Burman1and Simon Clavi`
ere1
1LRI, Universit´
e Paris-Sud 11, Orsay, France,{jb,burman,claviere}@lri.fr
Nous am´
eliorons les meilleurs r´
esultats connus, en terme de nombre d’´
etats d’un agent, pour les solutions aux probl`
emes
du comptage et du nommage dans un mod`
ele voisin des protocoles de populations. Pour le comptage, ´
etant donn´
ee
une borne Psur le nombre d’agents, le meilleur r´
esultat connu ´
etait 3
2P´
etats, sous l’hypoth`
ese d’´
equit´
e globale. Nous
pr´
esentons une solution qui n´
ecessite seulement P´
etats. Pour le nommage, il existe une solution avec 3
2P´
etats par agent,
sous l’hypoth`
ese d’´
equit´
e globale. Nous pr´
esentons une solution `
aP´
etats, ainsi qu’une solution `
a 2P´
etats sous ´
equit´
e
faible (les deux solutions sont totalement auto-stabilisantes). Enfin, nous d´
ecrivons un protocole de comptage approxi-
matif n´
ecessitant O(log(P)) ´
etats et un protocole de nommage cons´
ecutif minimal.
Keywords: protocoles de populations, comptage, nommage, ´
equit´
e
1 Introduction
Compter et nommer les ´
el´
ements d’un ensemble sont des tˆ
aches fondamentales en informatique, car les
applications en sont extrˆ
emement nombreuses. Le domaine qui nous int´
eresse ici est celui des r´
eseaux de
capteurs mobiles, `
a tr`
es grande ´
echelle. Comme les capteurs sont g´
en´
eralement fragiles et que nombre d’entre
eux peuvent ˆ
etre victimes d’incidents de fonctionnement, il peut ˆ
etre utile de connaˆ
ıtre le nombre de ceux qui
sont encore actifs `
a un moment donn´
e. D’un autre cˆ
ot´
e, donner des noms diff´
erents permet de r´
esoudre des
probl`
emes qui exigent de briser la sym´
etrie initiale dans des r´
eseaux de capteurs anonymes.
Pour traiter ce type de r´
eseaux, on consid`
ere ici le mod`
ele des protocoles de populations (not´
e PP) [AAD+06].
Ce mod`
ele consid`
ere des agents mobiles `
a´
etat fini, anonymes, asynchrones, chacun d´
ecrit par un syst`
eme de
transitions. Lorsque deux agents se rencontrent, il se produit une transition qui peut modifier leurs ´
etats res-
pectifs.
Les probl`
emes du comptage et du nommage d’agents dans PP ne sont pas nouveaux et plusieurs r´
esultats
sont connus. Ces r´
esultats utilisent une borne sup´
erieure Pau nombre d’agents et la complexit´
e est exprim´
ee
en le nombre d’´
etats n´
ecessaires pour chaque agent, en fonction de P. Pour le probl`
eme de nommage, P
est une borne inf´
erieure ´
evidente. Elle l’est aussi pour le comptage, comme il l’est prouv´
e dans [BCM+07]
sous l’hypoth`
ese d’´
equit´
e faible (pour un algorithme d´
eterministe). Les param`
etres du mod`
ele sont d’une part
l’hypoth`
ese d’´
equit´
e qui est faite sur les ex´
ecutions (´
equit´
e faible ou globale), d’autre part la pr´
esence ou non
d’un agent distingu´
e avec une m´
emoire non-born´
ee (la station de base, not´
ee BS), et enfin, la sym´
etrie ou non
des r`
egles de transition d´
efinissant le protocole. Toute notre ´
etude concerne le cas, plus difficile, de r`
egles
sym´
etriques (o`
u, dans une transition, deux agents de mˆ
eme ´
etat sont indistinguables).
Sous les hypoth`
eses d’´
equit´
e faible, de pr´
esence d’une station de base et de r`
egles sym´
etriques, [BCM+07]
fournit une solution avec 4P´
etats, et une solution `
aP´
etats dans le mod`
ele asym´
etrique (que le transformateur
de [BCCK08] peut transformer en une solution sym´
etrique en doublant le nombre des ´
etats). Dans [KIIW10],
le premier r´
esultat de [BCM+07] est am´
elior´
e`
a 2P(sous ´
equit´
e faible), et `
a3
2Psous ´
equit´
e globale. Nous
am´
eliorons ici ce dernier r´
esultat en pr´
esentant une solution n´
ecessitant seulement P´
etats par agent. Puis, dans
un mod`
ele sans station de base, nous pr´
esentons un protocole de comptage approximatif, dont nous savons
borner l’erreur, avec seulement log (P)´
etats par agent.
Nous nous int´
eressons ensuite au probl`
eme du nommage (donner des identificateurs diff´
erents aux agents),
sous les deux hypoth`
eses d’´
equit´
e. Un r´
esultat est connu [KIIW10], qui fournit indirectement un algorithme de
Joffroy Beauquier and Janna Burman and Simon Clavi`
ere
nommage des agents n´
ecessitant 3
2P´
etats par agent sous l’hypoth`
ese d’´
equit´
e globale, avec une station de base
devant ˆ
etre initialis´
ee. Sous la mˆ
eme hypoth`
ese d’´
equit´
e, nous pr´
esentons deux solutions auto-stabilisantes
(avec initialisation quelconque), l’une est d´
eterministe et l’autre non (mais sans BS), qui ne n´
ecessitent que
P+1 et P´
etats par agent, respectivement. Sous ´
equit´
e faible et avec station de base, nous obtenons ´
egalement
une solution auto-stabilisante (pas d’initialisation, ni des agents, ni de BS) avec 2P´
etats par agent. Notez que
l’algorithme de nommage qui est utilis´
e comme base de protocole d’´
election de leader dans [CIW12] utilise
fortement l’asym´
etrie des r`
egles. Le transformateur de [BCCK08] rend cet algorithme sym´
etrique, mais en
doublant le nombre des ´
etats.
Enfin, en combinant nos solutions pour le comptage et le nommage nous proposons un algorithme de
nommage cons´
ecutif minimal (les identificateurs attribu´
es sont dans {1,2,...,n}, pour un syst`
eme avec n
agents).
Aucun de nos algorithmes ne n´
ecessite d’initialiser les agents (ni mˆ
eme BS, `
a part le cas de comptage qui
est impossible sans initialisation de BS).
2 Le mod`
ele
On consid`
ere un syst`
eme constitu´
e de nagents anonymes (nest inconnu des agents). Les variables des
agents sont born´
ees sauf l’une d’entre elles, qui est destin´
ee `
a recevoir le nom de l’agent (sa taille est
d´
etermin´
ee par une borne sup´
erieure au nombre d’agents). Dans certains cas, on introduit un agent distingu´
e
`
a la m´
emoire non-born´
ee, appel´
ee station de base (BS). Un syst`
eme est mod´
elis´
e comme un syst`
eme de tran-
sitions, dont nous adoptons les d´
efinitions classiques : ´
etat d’un agent (la suite des valeurs de ses variables),
configuration (un vecteur d’´
etats), transition (pas atomique effectu´
e par deux agents se rencontrant et le chan-
gement d’´
etats associ´
e), ex´
ecution (une suite potentiellement infinie de configurations dans laquelle chaque
´
el´
ement est obtenu `
a partir du pr´
ec´
edent par une transition).
Nous notons (x,y)l’interaction (rencontre) entre les agents xet y. Durant l’interaction (x,y), une transition
sym´
etrique de la forme (sx,sy)(s0
x,s0
y)est ex´
ecut´
ee, et si sx=syalors s0
x=s0
y. Nous supposons que deux
interactions se produisent en s´
equence.
Pour mod´
eliser la mobilit´
e, il est pratique de consid´
erer les ex´
ecutions comme si un ordonnanceur externe
choisissait quel couple d’agents participe `
a la prochaine interaction. Formellement, un ordonnanceur est un
pr´
edicat Osur les suites d’interactions. Un ordonnanceur Oest dit faiblement ´
equitable (weak fairness) si dans
toute s´
equence d’interactions satisfaisant O, tout couple d’agents (x,y)r´
ealise une infinit´
e d’interactions. O
est dit globalement ´
equitable (global fairness) pour un syst`
eme Ssi, ´
etant donn´
ee une ex´
ecution ede S
ordonnanc´
ee par O, toute configuration Cinfiniment souvent accessible (`
a partir des configurations de e),
apparaˆ
ıt infiniment souvent dans e(voir [AAD+06] pour les d´
efinitions formelles).
Un probl`
eme est d´
efini comme une propri´
et´
e des ex´
ecutions. Un protocole de populations Ar´
esout un
probl`
eme Pr si et seulement si toute ex´
ecution de Asatisfait Pr. Le probl`
eme du comptage est d´
efini par la
propri´
et´
e suivante : la station de base poss`
ede une variable NbAgents qui, `
a partir d’un certain rang, ne varie
pas et contient le nombre d’agents du syst`
eme. Celui du nommage est d´
efini par : chaque agent poss`
ede une
variable ID qui, `
a partir d’un certain rang, ne varie pas et telle que les valeurs des variables ID de deux agents
diff´
erents sont diff´
erentes.
Mises `
a part la variable non-born´
ee, la station de base et l’absence de m´
ecanisme pour briser la sym´
etrie
(dans une transition), ce mod`
ele est celui des protocoles de populations originels [AAD+06].
Dans la suite, classiquement, nous ne pr´
esentons pas les protocoles sous la forme de syst`
emes de transitions,
mais sous celle, ´
equivalente, de pseudo-code.
3 Comptage
3.1 Comptage en P´
etats
Nous pr´
esentons dans cette section un protocole (Alg. 1) permettant de compter les agents (anonymes)
d’un r´
eseau, sous l’hypoth`
ese d’´
equit´
e globale, en utilisant P´
etats diff´
erents par agent. L’id´
ee principale de
l’algorithme est la suivante. Quand un agent interagit avec BS et que BS consid`
ere que son num´
ero a le statut
“utilis´
e”, elle attribue `
a l’agent un nouveau num´
ero et “lib`
ere” l’ancien. Le num´
ero d’un agent peut donc
changer `
a chaque rencontre avec la station de base. Celle-ci ne peut pas attribuer de nouveau un num´
ero avant
qu’un agent avec le mˆ
eme num´
ero ne la rencontre. Afin de garantir qu’`
a partir d’un certain moment tout
Comptage et nommage simples et efficaces dans les protocoles de populations sym´
etriques
num´
ero comptabilis´
e par la station de base soit r´
eellement le num´
ero d’un agent (ce pourrait ˆ
etre le cas du fait
d’une mauvaise initialisation), la station de base doit ˆ
etre initialis´
ee (mais pas les agents). Dans [BCM+07],
il est prouv´
e que cette hypoth`
ese est n´
ecessaire.
L’algorithme de BS utilise un tableau TBS de taille Pavec TBS[num ´ero] = 0 repr´
esentant un slot libre, et
TBS[num ´ero] = 1 un slot utilis´
e. La variable NbAgents de BS contient le nombre d’agents du syst`
eme, `
a partir
d’un certain rang.
Algorithme 1 Comptage
(sous ´
equit´
e globale, avec P ´
etats par agent)
Variables de BS :
TBS[0, . . . P1]: tableau de bits, initialis´
e`
a 0
NbAgentsBS : taille de l’ensemble{i:TBS[i] = 1}
Variable de l’agent p:
num ´erop: entier dans [0,P1]
1: Quand un agent pinteragit avec BS :
2: if (NbAgentsBS 6=PTBS[num ´erop] = 1)then
3: TBS[num ´erop]0
4: /* attribue un num´
ero libre */
5: num ´eropmin{i[0,P1]:i6=num ´erop
TBS[i] = 0}
6: end if
7: T[num ´erop]1
Algorithme 2 Nommage
(auto-stabilisant, sous ´
equit´
e faible, avec 2P ´
etats par
agent)
Variable de BS :
TBS[1,...,2P1]: tableau de bits
Variable de l’agent p:
IDp: entier dans [0,2P1]
1: Quand un agent pinteragit avec BS :
2: if (IDp=0)then
3: /* BS estime avoir attribu´
e tout les slots */
4: if (i:TBS[i] = 1)then
5: /* remise `
a z´
ero du tableau */
6: TBS ← {0}
7: end if
8: IDpmin{i:TBS [i] = 0}
9: end if
10: TBS[IDp]1
11:
12: Quand deux agents pet p0interagissent :
13: if IDp=IDp06=0then
14: IDp0, IDp00
15: end if
Th´
eor`
eme 1 Sous l’hypoth`
ese d’´
equit´
e globale, l’algorithme 1 r´
esout le probl`
eme du comptage avec P ´
etats
par agent.
Sch´
ema de la preuve. Notons que grˆ
ace `
a l’initialisation de BS, si TBS[i] = 1, il existe au moins un agent x
tel que num ´erox=i, ce qui implique NbAgentsBS n. Maintenant, on montre qu’`
a partir d’une configuration
C0accessible infiniment souvent dans une ex´
ecution de l’algorithme 1, il y a une configuration accessible C
dans laquelle NbAgentsBS =n.
Consid´
erons donc une configuration C0dans laquelle NbAgentsBS n. On s’int´
eresse tout d’abord `
a l’en-
semble des num ´ero utilis´
es par au moins un agent. Pour chaque valeur ide ces num ´ero, on choisit de faire
interagir avec BS un seul agent xtel que num ´erox=iet TBS[i] = 0. Une fois ces interactions effectu´
ees,
TBS[i] = 1 pour chaque slot i, tel qu’il existe au moins un agent avec num ´ero =i. Les slots isont utilis´
es et BS
ne peut pas les attribuer `
a un autre agent. Ces slots ne peuvent ˆ
etre “lib´
er´
es” que si un agent avec num ´ero =i
interagit avec BS.
Maintenant, pour chaque slot iutilis´
e par plus d’un agent, on consid`
ere l’ensemble des agents Sitel que
pour chaque agent xSi,num ´erox=i. Pour chaque ensemble, on choisit de faire interagir chaque agent de
l’ensemble une fois avec BS. Une fois ces interactions effectu´
ees, chacun de ces agents a un num ´ero unique, tel
que TBS[num ´ero] = 1. Le nombre de slots utilis´
es est alors ´
egal aux nombre d’agents avec un num ´ero unique.
Comme tout les agents ont un num ´ero unique, on atteint une configuration Cdans laquelle NbAgentsBS =n.
Par cons´
equent, si une configuration C0et accessible infiniment souvent, du fait de l’hypoth`
ese d’´
equit´
e
globale, une configuration Cdans laquelle NbAgentsBS =nl’est aussi. De plus, `
a partir d’une telle configura-
tion, aucune interaction ne peut modifier la valeur de NbAgentsBS. Ceci entraˆ
ıne que les seules configurations
accessibles infiniment souvent dans une ex´
ecution sont telles que NbAgentsBS =n.
Ainsi, sous l’hypoth`
ese d’´
equit´
e globale, l’algorithme 1 r´
esout le probl`
eme du comptage en utilisant P´
etats
par agent. 2
Joffroy Beauquier and Janna Burman and Simon Clavi`
ere
3.2 Comptage approximatif logarithmique
Dans les situations o`
u la m´
emoire disponible en chaque agent est une ressource vraiment critique, on peut
envisager une modification de la sp´
ecification du probl`
eme du comptage, en remplac¸ant comptage exact par
comptage approximatif. Il y a certainement de nombreuses situations dans lesquelles avoir un ordre de gran-
deur du nombre d’agents est amplement suffisant. Une solution approximative est encore plus satisfaisante si
on peut borner l’erreur par rapport `
a la solution exacte.
C’est une telle solution dont nous d´
ecrivons les grandes lignes dans cette section. Cette solution uti-
lise des propri´
et´
es et des techniques connues, mais qui, `
a notre connaissance, n’ont jamais ´
et´
e combin´
ees.
Tout d’abord, elle fait appel `
a la caract´
erisation des protocoles de populations en terme de calculabilit´
e et
d’arithm´
etique de Pressburger (cf. [AAD+06]). Ensuite elle utilise une technique voisine dans son esprit du
comptage approximatif de Morris [Mor78], qui rec¸u une preuve et une ´
etude de complexit´
e analytique de la
part de Flajolet [FNM85]. Cette ´
etude permet de borner l’erreur par rapport au comptage exact. La mise en
œuvre de la m´
ethode de comptage approximatif ne n´
ecessite pas de station de base, demande seulement une
´
equit´
e faible et une hypoth`
ese suppl´
ementaire faible sur les agents (mod`
ele des homonymes) : chaque agent
a rec¸u pr´
ealablement une couleur, bleu ou rouge, stock´
ee comme constante et il y a dans le syst`
eme au moins
deux agents bleus et deux agents rouges. Hormis cette contrainte, les nombres d’agents bleus et d’agents
rouges sont quelconques, et bien entendu inconnus des agents.
Nous combinons plusieurs protocoles. Nous utilisons d’abord le fait que le ratio (arrondi `
a l’entier imm´
ediatement
inf´
erieur) entre nombre d’agents bleus et nombre d’agents rouges est Pressburger et est donc calculable par
un protocole de population (au sens de [AAD+06]). On supposera que chaque agent dispose d’une variable R,
dont la valeur se stabilise au ratio ci-dessus. Pour la clart´
e de la suite on choisira R=1 (autant d’agents bleus
et rouges). Chaque agent ex´
ecute un deuxi`
eme protocole, qui simule un tirage al´
eatoire (ici ´
equiprobable parce
que R=1), en supposant que les agents ont un mouvement al´
eatoire. Apr`
es avoir, `
a un instant quelconque,
rencontr´
e un agent ayant la mˆ
eme couleur que lui, cet agent d´
ecide de compter le nombre d’interactions avec
d’autres agents, jusqu’`
a rencontrer de nouveau un agent ayant la mˆ
eme couleur que lui et range le r´
esultat
dans une variable C. Ce comptage local est r´
ealis´
e une seule fois. Le r´
esultat de Morris nous dit que la valeur
maximum de C est une bonne approximation du logarithme du nombre d’agents. Une formule bornant l’er-
reur, pour le cas particulier de deux couleurs, mais aussi pour des cas plus g´
en´
eraux, est donn´
ee dans [FM83].
Il suffit donc que chaque agent ex´
ecute un troisi`
eme protocole, tr`
es simple, pour obtenir ce maximum. La
composition parall`
ele des trois protocoles fournit un protocole qui se stabilise vers une valeur approch´
ee du
logarithme du nombre d’agents et qui n’utilise que O(log(P)) ´
etats par agent.
Il n’est pas difficile d’imaginer comment cette m´
ethode se g´
en´
eralise `
a plusieurs couleurs et des nombres
d’agents diff´
erents pour chaque couleur. Dans la pratique, la couleur peut ˆ
etre obtenue comme dernier chiffre
d’un num´
ero de s´
erie ou de la date de fabrication. D’autre part, le caract`
ere al´
eatoire de la mobilit´
e des
agents a ´
et´
e observ´
e exp´
erimentalement pour de nombreuses populations humaines ou animales (´
etudiants
d’un campus [Col07], participants `
a une conf´
erence [HCS+05], populations d’albatros, de bourdons et de
daims [EPW+07]).
4 Nommage
Nommage auto-stabilisant, sous ´
equit´
e faible, avec BS et 2P´
etats - Alg. 2. Cet algorithme
attribue un identifiant ID [1,2P1],`
a chaque agent anonyme (ID =0) interagissant avec la station de base.
Chaque ID est associ´
e`
a un slot dans un tableau TBS de la station de base ; TBS[x] = 0 signifie que BS consid`
ere
l’ID x comme libre, TBS[x] = 1 signifie que BS estime que cet ID est utilis´
e par un agent. Les ID libres sont
attribu´
es par ordre croissant de disponibilit´
e.
Quand un agent anonyme interagit avec la station de base, le plus petit ID libre lui est attribu´
e (cf. ligne
8). Le slot correspondant est mis `
a jour, T[x]1 (cf. ligne 10). Comme l’algorithme ne requiert aucune
initialisation, il peut exister parmi la population plusieurs agents avec un mˆ
eme ID, et il peut ´
egalement
exister des slots indiqu´
es comme attribu´
es par la station de base, mais dont aucun agent ne porte l’ID. Pour
“corriger” le premier type d’erreur, lorsque deux agents avec le mˆ
eme ID se rencontrent, l’algorithme remet
ces deux ID `
a 0. Pour “corriger” le second type d’erreur, la station de base effectue une remise `
a z´
ero de son
tableau TBS lorsqu’un agent anonyme se pr´
esente et qu’aucun slot n’est disponible. Une remise `
a z´
ero lib`
ere
l’ensemble des slots (cf. ligne 6).
Th´
eor`
eme 2 Sous ´
equit´
e faible, l’algorithme 2 r´
esout le probl`
eme du nommage auto-stabilisant.
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !