C RITÈ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 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 ó 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.
E NVIRONNEMENT
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 ằ
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
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 ó chaque cellule représente soit un lieu à visiter, soit un lieu inaccessible (mur, obstacle) (cf Figure 1)
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
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]
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:
• Être inaccessible (un obstacle, un mur …)
T RAVAUX 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.)
2 Approche par Systèmes multi-agents réactifs
I NTELLIGENCE COLLECTIVE (S WARM I NTELLIGENCE )
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’auto- organisation 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
• 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
P HÉ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é, ó 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 …).
EVAP : UN MODÈLE BASÉ SUR L ’ ÉVAPORATION DES PHÉROMONES
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 q 0 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
Expression du processus d’évaporation par une suite géométrique (avec q n 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
FPour nextCell ← cellule vers laquelle on irait en gardant le cap
Si nextCell appartient à listeVois et random(1) < p Alors allerVers(nextCell)
Pour chaque cellule c de l’env Faire
CLI N G : UN MODÈLE BASÉ SUR LA PROPAGATION D ’ INFORMATIONS
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 :
• 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)
Plus formellement, une cellule i portera une oisiveté propagée OP i en plus de son oisiveté individuelle O i Le gradient formé par l'oisiveté propagée est commun à toute la collectivité, cf
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
OP i =max i ,max , (eq 2) avec j les cellules voisines de i, et f la fonction de propagation :
( ) i j OP I ( ) j f , = j −α −β Si OP j −α −β I ( ) j ≥ OP min
= OP j 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 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]
OP min 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
FPour allerVers(Alea(listeVois)) Oisivete(cellCourante) 0
Pour chaque cellule c de l’env Faire
FPour Pour chaque cellule c de l’env Faire Calculer OisivetéPropagée de c
3 Comparaison les performances entre EVAP et
S IMULATION 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)
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
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
En effet, les valeurs d’oisiveté sont réparties selon une série linéaire dont la moyenne vaut valeur max / 2
Id le n e s s ( O is iv e té )
EVAP avgIdleness EVAP maxIdleness CLInG avgIdleness CLInG maxIdleness Optimal avgIdleness
Figure 4 : Topologie sans obstacles, 8 agents,
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
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 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
Id le n e s s ( O is iv e té )
EVAP avgIdleness EVAP maxIdleness CLING avgIdleness CLING maxIdleness avgIdleness optimale maxIdleness optimale
Figure 6 : Topologie couloir-salles, 1 agent, 4000 itération
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)
Id le n e s s ( O is iv e té )
EVAP avgIdle EVAP maxIdle CLInG avgIdle CLInG maxIdle avgIdle Optimal maxIdle Optimal
Figure 7 : Topologie 6-pièces, 4 agents, 2000 itérations
Figure 8 : Topologie 6- pièces, moyenne IGI
Le problème pour EVAP se situe au niveau des portes séparant deux pièces Un agent 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).
D ISCUSSION
Complexité
Nous avons identifié des topologies ó CLInG s’avère plus efficace de par cette propagation d’information Toutefois ce processus a un cỏ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 cỏ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 cỏteux en temps d’exécution.
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).
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
4 Problème d’énergie dans la patrouille
L IMITATION É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 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 Munoz- Mộ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.
MARKA : UN MODÈLE COLLECTIF BASÉ SUR LA CONSTRUCTION DE CHAMP NUMÉRIQUE POTENTIEL
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 val cellulesVo isinage val (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
Figure 11 : La formation de gradient des champs numériques
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 ằ
Patrouiller m min(Marque(Voisinage)) mc Marque(Cellule courante)
Une fois que l’agent a besoin d’énergie, il passe à la Phase de Recherche d’énergie : une descente du gradient de marque
Si station de recharge est dans Voisinage Alors
FSi FPour nextCell cellule aléatoire dans ListeVois
Estimation de l’autosuffisance
Un point remarquable de MARKA est la capacité pour un agent d’estimer l’énergie nécessaire pour aller à la station de recharge avant l’épuisement En effet, grâce à la marque sur l’environnement, l’agent peut savoir la distance relative entre sa position et la station de recharge la plus proche Il peut donc estimer si l’énergie restant lui permettre de retrouver la station
Soit e d , la quantité d’énergie baissant à chaque pas de temps, e c la quantité d’énergie restante, m c la marque sur la cellule courante, sc le pas de temps préventif Pour chaque pas de temps, l’agent calcule si c d c sc m e e − ≤ Dans ce cas, il passe à la Phase de Recherche d’énergie.
TANKER : UNE APPROCHE AUTO - ORGANISÉE COLLECTIVE POUR L ’ OPTIMISATION DE
Les forces attractives et répulsives
Du point de vue d’un agent, la force attractive est définie comme une force qui tire le Tanker vers lui Elle est représentée par un vecteur dont l’intensité est proportionnelle au poids de demande d’agent et à la distance entre l’agent et le Tanker De faỗon mộthodique, pour un Tanker A qui perỗoit une demande D avec le poids WD :
L’influence de l’attraction baisse quand le Tanker se déplace vers l’agent Dans notre contexte, W D est égal à 1 parce que les rôles et les demandes de tous les agents sont équivalents Pour un groupe d’agents, l’influence sur le Tanker est définie comme une somme des forces :
/ 1 n est le nombre d’agents perỗu par le Tanker A par le rayon d’attraction r a (Figure 12)
En conséquence le Tanker se déplace au barycentre des demandes, qui est la distance moyenne minimale à ses points
Figure 12 : Attraction guide le Tanker au barycentre des demandes
Dans le cas ó plusieurs Tankers appliquent un tel comportement, certains d’entre eux peuvent se déplacer à la même position Pour éviter ce problème, on utilise une force répulsive
L’intensité de la force répulsive est inversement proportionnelle à la distance entre les Tankers La Figure 13 illustre le processus de répulsion entre 2 Tankers
Figure 13 : Répulsion garde la distance entre Tankers A et B
Dans ce contexte, nous utilisons la formule suivante pour exprimer la force répulsive exercée par un Tanker B sur un Tanker A :
Donc, la force répulsive que le Tanker A doit subir est calculée comme suit (m étant le nombre des Tankers perỗu par le Tanker A par le rayon de rộpulsion r r ):
Le comportement final d’un Tanker est défini comme une somme des forces attractives et répulsives
Comportement du modèle (algorithme)
Si status(Tanker) = calcul Alors
Calculer l’attraction Calculer la répulsion Calculer le vecteur Move status(Tanker) deplace
Se déplacer à la cellule suivante à la direction de Move Déposer Phéromones Q 0
Le comportement des Tankers consiste en 2 tâches : le calcul des forces pour optimiser leur position et le dépôt des phéromones pour attirer les agents
Dans notre contexte, la vitesse de travail d’un Tanker est plus lente (plus précisément,
3 fois plus lente dans les expérimentations) que celle d’un agent travailleur Cette modification mène à une performance stable car dans notre contexte, les agents ne sont pas fixes (comme dans [11]) mais se déplacent rapidement
L’environnement réalise le processus de diffusion des phéromones déposées par les Tankers La diffusion est le phénomène qui propage de proche en proche une fraction de la quantité de phéromone initialement déposée dans une cellule La diffusion forme des équipotentielles circulaires centrées sur la cellule contenant le dépôt initial (Figure
Figure 14 : Diffusion en environnement discret
Soit q i , la quantité de phéromone présente sur la cellule i, n le nombre de cellules voisines et coefDiff, le coefficient de diffusion La loi d’évolution de q i est :
La diffusion des phéromones progresse d’une cellule par itération Au bout de k itérations, ce processus aura progressé de k cellules
Le comportement d’un agent se divise en 2 phases principales : une ô Phase de Patrouille ằ et une ô Phase de Recherche d’ộnergie ằ Dans les expộrimentations, nous la Phase de Recherche d’énergie : une montée du gradient de phéromones diffusées par l’environnement
Si Tanker est dans Voisinage Alors
Déplacer au Tanker pour recharger
Pour chaque cellule c de Voisinage
FSi FPour nextCell cellule aléatoire dans ListeVois
5 Performances de MARKA et TANKER
Les simulations ont été réalisées en utilisant le simulateur MadKit (www.madkit.org)
Les agents disposent d’une quantité d’énergie qui décroit lors de chaque action Nous étudions ces deux modèles sur un environnement de taille 20x20 cellules sans obstacle, sous 2 contextes différentes :
- Tâche simple: un groupe d’agents travaille dans l’environnement
- Tâche dynamique : multi-groupes d’agents travaillent dans différents régions dans l’environnement
Nous utilisons les critères suivants pour évaluer la performance des deux modèles :
• Recharge Time : nombre de fois ó l'agent est allé se recharger
• Total Step : temps total pour aller se recharger
• Average Step : temps moyen pour aller se recharger.
T ÂCHE SIMPLE
Figure 15 : MARKA et TANKER, 4 agents, 4000 itérations
La Figure 15 montre les performances obtenues avec 4 agents, 1 station de recharge / 1 tanker pour 4000 itérations (agents initialement positionnés aléatoirement) Ce graphique représente le Pas de temps Total, le Temps de recharge et le Pas de temps moyen pour les deux méthodes étudiées Nous choisissons le point central de l’environnement comme position de la station de recharge (pour MARKA) / position initiale de tanker (pour TANKER) car il s’agit du point optimal
En ce qui concerne le temps de recharge, on constate clairement un léger avantage pour l’algorithme MARKA C’est parce que les agents du modèle MARKA peuvent estimer si l’énergie restante est suffisante pour retourner à la station de recharge (cf section 4.2.3) Cependant, sur le pas de temps moyen, MARKA et TANKER s’avèrent être d’une même efficacité Un point remarquable de l’algorithme TANKER est que le tanker reste toujours au barycentre des agents travailleurs qui est la position optimale.
T ÂCHE DYNAMIQUE
Nous explorons maintenant le comportement des deux modèles sur un autre contexte de travail : l’environnement se compose de plusieurs régions à visiter, et il existe plusieurs groupes d’agents travaillant dans différentes régions Chaque groupe travaille sur une région donnée A certains points de la simulation, les agents passent à
Nous avons mesuré les performances des deux méthodes avec respectivement un et deux groupes d’agents, chaque groupe se composant de quatre agents (agents initialement positionnés aléatoirement) Le nombre de stations de recharge / tankers est égal au nombre de groupes Les stations de recharge / les tankers sont placés initialement comme sur la Figure 16
Figure 17 : MARKA et TANKER, 2 groupes, 4000 itérations
La Figure 17 présente les performances obtenues avec 2 groupes d’agents sur 4000 itérations En ce qui concerne le pas de temps total, l’algorithme TANKER est plus performant que MARKA Cet avantage est encore plus marqué sur le pas de temps moyen Ceci s’explique par la capacité de suivi des agents des tankers
En effet, partant de la position initiale, le tanker se dirige au barycentre des agents qui est la position d’équilibre des forces attractives des agents (cf Figure 18.b) lors du déplacement d’une région à l’autre, ce sont les forces attractives exercées par les agents qui attirent le tanker (cf Figure 18.c) Le tanker suit donc les agents et se place à nouveau au barycentre des positions (cf Figure 18.d) En outre, on observe qu’il n’y a pas de redondance des positions des tankers Ils se répartissent dans les groupes grâce à la force répulsive qu’ils exercent entre eux
A VANTAGES ET DÉFAUTS DES MODÈLES
MARKA est une solution efficace pour le problème d’énergie Un avantage de MARKA est la capacité d’estimation de l’autosuffisance d’agent qui est très importante dans ce problème En outre, cet algorithme peut même fonctionner dans un environnement avec obstacles Cependant, il pose encore des problèmes au niveau de la découverte des stations de recharge
Par contre, TANKER est plus performant que MARKA dans le contexte des travaux dynamiques (multi-groupes sur différents régions) Un point remarquable de TANKER est la capacité de suivi des agents, d’évolution vers une position optimale ainsi que la répartition dans les groupes d’agents des tankers La limitation de TANKER est sa faible capacité d’adaptation à des environnements complexes (avec obstacles, mur …)
Ce stage concernait l’étude de l’approche par l’intelligence collective du problème multi-agent de la patrouille dans un environnement inconnu De plus, un autre objectif de ce stage était d’intégrer la limitation d’énergie au problème de la patrouille et de proposer un algorithme qui permette aux agents de coordonner les activités de patrouille et de recharge
Nous avons effectué des tests comparatifs entre le modèle CLInG [16] et EVAP Cette étude expérimentale a montré l’intérêt d’une approche par l’intelligence collective :
• Simple mais efficace : Le comportement des agents est simple, mais les résultats obtenus sont très étonnants
• Convergence vers une performance stable
• Robustesse : Le système est capable de se réorganiser de lui-même pour s’adapter aux différentes configurations de la patrouille
Cette étude est présentée plus en détail dans un article accepté à la conférence IEEE ICTAI 2007 (International Conference on Tools with Artificial Intelligence)
Nous avons également proposé deux modèles, MARKA et TANKER, pour traiter le problème de la patrouille avec limitation d’énergie Les bonnes performances exhibées par TANKER montrent que c’est un modèle efficace pour la version dynamique et multi-groupes du problème de l’approvisionnement en énergie Ces résultats sont une validation de thèse de Moujahed et al
L’un des objectifs de la poursuite de ces travaux sur les modèles TANKER et MARKA est l’expérimentation réelle en utilisant les WIFIBots Cependant, le passage de la simulation à la réalité reste encore à l’heure actuelle un verrou tres fort Il est nécessaire d’approfondir de l’étude de TANKER et MARKA au niveau de la robustesse, de l’adaptation aux perturbations afin d’évaluer le comportement des robots De plus, une comparaison des performances avec des solutions centralisées serait intéressante et utile
Je trouve que les deux modèles MARKA et TANKER exhibent des caractéristiques appropriées au contexte du projet SCOUT (Survey of Catastrophes and Observation un Urban Territories) au VIETNAM Il sera donc nécessaire de poursuivre l’étude de l’adaptation de ces modèles au contexte de ce projet
[1] A Almeida, G Ramalho, H Santana, P Tedesco, T Menezes, V Corruble,
Y Chevaleyre, Recent Advances on Multi-Agent Patrolling, Proceedings of the 17th Brazilian Symposium on Artificial Intelligence, pp.474 – 483, 2004
[2] E Bonabeau, M Dorigo, G Theraulaz, Swarm Intelligence: From Natural to
Artificial Systems, Oxford University Press, 1999
[3] Y Chevaleyre, Le Problème Multiagent de la Patrouille, In Annales du
LAMSADE No 4, 2005 http://www.lamsade.dauphine.fr/~chevaley/papers/anna_patro.pdf
[4] Y Chevaleyre, Theoretical analysis of multi-agent patrolling problem,
Proceedings of the IEEE/WIC/ACM International Conference on Intelligent Agent Technology, pp.302 - 308, 2004
[5] H.N Chu, A Glad, O Simonin, F Sempé, A Drogoul, F Charpillet, Swarm approches for the patrolling problem, information propagation vs pheromone evaporation, IEEE International Conference on Tools with
[6] O Gérard, J-N Patillon, F d’Alché-Buc, Discharge Prediction of Rechargeable Batteries with Neural Networks, in Integrated Computer-
[7] F Lauri, F Charpillet, Ant Colony Optimization applied to the Multi-Agent Patrolling Problem, IEEE Swarm Intelligence Symposium, 2006
[8] K Kouzoubov, D Austin, Autonomous Recharging for Mobile Robotics,
Proceedings of Australian Conference on Robotics and Automation, 2002
[9] A Machado, G Ramalho, J.-D Zucker, A Drogoul, Multi-Agent Patrolling: an Empirical Analysis of Alternative Architectures, Proceedings of Multi- Agent Based Simulation, pp.155 – 170, 2002
[10] A Machado, A Almeida, G Ramaldo, J.-D Zucker, A Drogoul, Multi- Agent Movement Coordination in Patrolling, In 3 rd International Conference on Computers and Games, 2002
[11] A Muủoz-Melộndez, F Sempộ, A Drogoul, Sharing a charging station without explicit communication in collective robotics, Proceedings of the 7 th
International Conference on Simulation of Adaptive Behavior on From Animals to Animals, pp 383 – 384, 2002
[12] S Moujahed, O Simonin, A Koukam, Location Problems Optimization by a
Self-Organizing Multiagent Approach, in MAGS International Journal on
Multigent and Grid Systems (IOS Press), Special Issue on Engineering Environments For Multiagent Systems, 2007
[13] L Panait, S Luke, A pheromone-based utility model for collaborative foraging, Proceedings of the International Conference on Autonomous
Agents and Multiagent Systems (AAMAS), pp.36 – 43, 2004
[14] H.V Parunak, M Purcell, R O’Connell, Digital Pheromones for Autonomous coordination of swarming UAV’s, Proceedings of AIAA First
Technical Conference and Workshop on Unmanned Aerospace Vehicles, Systems, and Operations, 2002
[15] H.Santana, G.Ramalho, V Corruble, R Bohdana Multi-Agent Patrolling with Reinforcement Learning, Proceedings of the 3 rd International Joint Conference on Autonomous Agents and Multi-Agent Systems, pp.1122-
[16] F Sempé, Auto-organisation d'une collectivité de robots: application à l'activité de patrouille en présence de perturbations, PhD Thesis Université
[17] F Sempé, A Drogoul, Adaptive Patrol for a Group of Robots, Proceedings of the 2003 IEEE/RSJ, Intelligence Robots and Systems, Las Vegas, Nevada, pp 2865 – 2869, 2003
[18] M Silverman, D M Nies, B Jung, and G S Sukhatme, Staying alive: A docking station for autonomous robot recharging, Proceedings of the IEEE
International Conference on Robotics and Automation, Washington D.C., pp
[19] O Simonin, F Charpillet, E Thierry, Collective construction of numerical
[20] I.A Wagner, M Lindenbaum, A.M Bruckstein, Distributed Covering by Ant-Robots using Evaporating Traces, IEEE Transactions on Robotics and
[21] P Zebrowski, R T Vaughan, Recharging Robot Teams: A Tanker Approach, Proceedings of the International Conference on Advanced
Swarm Approaches for the Patrolling Problem, Information Propagation vs Pheromone Evaporation
Hoang-Nam Chu 1,2 , Arnaud Glad 1 , Olivier Simonin 1 , Franỗois Sempộ 2 ,
1 MAIA, INRIA Lorraine, Campus scientifique, BP 239, 54506 Vandœuvre-lès-Nancy, France
2 Institut Francophone pour l’Informatique, Hanọ, Vietnam
3 IRD - Institut de Recherche pour le Développement, Bondy, France {hoangnam.chu, arnaud.glad, olivier.simonin, francois.charpillet}@loria.fr francois@ifi.edu.vn, drogoul@mac.com
This paper deals with the multi-agent patrolling problem in unknown environment using two collective approaches exploiting environmental dynamics After specifying criteria of performances, we define a first algorithm based only on the evaporation of a pheromone dropped by reactive agents (EVAP) Then we present the model CLInG [17] proposed in 2003 which introduces the diffusion of the idleness of areas to visit We systematically compare by simulations the performances of these two models on growing- complexity environments The analysis is supplemented by a comparison with the theoretical optimum performances, allowing to identify topologies for which methods are the most adapted
Keywords: Multi-agent patrolling, reactive multi- agents system, digital pheromones
Patrolling consists in deploying a set of agents (robots) in an environment in order to visit regularly all the accessible places [5]
This problem was studied in recent years according to centralized, heuristic and distributed approaches, but always within a discrete representation of the environment, i.e a graph A vertex is a predetermined place that should be visited and an edge is a valid path linking two places Thus, various work based on graph search algorithms have been proposed, often deriving from the problem of the traveling salesman (cf [1] for a presentation of these various techniques and their comparison) For instance Lauri and Charpillet [4] proposed a solution relying on ACO algorithms (ants colonies optimization) which requires a representation of the environment through a graph
There are also approaches based on learning techniques (e.g [8]) They consist in computing offline an optimal multi-agent path, which is then carried out online in the considered environment Consequently, this type of solution is not able to self-adapt to online changes of the problem/environment, such as variations of the number of agents or moves of obstacles, etc
Moreover, these approaches are subject to combinatory explosion when the graph size becomes important (several hundreds of nodes) or when the number of deployed agents increases
However, nowadays, many concrete applications present the patrolling problem on large spaces, known or unknown, with a significant number of agents
(drones deployed to supervise a strategic place, patrolling of buildings by mobile robots, etc.)
So, to deal with such a configuration of the problem (unknown environments) we think that swarm intelligence could be an efficient approach It is generally based on the marking of the environment, inspired by the ants’ pheromone drop, which defines an indirect calculation and means of communication among the agents [2]
These digital pheromones rely on two processes calculated by the environment: the diffusion and the evaporation of information (pheromone’s quantity)
The diffusion process enables the propagation of the information by effect of vicinity, while evaporation allows removing gradually the information
Sempé et al [10] proposed in 2003 an algorithm named CLInG exploiting the propagation of information, which is close to the diffusion process, showing the interest of an approach based on an active environment However this approach appears relatively expensive as it exploits processes of propagation and of counting in the environment (idleness evaluation)
Thus we propose in this article another algorithm based only on the evaporation of a digital pheromone laid down by agents, named EVAP model
Our objective is to compare these two collective techniques, which are based on an active environment, but having different complexity, in order to better understand the functioning and the performances of these stigmergic principles
The article is organized as follows Section 2 defines the patrolling problem and gives the performance criteria In section 3 we present the EVAP model, and in section 4 the CLInG model Section 5 presents experimentation of both models, where they are compared and analyzed on environments with an increasing complexity In section 6 we synthesize these results to draw the interest of the two approaches
Finally this work ends with a conclusion and presents some perspectives
2 The multi-agent patrolling problem
Patrolling consists in deploying several agents, generally in a fixed number, in order them to visit the strategic places of an area periodically It aims at obtaining reliable information, seeking objects, watching over places in order to defend them for any intrusion, etc
An efficient patrol in an environment (possibly dynamic) needs the delay between two visits of the same place to be minimal Related works on multi- agent patrol strategies consider that the environment is known, two-dimensional and that it can be reduced to a graph G (V, E) (V the set of the nodes to be visited, E the arcs defining the valid paths between nodes)