Tải bản đầy đủ (.pdf) (47 trang)

APPROCHES COLLECTIVES POUR LE PROBLEME DE LA PATROUILLE MULTI AGENTS

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1 MB, 47 trang )

Institut de la Francophonie pour
l’Informatique

Laboratoire Lorraine de Recherche en
Informatique et ses Applications
(LORIA) – UMR 7503

Master INTELLIGENCE ARTIFICIELLE ET MULTIMÉDIA,
2ème année, Spécialité RECHERCHE
Année universitaire 2005 – 2007

APPROCHES COLLECTIVES POUR
LE PROBLEME DE LA PATROUILLE
MULTI-AGENTS
Mémoire présenté par

CHU Hoang Nam
Stage effectué au LORIA, Projet INRIA MaIA
Directeurs :
• M. Olivier SIMONIN – Maître de Conférences (Université Henri
Poincaré – Nancy 1)
• M. François CHARPILLET – Directeur de Recherche (INRIA)

Vandœuvre-lès-Nancy, Septembre 2007


Remerciements
Je tiens en premier lieu à remercier tout particulièrement Olivier Simonin et
François Charpillet pour m’avoir encadré pendant ces six mois. Je remercie de leur
contact chaleureux, leurs conseils et encouragements, leur soutien permanent et la
liberté de recherche qu’il a bien voulu me laisser.


Je souhaite également remercier Alexis Drogoul pour m’avoir introduit ce stage,
fait confiance et encouragé dès le début de mon travail. Mes sincères
remerciements vont également à tous les professeurs de l’Institut de le
Francophonie pour l’Informatique (IFI) pour m’avoir dirigé tout au long de mes
études à l’IFI.
Je remercie l’ensemble du personnel de l’équipe MaIA pour leur formidable
accueil, leur gentillesse et une ambiance de travail particulièrement favorable.
Merci à Cédric, Jamal, Yoann, Ilham et Arnaud pour leurs amabilités et chaleurs, à
Geoffray pour son cours de langue humoriste, à Rodolphe, Nazim pour leurs
conseils précieux.
Un grand merci aux mes camarades de la promotion XI pour leur amitié et leur
aide dès le début de mon étude à l’IFI.
Merci enfin à mes parents et mes amis pour leur soutien et leur encouragement à
tout instant.


Table des matières
REMERCIEMENTS..................................................................................................................... 2
TABLE DES MATIERES ............................................................................................................ 3
TABLE DES FIGURES................................................................................................................ 4
INTRODUCTION ......................................................................................................................... 6
1

PROBLÈME MULTI-AGENTS DE LA PATROUILLE................................................. 7
1.1.
1.2.
1.3.

2


APPROCHE PAR SYSTÈMES MULTI-AGENTS RÉACTIFS ................................... 11
2.1.
2.2.
2.3.
2.4.

3

CRITÈRES D’ÉVALUATION .............................................................................................. 7
ENVIRONNEMENT ........................................................................................................... 8
TRAVAUX ANTÉRIEURS ................................................................................................ 10
INTELLIGENCE COLLECTIVE (SWARM INTELLIGENCE) ................................................ 11
PHÉROMONE DIGITALE ................................................................................................. 12
EVAP : UN MODÈLE BASÉ SUR L’ÉVAPORATION DES PHÉROMONES............................ 12
CLING : UN MODÈLE BASÉ SUR LA PROPAGATION D’INFORMATIONS ......................... 14

COMPARAISON LES PERFORMANCES ENTRE EVAP ET CLING...................... 17
3.1.
SIMULATION ET ANALYSE ............................................................................................ 17
3.2.
DISCUSSION .................................................................................................................. 20
3.2.1. Complexité ............................................................................................................... 20
3.2.2. Exploration et patrouille.......................................................................................... 21
3.2.3. Avantages et défauts des méthodes.......................................................................... 21

4

PROBLÈME D’ÉNERGIE DANS LA PATROUILLE ...................................... 22
4.1.
4.2.


LIMITATION ÉNERGÉTIQUE .......................................................................................... 22
MARKA : UN MODÈLE COLLECTIF BASÉ SUR LA CONSTRUCTION DE CHAMP
NUMÉRIQUE POTENTIEL ............................................................................................................. 23
4.2.1. Comportement des agents........................................................................................ 24
4.2.2. Algorithme ............................................................................................................... 25
4.2.3. Estimation de l’autosuffisance................................................................................. 26
4.3.
TANKER : UNE APPROCHE AUTO-ORGANISÉE COLLECTIVE POUR L’OPTIMISATION DE
POSITION DE TANKER ................................................................................................................ 26
4.3.1. Les forces attractives et répulsives .......................................................................... 27
4.3.2. Comportement du modèle (algorithme)................................................................... 28
5

PERFORMANCES DE MARKA ET TANKER ............................................................. 30
5.1.
5.2.
5.3.

TÂCHE SIMPLE .............................................................................................................. 31
TÂCHE DYNAMIQUE ..................................................................................................... 31
AVANTAGES ET DÉFAUTS DES MODÈLES...................................................................... 33

CONCLUSIONS.......................................................................................................................... 34
PERSPECTIVES......................................................................................................................... 34
BIBLIOGRAPHIE ...................................................................................................................... 36
ANNEXES.................................................................................................................................... 39
SWARM APPROACHES FOR THE PATROLLING PROBLEM, INFORMATION PROPAGATION VS.
PHEROMONE EVAPORATION ..................................................................................................... 40



Table des figures
Figure 1 : Espace « discret » et espace « continu » ............................................................ 9
Figure 2 : Oisiveté propagée ............................................................................................. 14
Figure 3 : Topologies étudiées.......................................................................................... 17
Figure 4 : Topologie sans obstacles, 8 agents, 1000 itérations......................................... 18
Figure 5 : Topologie sans obstacle, moyenne IGI ............................................................ 18
Figure 6 : Topologie couloir-salles, 1 agent, 4000 itération ............................................. 19
Figure 7 : Topologie 6-pièces, 4 agents, 2000 itérations .................................................. 19
Figure 8 : Topologie 6-pièces, moyenne IGI .................................................................... 19
Figure 9 : EVAP et CLInG, Map E................................................................................... 20
Figure 10 : Le processus de marquage d’environnement ................................................. 24
Figure 11 : La formation de gradient des champs numériques......................................... 25
Figure 12 : Attraction guide le Tanker au barycentre des demandes................................ 27
Figure 13 : Répulsion garde la distance entre Tankers A et B.......................................... 28
Figure 14 : Diffusion en environnement discret ............................................................... 29
Figure 15 : MARKA et TANKER, 4 agents, 4000 itérations........................................... 31
Figure 16 : Installation d’environnement.......................................................................... 32
Figure 17 : MARKA et TANKER, 2 groupes, 4000 itérations ........................................ 32
Figure 18 : Illustration de TANKER ................................................................................ 33



Approches collectives pour le problème de la patrouille multi-agents

Introduction
Ce stage a été réalisé dans le cadre du master recherche informatique, intelligence
artificielle et multimédia, option intelligence artificielle. Il a eu lieu au laboratoire
LORIA (UMR 7503, Nancy) au sein de l’équipe INRIA MaIA. Le stage s’est déroulé
sous la direction d’Oliver SIMONIN, Chargé de Recherche INRIA, et François

CHARPILLET, Directeur de Recherche INRIA, responsable scientifique de l’équipe
MaIA.

Le problème multi-agents de la patrouille consiste à faire parcourir un territoire à des
agents de telle sorte que les différentes parties du territoire soient visitées le plus
souvent possible par ces agents. Ce problème avait été introduit par Ramalho et al.
dans [8], et avait été abordé avec des algorithmes multi-agents classiques. Dans le
cadre du stage effectué au LORIA, nous abordons l’approche par l’intelligence en
essaim pour le problème de la patrouille et de l’exploration multi-agents. Plus
précisément, ce stage se destine à l’étude des algorithmes multi-agents réactifs dont le
but est de patrouiller et explorer un environnement inconnu. De plus, un autre objectif
de ce stage est d’intégrer la limitation d’énergie au problème de la patrouille, de
proposer un algorithme qui permette aux agents de coordonner les activités de
patrouille et de recharge.

Le rapport se divise en 4 parties. La première introduit le problème multi-agents de la
patrouille ainsi que les travaux antérieurs. Dans une seconde partie, nous présentons
l’intelligence collective et deux algorithmes, EVAP et CLInG, basés sur cette
approche pour traiter le problème de la patrouille. La troisième partie présente la
comparaison des performances entre ces deux algorithmes. Enfin, la dernière partie
est consacrée au problème de l’énergie dans la patrouille.

CHU Hoang Nam

6


Approches collectives pour le problème de la patrouille multi-agents

1


Problème multi-agents de la patrouille

Selon le dictionnaire Petit Larousse, une patrouille est « une mission de
renseignements, de surveillance ou de liaison confiée à une formation militaire
(aérienne, terrestre ou navale) ou policière ; désigne également la formation ellemême ».
Selon le dictionnaire Oxford, « patrolling is the act of walking or travelling around an
area, at regular interval, in order to protect or to supervise it ». Le problème multiagents de la patrouille, ou patrolling en anglais, consiste à déployer un ensemble
d’agents, généralement en nombre fixe, afin de visiter à intervalle régulier les lieux
stratégiques d’une région. Ce problème se pose typiquement dans les jeux vidéos [8]
[10] lorsqu’une équipe de créatures virtuelles a pour mission de patrouiller sur un
territoire déterminé, dans certaines applications internet, ainsi que dans le
déplacement d’une équipe de robots, dans la surveillance d’un lieu ou d’un bâtiment
en vue de le défendre de toute intrusion, etc.
Malgré son utilité et son intérêt scientifique, la patrouille multi-agents n’a été étudiée
que récemment. Dans [8], un des premiers travaux, Machado et al. ont déjà proposé
les premières notions et aussi évalué différents architectures d’agent pour traiter ce
problème. Ainsi, nous plaçant dans cette configuration du problème nous pensons que
des approches de type intelligence en essaim peuvent s’avérer particulièrement
pertinentes. Elles reposent en général sur le marquage de l’environnement et
définissent un moyen de communication et de calcul indirect entre les agents.
Les sous-sections suivantes présentent des critères d’évaluations de la performance
d’une stratégie de patrouille, les types d’environnements ainsi que leur représentation.

1.1. Critères d’évaluation
Patrouiller efficacement dans un environnement, éventuellement dynamique,
nécessite que le délai entre deux visites d’un même lieu soit minimal. L’ensemble des
travaux portant sur les stratégies de patrouille considèrent que l’environnement est
connu, bidimensionnel et qu’il peut être réduit à un graphe G(V,E) (V l’ensemble des
nœuds à visiter, E les arrêtes définissant les chemins valides entre les nœuds).

Plusieurs critères peuvent être utilisés afin d’évaluer la qualité d’une stratégie de
CHU Hoang Nam

7


Approches collectives pour le problème de la patrouille multi-agents

patrouille. Nous utilisons ceux se basant sur le calcul de l’oisiveté des nœuds (ou
Idleness) qui peuvent être calculés au niveau d’un nœud ou au niveau du graphe.
Nous utilisons les critères suivants qui sont introduits dans [8] :
• Instantaneous Node Idleness (INI) : nombre de pas de temps où un nœud est
resté non visité, appelé oisiveté dans le reste du présent rapport. Critère calculé
pour chaque nœud.
• Instantaneous Graph Idleness (IGI) : moyenne de l'Instantaneous Idleness de
tous les noeuds pour un instant donné. Critère calculé au niveau du graphe.
• Average Graph Idleness (AvgI) : moyenne de IGI sur n pas de temps. Critère
calculé au niveau du graphe.
• Instantaneous Worst Idleness (IWI) : plus grande INI apparue au cours d’un
pas de temps donné, appelé oisiveté maximale ou pire oisiveté dans le reste du
présent rapport. Critère calculé au niveau du graphe.

1.2. Environnement
On trouve dans les travaux antérieurs deux types d’environnement utilisés par les
modèles de la patrouille multi-agent : espace « discret » et espace « continu »

Espace « discret »
L’espace « discret », qui se compose d’un ensemble de nœuds à visiter, est représenté
sous forme un graphe G (V, E) (V l’ensemble des nœuds à visiter, E les arrêtes
définissant les chemins valides entre les nœuds). Ce type de représentation convient

pour le cas de la patrouille entre les lieux intérêts.

Espace « continu »
L’espace continu représente une aire à couvrir, comme une chambre, un bâtiment
etc... On peut modéliser ce type d’espace par une grille où chaque cellule représente
soit un lieu à visiter, soit un lieu inaccessible (mur, obstacle) (cf. Figure 1).

CHU Hoang Nam

8


Approches collectives pour le problème de la patrouille multi-agents

Figure 1 : Espace « discret » et espace « continu »

La pré-connaissance de l’environnement est également une condition importante dans
le problème de la patrouille. En effet, elle influe sur le choix de l’algorithme de
patrouille ainsi que sur sa performance.

Environnement connu
Les agents sont ici dotés d’une pré-connaissance de l’environnement. Une
architecture de type cognitive conviendra donc à ce type d’environnement. Les agents
peuvent travailler de façon offline, par exemple, mémoriser la carte ou faire une
planification du parcours optimale, avant l’exécution de la tâche [4] [1].

Environnement inconnu
La tâche de patrouille est exécutée sans connaissance de l’environnement. Il est alors
évident que les agents doivent effectuer deux tâches : explorer l’environnement et
patrouiller. Dans ce cadre, on peut utiliser des agents réactifs, ces derniers pouvant

réaliser un apprentissage ou bien recourir à des techniques basées sur le marquage de
l’environnement.
Dans le cadre de ce stage, nous nous concentrons sur le problème de la patrouille en
environnement inconnu, c'est-à-dire qu’il est impossible de disposer du graphe
représentant l’environnement. L’espace exploré par les agents est représenté comme
une matrice de cellules dont chaque cellule peut être soit:
• Libre
• Occupée par un agent
• Être inaccessible (un obstacle, un mur …)

CHU Hoang Nam

9


Approches collectives pour le problème de la patrouille multi-agents

1.3. Travaux antérieurs
Le problème de la patrouille a été abordé ces dernières années selon des approches
centralisées, heuristiques ou encore distribuées, mais toujours dans le cadre d’une
représentation sous forme d’un graphe de l’environnement (un nœud étant un lieu
prédéterminé qu’il faut visiter, une arrête un chemin reliant deux nœuds) et donc
nécessairement une pré-connaissance de l’environnement. Il existe divers travaux
reposant sur des algorithmes de parcours de graphes dérivant souvent du
problème du voyageur de commerce [1]. On trouve dans [4] une solution reposant
sur le principe d’optimisation par colonie de fourmis (ACO algorithms) mais qui
nécessite là encore une pré-connaissance de l’environnement sous la forme d’un
graphe. Il en est de même pour les techniques à base d’apprentissage qui reposent
sur la recherche d’un parcours multi-agent optimal calculé offline, c'est-à-dire que
le parcours optimal est calculé avant l’exécution de tâche dans l’environnement

considéré. Par conséquent, une telle technique n’est pas capable de s’adapter à un
changement online du problème tel qu‘une modification de la topologie de
l’environnement ou l’ajout ou la perte d’un certain nombre d’agents.
Une autre limite de ces solutions est l’explosion combinatoire lorsque la taille du
graphe devient importante (plusieurs centaines de nœuds) ou que le nombre d’agents
déployé est lui-même grandissant. Or, aujourd’hui, de nombreuses applications
concrètes présentent la problématique de la patrouille sur de vastes espaces, connus
ou inconnus, avec un nombre important d’agents (drones déployés pour surveiller un
lieu stratégique, surveillances de bâtiments par des robots mobiles, etc.).

CHU Hoang Nam

10


Approches collectives pour le problème de la patrouille multi-agents

2

Approche par Systèmes multi-agents réactifs

2.1. Intelligence collective (Swarm Intelligence)
Selon Bonabeau dans [2], « Swarm Intelligence (SI) is the property of a system
whereby the collective behaviors of (unsophisticated) agents interacting locally with
their environment cause coherent functional global patterns to emerge ».
L’Intelligence Collective inspirée par des sociétés animales telles que les colonies de
fourmis ou les bancs de poissons a mené à la création d’un nouveau paradigme de
calcul et de comportement. Plus particulièrement, ce domaine tire son inspiration de
l’étude des insectes sociaux tels que les fourmis ou les termites et se base sur l’autoorganisation et l’émergence de comportements par contraste avec les systèmes
biologiques individuels (comme les Algorithmes Génétiques).

On peut trouver dans les sociétés d’insectes certains phénomènes biologiques qui sont
les fruits des travaux magnifiques des insectes sociaux, comme les fourmis formant
des ponts avec leur corps permettant à la colonie des traverser de larges espaces, ou
les abeilles qui construisent parallèlement les rayons de leurs ruches [2]. Or les
problèmes quotidiens résolus par une colonie sont nombreux et de nature très variée :
recherche de nourriture, allocation de tâches entre les individus, etc. Les études
réalisées par les éthologues ont montré que certains comportements collectifs des
insectes sociaux étaient auto-organisés. Des structures émergent à un niveau global à
partir d’interactions simples entre insectes, comme une fourmi qui suit la trace de
phéromone laissée par une autre. Ces interactions aident à résoudre collectivement des
problèmes complexes, comme par exemple de trouver le chemin le plus court.
Aujourd’hui, la transposition de modèles de comportement collectif des insectes
sociaux à des modèles informatiques a donné des solutions à des problèmes
complexes, notamment à des problèmes d’optimisation de parcours,
d’ordonnancement ou le problème du voyageur de commerce [2]. Cette approche peut
résoudre les problèmes de manière :
• Flexible : l’adaptation à de brusques modifications de l’environnement.

CHU Hoang Nam

11


Approches collectives pour le problème de la patrouille multi-agents

• Robuste : Le système tolère l’ajout ou la suppression dynamique d’agents ainsi
que d’éventuels échecs dans l’accomplissement de leur tâche. Le système est
capable de se réorganiser de lui-même pour s’adapter à cette modification.
• Décentralisé : il n’y a pas un contrôleur central dans le système.
• Auto-organisé


2.2. Phéromone digitale
La stigmergie est une notion introduit en 1959 par le biologiste Pierre-Paul Grassé qui
observait la construction des nids chez les termites. C’est une méthode de
communication indirecte chez les insectes sociaux (termites, fourmis, …) dans un
environnement émergent auto-organisé, où les individus communiquent entre eux en
modifiant leur environnement. Les phéromones digitales sont les stigmergies
artificiels utilisées par les agents réactifs dans les systèmes multi-agents qui
modélisent la société d’insectes. On peut trouver ainsi dans [14] des modèles de
coordination entre véhicules sans pilotes pour la surveillance et la poursuite basée sur
des mécanismes reposant sur phéromones digitales. Ce type de communication
indirecte est particulièrement adapté au traitement de tâches en environnement
initialement inconnu (e.g. foraging [10], couverture-exploration …).

2.3. EVAP : un
phéromones

modèle

basé

sur

l’évaporation

des

Le modèle EVAP que nous proposons pour le problème de la patrouille en
environnement inconnu repose sur le dépôt d’une phéromone. La particularité de ce
modèle est d’exploiter uniquement le processus d’évaporation. L’idée étant de

marquer les cellules visitées par une quantité maximale de phéromone q0 et
d’exploiter la quantité restante comme un indicateur du temps écoulé depuis la
dernière visite (représente l’oisiveté). Ainsi nous définissons le comportement d’un
agent par une descente du gradient de cette phéromone, c’est-à-dire un comportement
menant l’agent à se déplacer vers les cellules contenant le moins de phéromone.

CHU Hoang Nam

12


Approches collectives pour le problème de la patrouille multi-agents

Expression du processus d’évaporation par une suite géométrique (avec qn la quantité
de phéromone dans une cellule au pas de temps n) :
qn+1 = qn . (1 – coefEvap)

(eq. 1)

coefEvap ∈ (0,1) et q0 > 0. En effet, qn est monotone et décroissante pour toute valeur
de coefEvap sur (0,1), ainsi le modèle est indépendant du choix de coefEvap.
Ainsi, ce processus d’évaporation permet la génération d’un gradient orienté selon la
chronologie de visite des cellules.
Le comportement de descente de gradient permet aux agents d’explorer les zones les
plus anciennement visitées (ou jamais visitées). La perception de chaque agent se
limite aux quatre cellules voisines de sa position courante (notées CellVoisines dans
les algorithmes), pour lesquelles il peut lire la quantité de phéromone présente. Il se
déplace vers celle contenant la valeur minimale parmi les quatre.
Elément d’importance dans le modèle, un agent choisit aléatoirement parmi plusieurs
cellules voisines lorsque celles-ci contiennent la même quantité minimale de

phéromone. Toutefois, afin d’éviter des trajectoires trop erratiques (qui peuvent être
problématiques dans le cadre d’une application robotique), nous donnons la
possibilité à l’agent de garder son cap selon une probabilité p lorsque ce cas se
présente.
ALGORITHME Agent EVAP
m = min(QPhero(CellVoisines))
Pour chaque cellule c de CellVoisines
Si QPhero(c) = m Alors
ListeVois ← ListeVois + c
FSi
FPour
nextCell ← cellule vers laquelle on irait en gardant le cap
Si nextCell appartient à listeVois et
random(1) < p Alors
allerVers(nextCell)
Sinon
allerVers(aléa(listeVois))
FSi
déposerPhéromones(q0)

CHU Hoang Nam

13


Approches collectives pour le problème de la patrouille multi-agents

ALGORITHME Environnement EVAP
Pour chaque cellule c de l’env. Faire
Si QPhero(c) > 0 Faire

CalculEvapPhero(c)
FSi
FPour

2.4. CLInG : un
d’informations

modèle

basé

sur

la

propagation

Sempé [16] a proposé un algorithme de patrouille multi-agent qui fait l’hypothèse que
les agents sont réactifs (comme dans EVAP) et que l’environnement calcule deux
informations :
• l’oisiveté de chaque cellule
• la propagation des oisivetés max
A chaque pas de temps, l’environnement calcule l’oisiveté de chaque cellule
accessible en incrémentant sa valeur d’une unité. L’oisiveté d’une cellule est remise à
zéro lorsqu’un agent la visite.
L’originalité de l’algorithme CLInG (Choix Local fondé sur une Information Globale)
est d’introduire une seconde information dans l’environnement par la propagation des
oisivetés maximales. Cette propagation entre cellules produit un second gradient qui
guide les agents vers les cellules d’intérêts (les plus anciennement visitées).


Figure 2 : Oisiveté propagée

Plus formellement, une cellule i portera une
oisiveté propagée OPi en plus de son oisiveté
individuelle Oi. Le gradient formé par l'oisiveté
propagée est commun à toute la collectivité, cf
Figure 2.

L'oisiveté propagée d’une cellule dépend de l'oisiveté propagée de ses voisines et de
son oisiveté individuelle. Elle équivaut à une fonction d'utilité qui tient compte à la
fois de l'oisiveté et de la présence d’agents sur le chemin.

OPi = max[Oi , max ( f (i, j ))]

CHU Hoang Nam

(eq. 2)

14


Approches collectives pour le problème de la patrouille multi-agents

avec j les cellules voisines de i, et f la fonction de propagation :
f (i, j ) = OPj − α − β .I ( j )

Si OPj − α − β .I ( j ) ≥ OPmin

= OPmin


Si OPj > OPmin

= OPj − 1

Sinon

α est le coefficient de propagation, sa valeur peut être importante (par exemple 30
dans les expérimentations) ceci afin de générer un gradient de courte distance qui
n’attire pas tous les agents en un point maximum.
I ( j ) est la fonction d’interception permettant de stopper une propagation lorsqu’elle

rencontre un agent. I ( j ) vaut 1 s’il y a un agent dans la cellule j, sinon 0. Ce facteur
limite aussi les regroupements d’agents en provenance d’un même chemin (l’ordre de
grandeur pour β est 10), cf. détails dans [16].
OPmin sert de seuil afin que l’oisiveté propagée reste positive et produise toujours un
gradient. Le comportement de chaque agent consiste alors à remonter le gradient
d’oisiveté maximale (cf. illustration Figure 2). C’est une approche duale de la
précédente (algorithme EVAP), mais cette fois l’information lue dans les cellules
voisines peut provenir de cellules plus éloignées.
La propagation permet d'exploiter implicitement les propriétés de l'environnement et
de transformer une donnée objective en une information subjective utilisable
directement par les agents. L’algorithme réalise ainsi une organisation des agents en
fonction de la distribution de l'oisiveté dans l'environnement.
ALGORITHME Agent CLInG
m = max(O_Propagee(CellVoisines))
Pour chaque cellule c de CellVoisines
Si O_Propagee(c) = m Alors
ListeVois
ListeVois + c
FSi

FPour
allerVers(Alea(listeVois))
Oisivete(cellCourante)
0

CHU Hoang Nam

15


Approches collectives pour le problème de la patrouille multi-agents

ALGORITHME Environnement CLInG
Pour chaque cellule c de l’env. Faire
Calculer Oisiveté de c
FPour
Pour chaque cellule c de l’env. Faire
Calculer OisivetéPropagée de c
FPour

CHU Hoang Nam

16


Approches collectives pour le problème de la patrouille multi-agents

3

Comparaison les performances entre EVAP et

CLInG

3.1. Simulation et analyse
Nous étudions ces deux modèles sur 5 environnements de référence et de complexité
croissante, pris ou adaptés de [1] et [18], cf. Figure 3. Dans chacun des ces
environnements, les cellules noires sont les obstacles, les autres, les cellules à
patrouiller.
La topologie A est un environnement sans obstacle spécifiant un déplacement libre
des agents. L’environnement B est une spirale créant une topologie de couloir en
impasse. L’environnement C permet de contraindre l’environnement par une densité
de cellules obstacles, générée aléatoirement (ici 20% d’obstacles sans cellules libres
isolées). L’environnement D représente un couloir donnant sur 8 salles. Enfin E
présente six pièces aux entrées imbriquées (de façon générale nous définissons le
problème n-pièces comme n pièces aux accès imbriqués).

Figure 3 : Topologies étudiées

Nous avons expérimenté les algorithmes avec
différentes populations, en général en
doublant systématiquement le nombre
d’agents : 1, 2, 4, 8, 16, 32, 64. Il s’agit
d’évaluer les performances et le caractère
collectif des modèles. Chaque simulation est
exécutée pour 3000 itérations (4000 avec les
environnements D et E) et 10 fois pour établir
des moyennes.

Valeurs théoriques optimales
Les valeurs théoriques optimales d’oisiveté sont calculées comme suit : Soit c le
nombre de cellules accessibles dans l’environnement. Considérons un agent qui se

déplace vers une nouvelle cellule à chaque itération, il visite alors toutes les cellules
en c-1 itérations. Ainsi, la cellule de départ aura atteint une oisiveté égale à c-1. Pour
n agents, l’oisiveté maximale optimale vaut c n − 1 . L’oisiveté moyenne optimale vaut

CHU Hoang Nam

17


Approches collectives pour le problème de la patrouille multi-agents

c −1
n
. En effet, les valeurs d’oisiveté sont réparties selon une série linéaire dont la
2

moyenne vaut valeur max / 2.

Environnements simples (A, B, C)
140

300

100
80
EVAP avgIdleness
CLInG avgIdleness
Optimal avgIdleness

60

40

EVAP maxIdleness
CLInG maxIdleness

20

Id leness m o yen ne

Idleness (Oisiveté)

120

Cling

250

Evap

200

Optimal

150
100
50
0

0
1


71

141

211

281

351

421 491 561
Iteration

631

701

771

841

911

981

Figure 4 : Topologie sans obstacles, 8 agents,
1000 itérations

1


2

4
8
16
Nombre d'agents

32

64

Figure 5 : Topologie sans
obstacle, moyenne IGI

Nous présentons brièvement des résultats généralisables à ces trois environnements.
En général, dans ces trois environnements, les performances des deux algorithmes
sont globalement proches. La Figure 4 montre les performances obtenues avec 8
agents sur un environnement de taille 20x20 cellules pour les 1000 premières
itérations (agents initialement positionnés aléatoirement). Ce graphique représente
l’oisiveté moyenne et l’oisiveté maximale pour les deux méthodes étudiées (CLInG et
EVAP). Un point remarquable est l’équivalent de deux oisivetés moyennes et leur
stabilisation à un niveau très proche de l’optimal théorique. L’oisiveté maximale ne se
stabilise pas et il est difficile de dire que l’une des deux méthodes est plus
performante que l’autre.
La Figure 5 présente l’oisiveté moyenne des deux méthodes pour une variation du
nombre d’agents. Dans les deux cas, le doublement du nombre d’agents améliore
significativement les performances. Pour chaque environnement, nous observons que
les valeurs obtenues correspondent quasiment à la valeur théorique optimale.


Environnements complexes (D, E)
• Map D
Nous explorons maintenant le comportement des deux modèles sur des
environnements réputés complexes composés de plusieurs pièces à visiter. Nous
commençons d’abord avec la topologie D. La Figure 6 présente les performances en
oisiveté moyenne et maximale sur la map D pour le cas particulier de la patrouille
CHU Hoang Nam

18


Approches collectives pour le problème de la patrouille multi-agents

avec un seul agent. On peut remarquer qu’EVAP converge vers une performance
extrêmement stable et quasi optimale. CLInG est un peu moins performant. Mais dès
que l’on augmente le nombre d’agents, les performances des deux méthodes sont
équivalentes et restent proches des valeurs théoriques optimales.
EVAP avgIdleness
CLING avgIdleness
avgIdleness optimale

900
800

EVAP maxIdleness
CLING maxIdleness
maxIdleness optimale

Idleness (O isiveté)


700
600
500
400
300
200
100
0
1

451

901

1351

1801
2251
Iteration

2701

3151

3601

Figure 6 : Topologie couloir-salles, 1 agent, 4000 itération

• Map E
On peut voir clairement deux phases distinctes pour EVAP dans la Figure 7. Justqu’à

l’itération 830, l’oisiveté moyenne, tout comme l’oisiveté maximale, est bien
supérieure à celle de CLInG. Ceci s’explique par le fait que les agents passent d’abord
par une phase d’exploration consistant à accéder pour la première fois aux pièces (cf.
Figure 9.a). La seconde phase qui consiste à revisiter les pièces est mieux gérée par le
fait que la phéromone entraîne directement les agents dans les pièces les plus reculées
(cf. Figure 9.b).
500

EVAP avgIdle
EVAP maxIdle
CLInG avgIdle
CLInG maxIdle
avgIdle Optimal
maxIdle Optimal

450
Idleness (Oisiveté)

400
350
300
250
200
150
100
50
0
1

301


601

901
1201
Iteration

1501

1801

Figure 7 : Topologie 6-pièces, 4 agents, 2000
itérations

Figure 8 : Topologie 6pièces, moyenne IGI

Le problème pour EVAP se situe au niveau des portes séparant deux pièces. Un agent
qui explore une pièce et qui passe devant une porte a un choix d’égale probabilité
entre poursuivre l’exploration de la pièce ou bien entrer dans la suivante. S’il choisit
CHU Hoang Nam

19


Approches collectives pour le problème de la patrouille multi-agents

de poursuivre l’exploration, il risque de ne pas repasser devant cette porte et donc
d’ignorer cette pièce non visitée. On trouve ici le problème identifié par Wagner [20],
dû à une vision locale, du choix entre deux nœuds d’égal intérêt.


Figure 9 : EVAP et CLInG, Map E

CLInG ne subit pas ce problème car les pièces non explorées propagent une oisiveté
forte qui garantie que l’agent, à l’approche d’une porte, sera attiré par la pièce non
visitée. Le processus de propagation permet à l’agent d’avoir une vision moins
restreinte de l’environnement et d’accéder aux pièces de manière optimale, et ce, dès
la première exploration (cf. Figure 9.c).

3.2. Discussion
3.2.1. Complexité
Nous avons identifié des topologies où CLInG s’avère plus efficace de par cette
propagation d’information. Toutefois ce processus a un coût. La différence de
complexité des algorithmes ne se situe pas au niveau du comportement des agents
(qui est équivalent), mais dans le calcul effectué par l’environnement à chaque pas de
temps. Plus précisément, pour c cellules contenant de la phéromone, il faut dans
EVAP c opérations d’évaporation (eq. 1). Pour un environnement rectangulaire de n
cellules de coté, il faudra donc au pire n² opérations d’évaporation. L’environnement
de CLInG est beaucoup plus coûteux puisqu’il faudra systématiquement n² opérations
de calcul d’oisiveté plus n² opérations de propagation (eq. 2). En pratique, CLInG
s’avère deux fois plus coûteux en temps d’exécution.

CHU Hoang Nam

20


Approches collectives pour le problème de la patrouille multi-agents

3.2.2. Exploration et patrouille
Les simulations effectuées sur des environnements complexes ont fait apparaître deux

régimes de fonctionnement, en particulier pour EVAP. Dans un premier temps, le
système se trouve dans une phase d’exploration. Une fois cette première exploration
effectuée, il change brutalement pour un comportement plus stable et plus efficace.
Cette première phase existe aussi pour CLInG mais est en général d’une durée
inférieure de par l’attraction exercée par les zones non encore explorées (cf. Figure 7).
3.2.3. Avantages et défauts des méthodes
En général, les performances des deux algorithmes sont proches de l’optimal
théorique. Nous avons montré que dans les environnements de complexité moyenne,
le dépôt d’une phéromone est suffisant pour garantir une oisiveté moyenne basse. Par
contre, si l’on s’intéresse à l’oisiveté instantanée maximale (ou pire oisiveté), CLInG
s’avère en général nettement plus performant grâce à l’attraction propagée par les
cellules de plus forte oisiveté.
Une des surprises de cette étude est l’obtention de bonnes performances, voire
optimales, dans le cas de patrouilles avec un seul agent. Ce qui montre que les
processus de marquage de l’environnement peuvent constituer une bonne solution
pour des problèmes mono-agent, tout en garantissant le passage à l’échelle.
L’étude que nous avons menée montre que CLInG est plus performant qu’EVAP sur
des environnements complexes composés de pièces imbriquées, particulièrement si le
nombre d’agents est faible. Une étude et une discussion plus détaillées de ces deux
algorithmes est disponible dans [5] que vous avons rédigé au cours de ce stage. (cf.
Annexes)

CHU Hoang Nam

21


Approches collectives pour le problème de la patrouille multi-agents

4


Problème d’énergie dans la patrouille

4.1. Limitation énergétique
Une des nombreuses applications des systèmes multi-agents est les systèmes multi
robots. Un robot, qui comme n’importe quelle machine dépense de l’énergie, a besoin
d’embarquer une source d’énergie qui doit être régulièrement renouvelée
(automatiquement ou en partie manuellement). En robotique autonome, la
maintenance de l'énergie est une exigence clé dans la création de systèmes robustes.
Un robot autonome, quelle que soit la sophistication de son Intelligence artificielle,
sera limité dans sa durée de vie et sa charge de travail par l'énergie disponible. Ce
problème fondamental est commun à toutes les créatures vivantes. Nous croyons qu'il
peut imposer des contraintes intéressantes au niveau du design des systèmes
autonomes intelligents. Cependant, il reste encore plusieurs difficultés à surmonter
pour traiter ce problème.
L’autonomie énergétique pour les robots mobiles est représentée par les deux
capacités principales suivantes: l’auto-suffisance et l’auto-alimentation. Plus
précisément, un robot autonome doit être capable de se recharger et doit avoir la
capacité de :
• trouver des stations de recharge
• se rendre compte de son besoin de recharge.
Les autres capacités comme l’interaction et la connexion à une station de recharge ou
le partage de station avec d’autres robots bien que relevant plus de la robotique pure
que de l’IA sont également à considérer.
Le problème de l’énergie a été étudié au cours des dernières années, mais toujours
dans le cadre du niveau physique. D’après ce que nous savons, aucun papier ne se
concentre exclusivement sur le problème de la patrouille avec limitation énergétique.
L'approche ordinaire à ce problème est de mettre un appareil de recharge à un endroit
fixe que les agents visitent souvent [18]. Il existe divers travaux reposant sur cette
approche qui ont été proposés et discutés. Ceux-ci traitent souvent du design


CHU Hoang Nam

22


Approches collectives pour le problème de la patrouille multi-agents

physique, de l’installation du système de recharge et de l’interaction entre les robots et
la station (cf. [18], [8]), mais pas du problème de recherche des stations.
Le problème du partage de station a rarement été abordé dans la recherche. MunozMélendez et al. dans [11] ont conçu un groupe de robots mobiles autosuffisants
pouvant efficacement partager une station de recharge en utilisant des mécanismes
simples ne requérant pas de communication. De plus, Sempé a proposé dans [16] un
mécanisme basé sur la propagation d'information qui aide les robots à trouver et à
partager les stations. Le problème de l'estimation de l'autosuffisance dans les robots
réels est plus commun. Gérard a présenté dans [6] une méthode d'estimation reposant
sur un réseau de neurones.
Par contre, une approche alternative pour le problème de l'énergie a été proposée dans
[21] par Zebrowski et Vaughan : un robot « tanker » qui porte l’énergie et la distribue à
plusieurs robots travailleurs. Le tanker a pour unique tâche de chercher et recharger
les robots travailleurs.
L’étude du problème énergétique est indispensable pour le problème de la patrouille
multi-robots. Dans ce cadre, un agent/robot doit avoir la capacité de :
• Découvrir des stations de recharge (en particulier dans un environnement
inconnu)
• Estimer le temps d’activité restant avant que l’énergie soit épuisée.
• Prendre la décision d’aller se recharger avant épuisement.
• Trouver un chemin pour retourner aux stations de recharge.
Dans les sections suivantes, nous présentons nos deux modèles basés sur les deux
approches mentionnées ci-dessous.


4.2. MARKA : un modèle collectif basé sur la construction
de champ numérique potentiel
Nous proposons un modèle collectif qui fait l’hypothèse qu’il existe des stations de
recharge dans l’environnement. Le problème de la recherche de station devient plus
complexe dans notre contexte quand les agents ne sont pas dotés d’une préconnaissance de la position de ces stations. Cette approche utilise encore

CHU Hoang Nam

23


Approches collectives pour le problème de la patrouille multi-agents

l’architecture d’agent réactif car le choix de la prochaine action en fonction de l’état
des régions voisines offre l’avantage de la simplicité. Mais cet horizon trop court ne
permet pas aux agents de voir les stations de recharge inconnues.
La solution que nous proposons consiste donc à construire des champs numériques
pour marquer les chemins entre les stations de recharge et les cellules. Cette approche
repose sur la construction des champs numériques appliquée au problème de la
fouille, qui a été introduit par Simonin, Charpillet et al. dans [19].
4.2.1. Comportement des agents
Les agents ne connaissent pas leur position globale, ils occupent juste une cellule et
perçoivent les quatre cellules voisines. L’idée est qu’à chaque pas de temps, pendant
la patrouille, en plus de la phéromone digitale, les agents marquent chaque cellule
visitée d’une valeur calculée par l’équation classique qui tient compte des marques
des cellules voisines.

(


(

) )

val = min val, min valcellulesVoisinage + 1

(eq. 3)

Figure 10 : Le processus de marquage d’environnement

La valeur à la station de recharge est égale à 0. On peut voir que ces champs
numériques représentent la distance la plus courte de la station de recharge aux
cellules portant ces valeurs. Ils sont les informations qui guident les agents vers la
station de recharge la plus proche.
La Figure 11 montre la formation du champ numérique autour d’une station de
recharge. Lorsque les agents ont besoin de se recharger, ils effectueront une descente
de gradient consistant à se diriger vers les cellules de plus petite marque.

CHU Hoang Nam

24


Approches collectives pour le problème de la patrouille multi-agents

Figure 11 : La formation de gradient des champs numériques

4.2.2. Algorithme
L’algorithme d’un agent de MARKA se divise en 2 phases principales : une « Phase
de Patrouille » et une « Phase de Recherche d’énergie ».

Phase de Patrouille
Début
Patrouiller
m
min(Marque(Voisinage))
mc
Marque(Cellule courante)
Si (mc > m + 1) Alors
Marque(Cellule courante)
FSi

mc + 1

Fin

Une fois que l’agent a besoin d’énergie, il passe à la Phase de Recherche d’énergie :
une descente du gradient de marque.
Phase de Recherche d’énergie
Début
Si station de recharge est dans Voisinage Alors
Déplacer à la station
Sinon
m
min(Marque(Voisinage))
Pour chaque cellule c de Voisinage
Si Marque(c) = m Alors
ListeVois
ListeVois + c

CHU Hoang Nam


25


×