Mon stage se concentre sur l’augmentation du réalisme de la simulation AROUND, en implémentant la coordination entre les agents pour gérer les conflits, et en améliorant les comportement
Trang 1Apprentissage interactif et Coordination d’agents
Mémoire de fin d’étude Master Informatique option IA & Multimédia
PHAM PHUONG THAO
Trang 2Remerciements
Je tiens tout d’abord à remercier Alexis Drogoul pour m’avoir proposé ce sujet et pour son encadrement dévoué durant tout mon stage Mes remerciements vont aussi à Chu Thanh Quang et Vo Duc An du laboratoire MSI pour leur support, leur aide chaleureuse et les documents qu’ils m’ont fournis
Merci à Patrick Taillandier et Bertrand Chaussat pour leurs conseils et leur aide sur les SIG
Je remercie tous mes camarades de la promotion 13 pour leur amitié et leur support pendant les deux années passées à l’IFI
Je souhaite remercier ma mère, ma sœur et également la famille de Fabrice pour leur soutien, leur attention et pour m’avoir encouragé tout au long de mes études et de mon stage, à Hanoi et à Bondy
Enfin, je voudrais remercier particulièrement Fabrice Trillaud pour son aide précieuse et son soutien
de chaque instant.
Trang 3Résumé
Le projet AROUND (Autonomous Robots for Observation of Urban Networks after a Disaster), un des projets principaux du laboratoire MSI à l’IFI, se propose de concevoir et d’implémenter un système complet d’aide à la décision en temps-réel pour la gestion des catastrophes naturelles en milieu urbain
Mon stage se concentre sur l’augmentation du réalisme de la simulation AROUND, en implémentant la coordination entre les agents pour gérer les conflits, et en améliorant les comportements d’apprentissage en ligne Il s’intéresse aussi à l’initialisation de la simulation
à partir de scénarios réalistes Pour gérer les conflits dans la prise de décision des agents, j’ai proposé deux approches : le modèle centralisé et le modèle décentralisé Pour améliorer l’apprentissage en ligne des agents, j’ai implémenté un mécanisme de diffusion de connaissances par la communication
Mots-clés : Apprentissage interactif, décision multi-critères, fonction d’utilité, système
d’aide à la décision, coordination entre les agents
Abstract
The project AROUND (Autonomous Robots for Observation of Urban Networks after a Disaster), one of the principal and important projects of the laboratory MSI at IFI, intend to conceive and implement a complete decision support system in real time for managing the natural catastrophe in the urban area
My work focuses on increasing the realism of the simulation AROUND, by implementing the coordination between the agents to manage conflicts, and by improving on-line learning behaviors I also worked on the simulation’s initialization, based on realistic scenarios To manage the conflicts between the decisions taken by different agents, I proposed two approaches: the centralized model and the decentralized model To improve the on-line learning, I built a learning diffusion mechanism through communication
Keywords: Interactive learning, multi-criteria decision, utility function, decision support
system, coordination between agents
Trang 4
Table des matières
Remerciements 2
Résumé 3
Abstract 3
Table des matières 4
Table des figures 6
Liste des tableaux 7
I Introduction 8
1 Objectif du stage 8
2 Modèle AROUND-RESCUE 9
II Coordination entre les agents dans le système de secours en cas de catastrophe 14
1 Problème de coordination 14
2 Technique de coordination commune 16
a Structure Organisationnelle : 16
b Echange de méta-information 16
c Planification Multi-Agent 17
3 Problème de coordination dans AROUND-RESCUE 19
4 Deux modèles proposés pour gérer les conflits dans AROUND-RESCUE 21
a Modèle de décision décentralisée 21
b Modèle de décision centralisée 25
5 Expérimentations 27
a Comparaison des temps d’exécution 27
b Comparaison de la gestion de conflits 32
c Conclusions expérimentales 33
III Apprentissage interactif dans le système multi-agents 34
1 Problème de l’apprentissage dans AROUND-RESCUE 34
a Fonction d’utilité et ensemble de critères de décision 34
b Apprentissage interactif par le modèle de « préférence additive » 35
c Limites de l’existant 36
2 Approche pour le partage intelligent de connaissance entre les agents 38
a Implémentation de l’action de décision dans GAML 38
b Critères « collectifs » de décision des agents dans AROUND-RESCUE 39
Trang 5c Diffusion et partage de connaissance 41
3 Expérimentations 43
a Exécution de la nouvelle action « choose » 43
b Comparaison de la performance des deux actions « choose » dans GAML 45
c Comparaison de la performance avec des zones de diffusion différentes 46
d Comparaison les méthodes d’initialisation de fonction d’utilité 50
IV Conclusion et perspectives 52
Références 54
Trang 6Table des figures
Figure 1 : L’interface de la simulation AROUND-RESCUE 9
Figure 2 : L’indicateur « Victims » 12
Figure 3 : L’indicateur « Fires » 13
Figure 4 : Conflits entre les ambulances dans le modèle de VO Duc An 20
Figure 9 : Le temps total nécessaire (en millisecondes) pour charger et sauver les victimes 28
Figure 10 : Le temps total nécessaire (en cycles de simulation) pour charger et sauver les victimes dans les deux modèles de décision 29
Figure 11 : L’indicateur du nombre de victimes sur le terrain, mortes, dans l’ambulance et à l’hôpital 30
Figure 12 : Volume de communication entre les agents dans AROUND-RESCUE 31
Figure 13 : Un exemple de conflits dans AROUND-RESCUE 32
Figure 14 : Le nombre de conflits dans les deux modèles de décision 32
Figure 17 : L’ambulance va chercher la victime victim10125 43
Figure 18 : l’ambulance va chercher la victime victime10125 44
Figure 19 : l’ambulance va chercher la victime victime10169 44
Figure 20 : La comparaison de la performance de deux actions « choose » dans GAML 45
Figure 21 : La différence de la fonction d’utilité des ambulances et celle des experts 49
Figure 22 : Pourcentages de conflits entre les décisions des agents et ceux de l’expert 50
Figure 23 : Les différences entre la fonction des agents et celle de l’expert 51
Figure 24 : Les proportions de conflits des décisions des agents sur ceux des décisions de l’expert 51
Figure 5 : Les tâches des agents dans le modèle décentralisé d’AROUND-RESCUE 22
Figure 6 : Diagramme de la diffusion de la décision de cible d’une ambulance 23
Figure 7 : Diagramme de la réponse de la diffusion de la décision de cible d’une l’ambulance 24
Figure 8 : Les tâches des agents dans le modèle centralisé d’AROUND-RESCUE 25
Figure 15 : Diffusion de la fonction d’utilité aux ambulances 41
Figure 16 : La mise à jour de la fonction d’utilité d’une ambulance 42
Trang 7Liste des tableaux
Tableau 1 : Les espèces d’agents dans la simulation AROUND-RESCUE 11
Tableau 2 : Les paramètres principaux de la simulation AROUND-RESCUE 12
Tableau 3 : Les paramètres d’expérimentation de la simulation AROUND-RESCUE 27
Tableau 4 : Le nombre de conflits dans la simulation AROUND-RESCUE 32
Tableau 5 : L’ensemble de critère de décision d’une ambulance A pour choisir une victime V 34
Tableau 6 : Les critères de décision des ambulances pour le choix des victimes 40
Tableau 7 : Les critères de décision des pompiers pour le choix des incendies 41
Tableau 8 : Les temps d’exécution et la différence 46
Trang 8L’apprentissage actuel ne prend cependant pas en compte les dimensions collectives de compétition et de coordination entre équipes de secours Les critères utilisés
ne portent en effet que sur la localisation et la gravité des victimes reportées, ainsi que sur
la localisation et la disponibilité des centres de soins existants, mais pas sur l’activité parallèle des autres agents de la simulation D’autre part, les comportements appris par une équipe de secours ne sont pas partagés avec les autres agents
De plus, la communication est déjà implémentée dans la plate-forme GAMA [2]
comme un outil efficace pour échanger les informations entre les agents Mon sujet de stage se concentre sur la mise en place d’un mécanisme pour améliorer la performance et
le réalisme de la simulation AROUND-RESCUE Il faut développer :
- un ensemble de critères « collectifs » permettant de prendre en compte dans l’apprentissage la localisation et la disponibilité des autres équipes de secours ;
- une méthode de communication permettant aux agents de partager intelligemment les modèles de décision appris ;
- une méthode de coordination ou de négociation, s’appuyant sur les mécanismes
de communication, et permettant de régler les éventuels conflits entre les agents possédant des modèles de décision différents
L’ensemble sera réalisé au sein de la plate-forme GAMA, développée au sein de l’équipe MSI et de l’UR Geodes, et sur laquelle fonctionne la simulation actuelle
Mon stage se déroule sous la direction du professeur Alexis DROGOUL et reprend les travaux de Chu Thanh Quang et Vo Duc An, deux thésards du laboratoire MSI
Ce rapport présente mes recherches et mes expérimentations au cours du stage en quatre parties La première est l’introduction générale du stage et la description de la simulation
Trang 9AROUND-RESCUE La deuxième partie parle de la coordination dans le système de secours
en cas de catastrophe, les techniques principales existantes et la solution apportée pour la coordination des agents Le problème d’apprentissage est présenté dans la troisième partie, ainsi que les expérimentations pour le mécanisme de partage et de diffusion de connaissances Enfin ce rapport parle en conclusion des perspectives envisagées pour la simulation
2 Modèle AROUND-RESCUE
Le modèle AROUND-RESCUE est développé pour simuler les activités de secours terrestres après un tremblement de terre La simulation a été créée pour la première fois par Alexis Drogoul et Chu Thanh Quang [1] Ils ont implémenté à ce moment un modèle simple
de prise de décision dans les comportements des agents Ce modèle a été ensuite amélioré par Vo Duc An [2] en y ajoutant la communication et la coordination entre les agents
L’initialisation de la simulation est en cours d’amélioration par Bertrand Chaussat, qui intègre le calcule des positions des victimes et des incendies en se basant sur le niveau de dommages des bâtiments après le tremblement de terre Le projet est toujours en cours de recherche par les thésards et les stagiaires de MSI
Figure 1 : L’interface de la simulation AROUND-RESCUE
Trang 10Après un tremblement de terre, les bâtiments sont détruits, les habitants sont coincés et blessés dans les effondrements de béton et de briques Des incendies se déclenchent également L’organisation des secours dans les quartiers détruits est effectuée au minimum par la police, les pompiers, les hôpitaux et les ambulances Les espèces d’agents de la simulation se composent donc de :
La description de chaque espèce est présentée dans le tableau suivant :
Espèce Représentation Comportements Tâches
son état de santé s’aggrave au cours du temps Si une victime n’est pas prise à l’heure par une ambulance, elle meurt sur le terrain Si une victime est dans une ambulance ou dans un hôpital, son état de la santé s’améliore au fur
et à mesure
charge par des pompiers, son intensité augmenté au cours du temps Ou inversement, l’intensité d’un incendie diminue en fonction
du nombre de voitures des pompiers qui sont en train de l’éteindre
3 military Polygone
marron
situated, communicating, visible, planning
Un agent de cette espèce représente une caserne Une caserne est responsable de fournir
de l’eau aux pompiers Et chaque militaire s’occupe aussi une équipe d’explorateurs
Trang 114 explorer situated, visible,
communicating, exploring
Les explorateurs patrouillent dans le quartier et ramassent les informations des victimes et des incendies
moving, communicating
Les pompiers sont responsables d’aller chercher les incendies et les éteindre Cette espèce a un attribut qui représente la capacité d’eau de chaque agent La quantité d’eau d’un pompier diminue au cours du temps quand il éteint un incendie
Dès qu’un pompier n’a plus d’eau,
il va à une caserne pour prendre
de l’eau
6 hopital Polygone vert situated, visible,
carrying, communicating
Un hôpital se charge de prendre et de soigner les victimes déposées par les ambulances
carrying, choosing, communicating
La tâche principale d’une ambulance est d’aller prendre les victimes sur le terrain puis de les déposer dans un hôpital Une ambulance a une capacité qui représente le nombre de victimes qu’elle peut contenir
Tableau 1 : Les espèces d’agents dans la simulation AROUND-RESCUE
Les paramètres principaux pour initialiser la simulation sont:
quartier après le tremblement de terre
victimes sur le terrain initial
d’incendies initial
d’explorateurs par caserne
Trang 12pompiers par caserne
d’ambulances par hôpital
Tableau 2 : Les paramètres principaux de la simulation AROUND-RESCUE
Le but de la simulation AROUND-RESCUE est de modéliser et évaluer les activités des secours (sauvetages des victimes, transferts aux hôpitaux, extinction des incendies…) après
un tremblement de terre Il est nécessaire d’ajouter un certains indicateurs pour suivre l’état
de l’environnement de simulation
- L’indicateur « Victims » fait des statistiques sur les victimes selon 4 données: le nombre de victimes sur le terrain, le nombre de victimes chargées dans l’ambulance, le nombre de victimes à l’hôpital et le nombre de victimes mortes
Ces statistiques sont présentées sous forme d’un diagramme linéaire
Figure 2 : L’indicateur « Victims »
- L’indicateur « Fires » calcule le pourcentage d’incendies en cours et le pourcentage d’incendies éteints sous forme d’un diagramme circulaire
Trang 13Figure 3 : L’indicateur « Fires »
Trang 14II Coordination entre les agents dans le système de secours en cas de catastrophe
1 Problème de coordination
Dans un système multi-agents, chaque agent représente un individu ou une organisation et agit de manière autonome dans son environnement afin d’atteindre ses objectifs Un système multi-agent est un système distribué composé d’un ensemble d’agents interagissant, hétérogènes et coopératifs ou non L’environnement d’un système multi-agents peut être dynamique et partagé Les agents sont implémentés avec des buts différents, il est donc possible qu’ils ne partagent pas des objectifs communs Les agents doivent mettre au point des stratégies afin d’atteindre les résultats voulus, et avoir la capacité de coordonner dynamiquement leurs activités et de coopérer avec les autres De nombreux exemples de coordination existent dans la vie quotidienne: deux déménageurs déplaçant un meuble lourd, une équipe de football échange la balle pour marquer des buts
et gagner le match, des personnes qui parlent à tour de rơle en se passant un micro, etc La coordination entre les agents est donc un processus très important dans lequel un agent doit analyser sa propre activité et les activités des autres pour essayer d’assurer une action cohérente de la communauté [4]
Il y a quatre raisons principales pour lesquelles les actions des agents ont besoin
d’être coordonnés :
- Parce qu’il existe des dépendances entre les actions des agents
L’interdépendance arrive quand les buts entrepris par les agents sont relatifs Soit parce que les décisions locales prises par un agent ont un impact sur les décisions des autres membres
de la communauté (par exemple en construisant une maison, les décisions de la taille et la position des chambres ont un impact sur l’installation électrique et la plomberie), soit parce que les interactions des différents agents sont incompatibles (par exemple si deux véhicules essayant de passer dans une sortie étroite simultanément, cela entraỵnera une collision qui endommagera les deux véhicules et bloquera la sortie) Les dépendances entre actions,
plans ou buts de chaque agent apportent toujours des conflits potentiels
- Parce qu’il a besoin de satisfaire des contraintes globales
Les contraintes globales existent lorsque la solution développée par un groupe d’agents doit satisfaire un certain nombre de conditions tel que le cỏt, le temps, l’espace,…, pour être un succès Par exemple : un budget maximal pour la construction d’une maison, un système de surveillance distribué doit pouvoir réagir toutes les 30 secondes, etc Si un agent individuel agit de manière isolée, et essaie de n’optimiser que ses performances locales, la satisfaction
de telles contraintes est improbable
Trang 15- Parce qu’aucun individu n’a les compétences, les ressources, ou les informations
suffisantes pour résoudre le problème de lui-même
Beaucoup de problèmes ne peuvent pas être résolus par les individus travaillant en isolation, parce que ils ne possèdent pas les compétences, les ressources ni les informations suffisantes On peut donner comme exemple des tâches de levage d’objets lourds, jouer une symphonie, jouer au football, ou n’importe quelle tâche en équipe Il peut être irréaliste ou indésirable de vouloir réunir en une seule entité tous les composants nécessaires, à cause
de contraintes historiques, politiques, physiques ou sociales Les alliances provisoires par la coordination sont donc le seul moyen de traiter ces problèmes Les différentes compétences ont besoin d’être combinées pour produire un résultat dépassant le cadre d’un seul individu Par exemple : dans le domaine du diagnostic médical, les connaissances des maladies cardiaques, des troubles de la circulation et des troubles respiratoires ont besoin d’être combinés pour diagnostiquer une maladie Les différents agents peuvent posséder des ressources variées et différentes (la puissance de traitement, la mémoire et la communication) qui sont toutes importantes pour résoudre un problème complexe Enfin, les agents différents ont peut-être des informations ou des points de vue différents Par exemple, dans le domaine du génie logiciel, un produit peut être vu sous la perspective de
l’analyse, de la conception, d’implémentation, du test ou de la maintenance du logiciel
- Parce que la performance, l’efficacité du système ont besoin d’être augmentées
Chaque problème n’a pas simplement besoin d’être résolu de façon correcte, mais également d’une manière efficace Dans le cas du levage d’un objet lourd, un déménageur seul a la capacité de bouger l’objet en deux minutes Mais si deux déménageurs travaillent ensemble, ils peuvent le déplacer plus facilement : le temps nécessaire pour terminer la tâche diminue donc par exemple à une minute Dans le cas de l’analyse d’un terrain pour localiser les obstacles, un ensemble de robots communicant peut finir le parcours plus vite qu’un seul robot Même si les individus peuvent travailler indépendamment, ou si la coordination n’est pas essentielle, les informations, les compétences d’un seul agent peuvent être suffisantes pour atteindre le but, mais deux agents peuvent résoudre le problème deux fois plus rapidement Comme tous les membres de la communauté ne peuvent pas avoir une perspective complète et précise du système dans son ensemble, la cohésion est une méthode pouvant facilement augmenter et assurer l’efficacité d’un système
La coordination est un processus permettant d’organiser la résolution d’un problème
de telle sorte que les interactions nuisibles soient évitées et que les interactions bénéfiques soient exploitées
Trang 162 Technique de coordination commune
Dans cette section, les trois mécanismes les plus communs de gestion de la coordination sont présentés : Structure Organisationnelle, Echange de Méta-Information
(Meta‐Level Information Exchange) et Planification Multi-Agent (Multi-Agent Planning)
a Structure Organisationnelle :
La Structure Organisationnelle est un modèle des relations d’information et de contrôle qui existent entre les individus dans la communauté Les relations de contrôle peuvent être hiérarchiques ou plates Elles indiquent l’autorité relative des agents et déterminent les types d’interaction sociale possibles Par exemple : dans la conception d’une communauté d’agents pour diagnostiquer les erreurs dans un réseau électrique (Cockburn
et Jennings, 1995), le concepteur du système peut spécifier une organisation fonctionnelle (l’agent 1 s’occupe des problèmes en haute tension, pendant que l’agent 2 s’occupe des problèmes en basse tension), ou une organisation spatiale (l’agent 1 traite les défauts
électriques dans la région 1 et l’agent 2 traite les défauts électriques dans la région 2)
Les relations spécifiées par la structure organisationnelle donnent des informations sur les agents et ainsi sur communauté en général à long-terme Elles aident le processus de coordination en spécifiant de quelles actions se chargera un individu et en fournissant une méthode de partition de l’espace de recherche Chaque agent décide de la zone de l’espace
de recherche à explorer en se basant sur ses points de vue locaux et ses connaissances organisationnelles des rôles dans la communauté Dans ce contexte, la coordination consiste
en deux activités simultanées: la construction et la maintenance de la structure organisationnelle de la communauté, et le raffinement continu de cette structure en activités précises, en utilisant les connaissances locales et les capacités de contrôle de chaque agent L’organisation elle-même est spécifiée comme un ensemble de zones d’intérêt, et un ensemble de priorités Le premier indique quelle information sera envoyée, quand et à qui, le deuxième indique comment évaluer l’importance du traitement des différents types de buts Les relations d’autorité indiquent les priorités relatives qui
devraient être attachées pour différencier les buts globaux des buts locaux
On peut voir que cette technique est implémentée dans le modèle de Vo Duc An [2]
La carte, qui est ici l’espace de recherche, est divisée en plusieurs zones Chaque explorateur s’occupe d’une seule zone Il s’agit ici d’une relation plate
L’échange de méta-information, également appelée Planification Partielle Globale (Partial Global Planning), est un système dans lequel les agents construisent et partagent leur plans locaux de façon à identifier les améliorations potentielles pour la coordination
Trang 17[Durfee, 1995] Comme indiqué dans la section précédente, les agents n’ont pas connaissance de l’intégralité l’environnement et du le système, ils peuvent donc s’aider en partageant leurs propres informations et en les combinant pour élaborer une vue plus large
du problème
La Planification Partielle Globale est une approche flexible qui permet aux divers agents d’un système de se coordonner dynamiquement Les agents interagissent en se communiquant leurs plans et leurs buts selon un niveau d’abstraction approprié Ces communications permettent à chacun d’anticiper quelles seront les actions futures d’un ou
de plusieurs autres agents, augmentant ainsi la cohérence de l’ensemble des agents Comme les agents coopèrent, le receveur d’un message peut utiliser les informations reçues afin d’ajuster sa propre planification
La Planification Partielle Globale implique trois étapes itératives : [1] Chaque agent décide de ses buts propres, et gère des plans à court-terme afin de les atteindre
[2] Les agents échangent leurs informations pour déterminer sur quels points les plans et les buts interagissent
[3] Les agents modifient leurs plans locaux afin de mieux coordonner leurs activités propres
L’échange de méta-informations est une source de connaissance à moyen-terme : plus court que la Structure Organisationnelle, mais plus long que la Planification Multi-Agent (section 2.c) Elle améliore la coordination seulement au niveau ó les informations sont encore correctes, car des informations inexactes peuvent être plus nuisibles que l’absence d’information Ainsi, lorsqu’un agent s’engage à remplir une mission dans une zone particulière de l’espace de recherche, l’échec de cette mission aura peut-être pour résultat
la propagation d’informations trompeuses ou mensongères au cœur du réseau De plus, les engagements ne sont pas irrévocables, les conventions sont donc nécessaires pour surveiller leurs progressions Avec l’approche PPG, les agents modifient souvent leurs plans locaux : soit parce que de nouvelles tâches arrivent, soit parce que les actions prennent plus de temps que prévu et leurs engagements ont donc besoin d’être actualisés Si toutefois chaque agent informe les autres de ces changements, il peut provoquer une réaction en chaỵne de diffusion à travers le système Les agents adoptent une convention implicite dans laquelle ils informent leurs connaissances seulement quand la déviation est considérée signifiante
Trang 18que chaque agent devrait prendre à chaque instant La planification multi-agent est typiquement construite pour éviter les actions incohérentes ou les conflits, en particulier
concernent la consommation des ressources rares
La Planification Multi-Agent est différente de deux premières approches en termes
de niveau de détail des activités des agents Un agent connait exactement à l’avance quelles actions il réalisera, quelles actions relations réaliseront et quelles interactions vont se produire Avec d’une telle spécification exhaustive des comportements, les plans ne peuvent
se faire qu’à court-terme à cause des évènements dynamiques et imprévisibles dans l’environnement Comme la construction de plan doit tenir compte de tous les choix possibles pour les agents, cette approche a généralement besoin de plus de ressources matérielles et de communications que les deux autres mécanismes
(Polycarpou, Yang et Passino, 2001) ont présenté une approche de coordination en utilisant la Planification Multi-Agent pour les agents distribués et le on-line learning pour chercher les cibles d’intérêts et éviter les obstacles [5] A chaque moment, quand un agent est à la position p(k), il a déjà décidé les q positions suivantes : p(k+1), p(k+2) …, p(k+q)
Quand l’agent se déplace de p(k) à p(k+1), il sélectionne la position p(k+q+1) Un agent a toujours en mémoire un plan de ses futures positions Les agents utilisent également une fonction d’utilité pondérée pour sélectionner leur plan :
J = w 1 J 1 + w 2 J 2 +… w s J s
Où Ji sont les sous-buts et wi sont les poids de chaque sous-but Les sous-buts sont :
Suivre le parcours contenant un maximum d’incertitude dans la carte de recherche
Suivre le parcours qui mène à la région avec une incertitude maximum dans la carte
de recherche
Suivre le parcours ayant le minimum de chevauchements avec ceux des autres agents
Suivre le parcours qui maximise la couverture des cibles de plus haute priorité
Suivre le parcours vers les cibles les plus prioritaires avec le plus de certitude si son carburant est bas
Suivre le parcours vers les présentant les moins de chevauchements avec les parcours des autres agents
Par communication avec les autres, un agent va connaitre leurs positions pour les pas suivants et leurs directions principales
q-En général, il y a deux approches élémentaires pour la Planification Multi-Agent :
Trang 19- Centralisé : les plans des agents individuels sont développés séparément et envoyés à
un coordinateur central qui les analyse pour identifier les interactions potentielles
Ensuite le coordinateur communique ces plans aux agents pour leur permettre de synchroniser leurs actions convenablement
- Distribué : le plan est développé par un ensemble d’agents Aucun agent n’a
connaissance des activités de toute communauté, ainsi la détection et la résolution des conflits deviennent plus difficiles
3 Problème de coordination dans AROUND-RESCUE
La coordination dans AROUND-RESCUE a été implémentée au cours du stage de fin d’études de Vo Duc An, en 2008 La communication est utilisée pour transporter et échanger les informations entres les agents Les points principaux dans la coordination de ses travaux sont décrits ainsi:
- Division en équipe et Contrôle centralisé : Les agents comme les explorateurs, les
ambulances et les pompiers sont divisés en équipes Chaque caserne possède sa propre équipe d’explorateurs, ainsi qu’une équipe de pompiers Chaque hôpital a également sa propre équipe d’ambulances Les casernes s’occupent d’attribuer les tâches à leurs propres explorateurs et pompiers De même les hôpitaux déterminent les cibles de leurs propres ambulances Les ambulances ne se déplacent pas si leur hôpital ne leur indique pas quelle victime aller chercher
- Partition de l’environnement : Le point principal est ce que chaque agent est
responsable d’une région ou une zone Dans le plan (quartier Ba Dinh par exemple),
on a plusieurs casernes Une caserne se charge d’une zone du plan Dès que le tremblement de terre a lieu, la caserne demande à chaque explorateur dans son équipe d’aller faire une patrouille dans sa zone Chaque explorateur fait la patrouille sur des routes données par sa caserne Quand l’explorateur voit des victimes ou des incendies, il envoie ces informations à sa caserne
- Diffusion des informations : Les informations des victimes et des incendies sont
collectées par les explorateurs et transférées aux militaires pour les traiter Les informations sur les victimes sont alors transférées aux hôpitaux Les informations sur les incendies sont traitées par les militaires, et envoyées aux pompiers pour organiser les interventions A chaque fois qu’une victime est récupérée ou un incendie éteint, une confirmation est diffusée vers tous les autres agents concernés
Dans le modèle de Vo Duc An, les conflits créés par exemple lorsque plusieurs ambulances ou pompiers vont chercher la même cible sont éliminés grâce à la communication Les victimes sont distribuées aux hôpitaux par les militaires en fonction de
la distance entre chaque victime et chaque hôpital Les victimes sont à nouveau distribuées
Trang 20aux ambulances dans l’ordre de réception La première victime détectée sera ainsi récupérée en priorité
Figure 4 : Conflits entre les ambulances dans le modèle de VO Duc An
Les conflits sont significativement réduits mais ne sont pas éliminés complètement
Chaque hôpital gère correctement les conflits au sein de son équipe, mais il existe des conflits entre les ambulances dépendantes d’hôpitaux différents Comme dans la figure 4, on remarque deux cas dans lesquels deux ambulances vont chercher la même victime De plus
la méthode de sélection des cibles chez les militaires et les hôpitaux est encore assez simple
Elle n’est pas flexible et ne tient pas compte des circonstances globales et locales de chaque agent dans l’environnement Par exemple : la gravité de victime, la distance entre les victimes et les ambulances, l’importance des incendies, la densité de distribution des victimes ou des incendies Dans le cas des agents intelligents du modèle de Chu Thanh Quang (section III), cette coordination doit être améliorée pour s’adapter à la décision des agents et pour augmenter la performance de la simulation
Trang 214 Deux modèles proposés pour gérer les conflits dans AROUND-RESCUE
Dans cette section, deux modèles de coordination sont proposés afin de gérer les conflits dans la distribution des missions entre les agents dans AROUND-RESCUE : le modèle
de décision décentralisée et le modèle de décision centralisé Ces deux modèles ne sont pas totalement identiques aux modèles présentés dans la partie « Planification Multi-Agent » Ils sont modifiés en combinant les trois techniques pour s’adapter au contexte de la simulation
de secours
Les agents qui jouent le rôle le plus important dans la coordination sont les explorateurs, les ambulances et les pompiers Ces trois espèces d’agents interagissent pour contrôler la recherche et le secours dans AROUND-RESCUE La répartition des tâches entre chaque espèce est décrite dans le schéma ci-dessous :
Dans ce modèle, l’organisation des agents n’est pas importante car tous les agents d’une même espèce jouent les mêmes rôles Leurs actions et leurs décisions sont égales dans la coordination Il n’y a aucun agent global contrôlant un groupe d’agents ou toute la communauté
- Les explorateurs : Les explorateurs patrouillent dans le quartier pour rassembler les informations sur les positions des victimes et des incendies Une fois qu’un explorateur croise une victime ou un incendie, il envoie tout de suite un message à toutes les ambulances s’il s’agit d’une victime, ou aux pompiers s’il s’agit d’un incendie
- Les ambulances : L’objectif des ambulances est d’aller chercher un maximum de victimes le plus vite possible Selon la section II.2, lorsqu’une ambulance a réussi à charger une victime, s’il y a encore de la place dans l’ambulance, elle va chercher une nouvelle cible Il existe plusieurs cas dans lesquels un conflit peut se produire:
o La victime choisie a déjà été chargée par une autre ambulance avant que celle-ci ne calcule sa cible Si l’ambulance courante ne le sait pas, elle va quand même aller chercher la victime, et perdra beaucoup de temps
o La victime est encore vivante, toujours sur sol, mais une ou plusieurs autres ambulances sont en train de venir la chercher Comment vont-elles choisir quelle ambulance est la mieux placée pour venir secourir cette victime ?
Trang 22Dans les deux cas, le problème est que le processus de prise de décision de plusieurs ambulances donne le même résultat Pour éviter de tels conflits, il faut construire un mécanisme pour gérer les cibles de toutes les ambulances Les agents doivent négocier pour obtenir un accord La négociation se déroule en deux étapes:
Diffusion de la décision : Quand une ambulance a choisi ou a reçu par l’expert une cible, il va envoyer une demande sous la forme de messages « requests » aux autres ambulances pour savoir si elle pourra aller chercher cette victime, puis elle va attendre quelques instants S’il y a un refus avant la fin du délai, c'est-à-dire qu’une autre ambulance ayant possibilité d’aller chercher la victime plus rapidement se manifeste, l’ambulance abandonne la victime choisie et relance son processus de décision
Exploreurs
Ambulances
Pompiers Victimes
Incendies
Patrouiller dans le quartier
Rassembler des informations sur les victimes
Aller éteindre les incendies
Aller chercher les victimes et les emmener à l’hôpital
- Partager la fonction
d’apprentissage
- Envoyer leurs
décisions pour accord sur les cibles
- Echanger les infos
sur les incendies éteints
- Partager la fonction
d’apprentissage
- Envoyer leurs
décisions pour accord sur les cibles
- Echanger les infos
sur les victimes sauvées
Figure 5 : Les tâches des agents dans le modèle décentralisé d’AROUND-RESCUE
Trang 23 Réponse aux messages de prise de décision
Chaque ambulance possède une boîte de messages « request » Si elle ambulance reçoit un message « request », à n’importe quel moment, elle va comparer sa victime courante avec la cible en indiquée dans la requête Si elles sont différentes, l’ambulance courante envoie une réponse de type « agree » pour confirmer qu’elle est d’accord avec la cible Sinon, l’ambulance devra vérifier si elle-même est bien en train d’aller chercher cette victime, c’est-a-dire qu’elle n’a reçu aucun refus avant la fin du délai d’attente Elle va alors refuser la demande de l’émetteur du message en envoyant une réponse de type « refuse »
Au contraire, si l’ambulance est encore en attente de réponse pour sa propre requête, elle
va calculer la distance d v entre elle et la victime et puis la comparer avec la distance d’ v entre l’émetteur et la victime Si elle est plus proche de la victime, elle va aussi refuser la demande
Choix d’une victime à aller chercher
Envoi de messages «requests » aux autres ambulances time := 0 ;
Message de
Aller chercher la victime
No time ++ ;
time = time_out ?
Oui Non
Non
Figure 6 : Diagramme de la diffusion de la décision de cible d’une ambulance
Trang 24parce qu’elle pourra aller chercher la victime plus rapidement Sinon, il enverra une réponse pour accepter la demande
Aller chercher la victime
Abandonner la victime, choisir une autre cible
Figure 7 : Diagramme de la réponse de la diffusion de la décision de cible d’une l’ambulance
Trang 25b Modèle de décision centralisée
Dans le modèle décentralisé, les hôpitaux et les stations de polices ne participent à la coordination entre les agents Mais dans le modèle de décision centralisé, ces deux types d’agents jouent un rôle central dans la distribution des tâche entres les ambulances et les pompiers On les appelle les agents centraux, qui ont beaucoup plus de capacité à recevoir, à envoyer et à traiter les messages que les agents comme les ambulances ou les pompiers Ces agents sont appelés également les centres d’information ou de coordination des équipes
L’organisation de la communauté est présentée plus clairement dans ce modèle : Les actions des ambulances et des pompiers doivent dépendre de la distribution de leurs coordinateurs
Les tâches de chaque espèce dans AROUND-RESCUE sont définies ainsi :
-
Ambulances
Assigner les tâches aux pompiers
Stations de police Exploreurs
Hôpitaux
Rassembler des informations sur les victimes Envoyer les informations sur
les victimes et les incendies
Envoyer les listes
de victimes
Assigner les tâches aux ambulances Aller chercher
les victimes et
les emmener à
l’hôpital
Informer et confirmer les incendies éteints
Confirmer le nombre de places disponibles, les circonstances…
Victimes
Patrouiller dans le quartier
Incendies
Rassembler des informations sur les incendies
Pompiers
Aller éteindre les incendies
Informer et confirmer les victimes sauvées,
positions des ambulances
Figure 8 : Les tâches des agents dans le modèle centralisé d’AROUND-RESCUE
Trang 26- Les explorateurs patrouillent et envoient à leurs stations de police les informations
sur les victimes et les incendies qu’ils rencontrent sur leur chemin Chaque explorateur a une mémoire pour stocker les victimes ou les incendies rencontrés pour éviter de renvoyer deux fois la même donnée à la station de police
- La station de police envoie tout de suite les informations reçues sur les victimes aux
hôpitaux selon la stratégie suivante :
Les victimes ne sont transmises qu’aux hôpitaux voisins de la station de police courante
Pour une victime, la station de police choisi le premier hôpital disponible le plus proche de la victime
- Les hôpitaux : Chaque hôpital est responsable d’un ensemble d’ambulances A partir
des informations qui sont envoyées par les stations de police, l’hôpital va assigner les tâches aux ambulances Les hôpitaux reçoivent les informations sur les victimes et les stockent dans une liste Dès qu’une ambulance est libre, l’hôpital va assigner une victime à cette ambulance selon le mécanisme de prise de décision décrit dans la section II.2 Les critères utilisés par les hôpitaux sont :
La distance entre la victime et l’ambulance courante
La gravité des blessures des victimes
Les poids de chaque critère peuvent être changés dans l’action « choose » sous GAMA
- Les Ambulances : Les ambulances ne font rien tant qu’ils ne reçoivent pas d’ordre de
leur hôpital Après avoir chargé la victime indiquée, l’ambulance envoie un message à son hôpital pour confirmer qu’elle a fini sa tâche, et est libre
- Les Pompiers : La tâche de chaque pompier est déterminée par sa station de police
La prise de décision pour les pompiers est effectuée par une fonction d’utilité utilisant les critères suivants:
La distance entre l’incendie et le pompier
L’importance de l’incendie
Le nombre de victimes voisines de l’incendie
La distance entre l’incendie et la victime la plus proche
Après avoir éteint l’incendie qui lui est assigné, le pompier envoie un message à son coordinateur pour confirmer qu’il a fini sa tâche, et est prêt à recevoir une nouvelle mission
Trang 275 Expérimentations
Pour estimer et comparer l’efficacité et la performance des deux modèles de décision proposés, j’ai mesuré le temps total nécessaire (en millisecondes et en cycles de simulation) pour secourir toutes les victimes du quartier Le contexte d’environnement est le même dans tous les cas, avec les paramètres de simulation suivant :
Seuil de gravité de l’état des victimes
30 Si la valeur dépasse le seuil, la
victime meurt
Tableau 3 : Les paramètres d’expérimentation de la simulation AROUND-RESCUE
Dans un système de secours, le temps est très important, il faut organiser les véhicules et les personnels de la manière la plus efficace possible pour sauver les victimes et éteindre les incendies sans tarder Les temps d’exécution sont calculés à la fois en millisecondes (temps réel) et en cycles (temps de la simulation) pour estimer la vitesse de chaque modèle Dans les cas urgents comme le secours après la catastrophe naturelle, le système qui fonctionne le plus vite est considéré le plus efficace
Le modèle réalisé par Vo Duc An gère correctement les conflits de cibles entre les ambulances, mais la simulation AROUND marche assez lentement (figure 9) Il lui a fallu près
de 47 secondes pour secourir 10 victimes tandis que mes deux modèles proposés ont besoin
de seulement 7 ou 10 secondes Le temps réel nécessaire est ainsi divisé par 5 Dans les simulations effectuées avec 50 ou 100 victimes, le modèle de Vo Duc An a pris 2 voire 3 fois plus de temps que les modèles proposés
Le graphe de la figure 9 montre aussi qu’en général, la simulation avec le modèle centralisé marche plus rapidement que le modèle décentralisé car le temps total nécessaire
en millisecondes est presque toujours inférieur Mais la différence entre les deux modèles n’est pas très grande, environs de 3000 à 17000 millisecondes soit de 3 à 17 secondes Ce n’est pas beaucoup dans le cas d’un grand système de secours comme AROUND-RESCUE La ligne rouge croît de façon plus régulière que la ligne bleue La raison est que chaque agent d’espèce « ambulance » et « explorateur » doit prendre beaucoup de temps pour envoyer et recevoir un nombre de messages énorme pendant l’exécution de la simulation