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

Apprentissage interactif et coordination d’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 (2.63 MB, 55 trang )

Apprentissage interactif et Coordination d’agents

Mémoire de fin d’étude
Master Informatique option IA & Multimédia

PHAM PHUONG THAO

Encadrant
ALEXIS DROGOUL

Laboratoires
L’équipe MSI- IFI à Hanoi
Laboratoire Géodes au Centre IRD à Bondy

Hanoi Août 2009
1


Remerciements
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.



2


Ré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.

3


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

Expérimentations ...................................................................................................................... 27

5.
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
Problème de l’apprentissage dans AROUND-RESCUE ............................................................... 34

1.
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
Approche pour le partage intelligent de connaissance entre les agents .................................. 38

2.
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
4


c.

Expérimentations ...................................................................................................................... 43

3.

IV.

Diffusion et partage de connaissance ................................................................................... 41

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
Conclusion et perspectives ........................................................................................................ 52

Références ............................................................................................................................................. 54

5


Table 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

6


Liste 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

7



I. Introduction
1. Objectif du stage
Le projet AROUND (Autonomous Robots for Observation of Urban Networks after a
Disaster) 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. Le site web du
projet : />Dans le cadre de ce projet, une simulation de l’organisation des secours dans la
ville de Hanoi après un tremblement de terre, permet à des experts d’interagir avec les
agents du modèle afin de leur apprendre, dynamiquement, les critères à respecter pour
porter secours aux victimes. Cet apprentissage permet d’affiner le modèle afin qu’il puisse
servir dans un cadre d’aide à la décision [1].
L’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
8


AROUND-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

9



Aprè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 :
 les victimes
 les incendies
 les militaires
 les explorateurs
 les pompiers
 les hôpitaux
 les ambulances
La description de chaque espèce est présentée dans le tableau suivant :

Espèce

Représentation

Comportements

Tâches

1

victim

Situated, visible

Si une victime est sur le terrain,
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.

2

fire

Situated, visible

Si un incendie n’est pas pris en
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

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.

Polygone
marron

10


4

explorer

situated, visible,
communicating,
exploring

5

fireman

situated, visible,
moving,
communicating


6

hopital

7

ambulance

Polygone vert

Les explorateurs patrouillent
dans le quartier et ramassent les
informations des victimes et des
incendies.
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.

situated, visible,
carrying,

communicating

Un hôpital se charge de
prendre et de soigner les victimes
déposées par les ambulances.

visible, moving,
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:
Paramètre
1 gispath

Type
String

Init
Min

‘gis/badinh/’

Max

2 victim_number

int

100

3 fire_number

int

20

4 numberOfExplorerPerMilitary

int

2

1

20

5 numberOfFiremanPerMilitary

int


2

1

20

Description
La
carte
du
quartier après le
tremblement de
terre
Le nombre de
victimes sur le
terrain initial
Le
nombre
d’incendies initial
Le
nombre
d’explorateurs
par caserne
Le nombre de
11


6 numberOfAmbulancePerHospital

int


2

1

20

pompiers
par
caserne
Le
nombre
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.

12


Figure 3 : L’indicateur « Fires »

13


II. 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 multiagents 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 coû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.
14


-

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.

15


2. 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.

b. Echange de méta-information
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
16


[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 où 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.

c. Planification Multi-Agent
Avec cette approche, les agents construisent un plan global qui spécifie toutes leurs
actions et interactions à venir pour accomplir un objectif particulier. Avant que l’exécution
ne commence, elle précise la zone de l’espace de recherche qui sera traversée et la route
17



que 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 = w1J1 + w2J2 +…. wsJs
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 qpas suivants et leurs directions principales.
En général, il y a deux approches élémentaires pour la Planification Multi-Agent :
18


-

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
19


aux 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.

20


4. 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.

a. Modèle de décision décentralisée
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 ?

21


Aller chercher les victimes et
les emmener à l’hôpital

Victimes
Rassembler des
informations sur
les victimes

Ambulances
Envoyer les informations
sur les victimes


Patrouiller
dans le
quartier

- Partager la fonction
d’apprentissage.
- Envoyer leurs
décisions pour
accord sur les
cibles.
- Echanger les infos
sur les victimes
sauvées.

Exploreurs
Envoyer les informations sur
les incendies

Pompiers

Rassembler des
informations sur
les incendies

Incendies
Aller éteindre les incendies

- Partager la fonction
d’apprentissage.
- Envoyer leurs

décisions pour
accord sur les
cibles.
- Echanger les infos
sur les incendies
éteints.

Figure 5 : Les tâches des agents dans le modèle décentralisé d’AROUND-RESCUE

Dans 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.

22


Choix d’une victime à
aller chercher

Envoi de messages «requests »

aux autres ambulances
time := 0 ;

Message de
refus reçu ?

Oui

Non
No
time ++ ;

Non

time = time_out ?
Oui
Aller chercher la victime

Figure 6 : Diagramme de la diffusion de la décision de cible d’une ambulance


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 dv 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
23


parce qu’elle pourra aller chercher la victime plus rapidement. Sinon, il enverra une réponse
pour accepter la demande.

Vérifier la boite de « requests »

Message de
requêtes reçu ?

Oui
No

myVictim = victime
en requête?

Agree/Accorder

Oui

Suis-je en train d’aller
chercher cette
victime ? ?

Refuser


No
Calculer dv, d’v

dv > d’v

Agree/Accorder
Oui
No

Refuser

Abandonner la victime, choisir
une autre cible

Aller chercher la victime

Figure 7 : Diagramme de la réponse de la diffusion de la décision de cible d’une l’ambulance
24


b. 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 :

Patrouiller dans le quartier

Rassembler des
informations sur
les victimes

Rassembler des
informations sur
les incendies

Exploreurs
Envoyer les informations sur
les victimes et les incendies

Incendies
Aller
éteindre les
incendies

Stations de police

Victimes

Envoyer
les listes
de victimes

Confirmer le
nombre de places
disponibles, les

circonstances…

Hôpitaux

Assigner les tâches
aux ambulances
Aller chercher
les victimes et
les emmener à
l’hôpital

-

Informer et
confirmer
les incendies
éteints

Assigner les
tâches aux
pompiers

Informer et confirmer les
victimes sauvées,
positions des ambulances

Pompiers
Ambulances
Figure 8 : Les tâches des agents dans le modèle centralisé d’AROUND-RESCUE


25


×