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 efficaces
dans les protocoles de populations sym´etriques. [Research Report] 2014. <hal-00948186v1>
HAL Id: hal-00948186
https://hal.inria.fr/hal-00948186v1
Submitted on 17 Feb 2014 (v1), last revised 7 Jan 2014 (v3)
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
J. Beauquier1and J. Burman1and S. 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, sous l’hypoth`
ese d’´
equit´
e globale. Nous pr´
esentons
une solution optimale qui n´
ecessite seulement P´
etats. Pour le nommage, il exist une solution avec 3
2P´
etats par agent,
sous ´
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 approximatif 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, de mani`
ere exacte ou approximative, est une tˆ
ache
fondamentale 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, mˆ
eme de fac¸on approximative, 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 respectifs.
Les probl`
emes de comptage et de 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, Pest
une borne inf´
erieure ´
evidente. Elle l’est aussi pour le comptage, comme il l’est prouv´
e dans [BCM+07].
De plus, le comptage est impossible dans les cas o`
u ni BS, ni les agents ne sont initialis´
es [BCM+07]. 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 ´
equit´
e 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 d´
efinissant le protocole. Toute notre ´
etude
concerne le cas, plus difficile, de r`
egles sym´
etriques.
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 trans-
formateur de [BCCK08] peut transformer en une solution sym´
etrique en doublant le nombre des ´
etats).
Dans [KIIW10], le premier r´
esultat est am´
elior´
e`
a 2P(sous ´
equit´
e faible), et `
a 3/2Psous ´
equit´
e globale.
Nous am´
eliorons ici ce dernier r´
esultat en pr´
esentant une solution n´
ecessitant seulement P´
etats par agent.
Cette solution est optimale. 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.
J. Beauquier and J. Burman and S. Clavi`
ere
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 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. Nous pr´
esentons une solution avec initialisation quelconque, sans station de
base, qui ne n´
ecessite que P´
etats par agent dans les mˆ
emes conditions. Sous l’´
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.
Enfin, en combinant nos solutions pour le comptage et le nommage nous proposons un algorithme de
nommage consecutive 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 dans certains cas).
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 dis-
tingu´
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 transitions, dont nous adoptons les d´
efinitions classiques : ´
etat d’un agent (la suite des valeurs de ses
variables), configuration (un vecteur d’´
etats), transitions (pas atomique effectu´
e par deux agents se rencon-
trant et le changement 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 tran-
sition sym´
etrique de la forme (sx,sy)(s0
x,s0
y)est ex´
ecut´
ee. 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’interac-
tions. Oest dit globalement ´
equitable (global fairness) pour un syst`
eme Ssi, dans toute ex´
ecution ede S
ordonnanc´
ee par O, si une configuration Cpeut ˆ
etre obtenue (accessible) infiniment souvent dans e, alors C
apparaˆ
ıt infiniment souvent dans e(voir [AAD+06] pour les d´
efinitions formelles).
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, l’absence de m´
ecanisme pour briser la sym´
etrie et la station de base,
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 transi-
tions, mais sous celle, ´
equivalente, de pseudo-code.
3 Comptage
Nous pr´
esentons dans cette section un protocole permettant de compter les agents (anonymes) d’un
r´
eseau, en utilisant P´
etats diff´
erents par agent (ce qui est optimal). L’algorithme est correct sous les deux
hypoth`
eses d’´
equit´
e (faible et globale). Contrairement aux algorithmes de comptage d´
ej`
a connus dans le
mod`
ele PP, l’algorithme propos´
e ne r´
ealise pas d´
ej`
a un nommage, pour compter les ID. Au contraire, chaque
fois qu’un agent interagit avec la station de base, il acquiert un nouveau num´
ero. L’absence de passage par
un nommage nous permet d’abaisser la complexit´
e en m´
emoire des agents. L’id´
ee principale de l’algorithme
1 r´
eside dans l’attribution par la station de base, d’un nouveau num ´ero [0,P1]`
a chaque agent qui la
rencontre. Le num´
ero d’un agent change donc `
a chaque rencontre avec la station de base. Celle-ci ne peut
Comptage et nommage simples et efficaces dans les protocoles de populations
pas r´
e-affecter 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 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). On peut prouver 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.
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
NbAgentBS : 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 (NbAgentBS 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: Lorsque deux agents pet p0interagissent :
13: if IDp=IDp0then
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.
Sch´
ema de la preuve. Notons que grˆ
ace `
a l’initialisation de BS, si TBS[i] = 1, il existe au moins un agent
tel que num ´erox=i, ce qui implique NbAgents n. 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 Cdans laquelle
NbAgentsBS =n
Consid´
erons donc une configuration C0dans laquelle NbAgents 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 =iinteragit 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 configu-
J. Beauquier and J. Burman and S. Clavi`
ere
ration, aucune interaction ne peut modifier la valeur de NbAgentsBS. Ceci entraˆ
ıne que les seules configu-
rations accessibles infiniment souvent dans une ex´
ecution sont telles que NbAgents =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
3.1 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 grandeur 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 ti-
rage 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’erreur, 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 mobi-
lit´
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 bour-
dons et de daims [EPW+07]).
4 Nommage
Nous pr´
esentons dans cette section un algorithme auto-stabilisant (sans l’initialisation de BS ni des
agents) permettant le nommage de nagents anonymes, utilisant 2P´
etats diff´
erents. L’algorithme est cor-
rect sous l’hypoth`
ese d’´
equit´
e faible. L’id´
ee principale de ce protocole, mis en œuvre par l’algorithme 2
est d’affecter un identifiant [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
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 !