La Géo-simulation Multi-agent

Transcription

La Géo-simulation Multi-agent
La Géo-simulation Multi-agent : Un
support pour la planification dans un
environnement réel
Nabil Sahli*,**— Bernard Moulin*,**
* Département d’Informatique, Université Laval
3908 Pavillon Pouliot, Québec, G1K7P4, QC, Canada.
{nabil.sahli, bernard.moulin}@ift.ulaval.ca.
** Centre de recherche en géomatique, Université Laval
Québec G1K 7P4, QC, Canada
RÉSUMÉ.
Dans cet article, nous proposons une approche de géo-simulation basée sur les
agents qui a pour but d’assister la planification dans un espace réel et surtout à forte
composante spatiale. L’approche consiste à établir un parallélisme entre l’environnement
réel (par exemple une forêt incendiée) et un environnement de simulation basé sur des
données géo-référencées. Cet environnement virtuel utilise des agents logiciels sensibles à
l’espace et dotés de capacités cognitives avancées pour aider à planifier et coordonner les
interventions sur le terrain. Étant donné que les plans générés dans le cas étudié (feux de
forêts) sont essentiellement des chemins, nous proposons également une approche basée sur
la géo-simulation orientée agent pour résoudre des problèmes particuliers de recherche de
chemin. Finalement, pour appliquer notre approche au cas des feux de forêts, nous avons
utilisé MAGS comme plate-forme de géo-simulation et Prometheus comme simulateur du feu.
ABSTRACT.
In this paper, we propose an agent-based geo-simulation approach to assist
planners when planning under strong spatial constraints in a real space. The approach
consists in drawing a parallel between the real environment (for example, a forest on fire)
and the simulated environment based on georeferenced data. This virtual environment uses
software agents which are aware of the space and equipped with advanced cognitive
capabilities, in order to support planning and coordination of operations within the real
terrain. Since plans in the studied case (forest fires) are mainly paths, we also propose a new
approach based on agent geosimulation in order to solve particular Pathfinding problems.
Finally, when applying our approach to firefighting, we use MAGS as a simulation platform
and Prometheus as a fire simulator.
MOTS-CLÉS :
Géo-simulation, multi-agent, planification, recherche de chemin, feux de forêts.
KEYWORDS:
Geosimulation, multiagent, planning, pathfinding, forest fires.
Revue. Volume X – n° x/année, pages 1 à X
2
Revue. Volume X – n° x/année
1. Introduction
La planification devient complexe quand il s’agit de gérer des situations incertaines telles
que les désastres naturels. Prédire de façon précise l’évolution de l’environnement est une
tâche fastidieuse pour les planificateurs humains. (Kahneman et al., 1982) ont affirmé
que la simulation est difficile pour les humains. Les expériences de (Forbus 1981)
en étaient une preuve. (Forbus 1981) et (Kahneman et al., 1982) ont suggéré que la
simulation n’est probablement faite par les humains que dans les cas triviaux. Étant
donnée la nature de l’environnement considéré, l’utilisation des modèles
analogiques de l’environnement (incluant l’espace et la situation dynamique) fut
alors inévitable. Il s’agit d’utiliser la simulation pour représenter l’environnement
réel et son évolution (e.g. les phénomènes naturels). Cependant, pour résoudre des
problèmes réels de planification, il ne suffit pas de simuler l’environnement, mais il
faut également simuler les actions qui se déroulent dans cet environnement. En
effet, vu que des prédictions précises des états résultant de l’exécution du plan sont
difficiles pour des environnements réels et dynamiques, une planification basée sur
la simulation (Simulation-Based Planning : SBP) (Lee et al., 1994) dans
l’environnement simulé, ne peut qu’être bénéfique. Le principe de la SBP peut être
résumé comme suit : Lorsqu’un ensemble de plans est généré, des simulations sont
utilisées pour tester et évaluer les plans afin de choisir le plus approprié pour la
situation courante.
Le problème est encore plus complexe lorsque viennent s’ajouter des contraintes
spatiales. Lorsqu’il s’agit par exemple de planifier lors d’un désastre naturel ou dans
une situation de crise, il faut prendre en compte les phénomènes dynamiques qui
caractérisent la situation. Par exemple, s’il s’agit d’un feu de forêt, la planification
des opérations de lutte doit nécessairement tenir compte de la propagation des feux.
Un tel phénomène (propagation des feux dans une forêt) dépend fortement de
l’espace et du temps. La planification doit par conséquent être capable de considérer
cet aspect spatio-temporel. Dans ce cadre, le planificateur humain est limité. En
effet, plusieurs recherches ont démontré que la carte cognitive1 (Kuipers 1982) chez
l’être humain, est source de plusieurs types d’erreurs telles que les distorsions
mémorielles (Tversky 1981), la mauvaise estimation des distances (e.g. les courtes
distances physiques sont surestimées, tandis que les plus grandes distances sont
sous-estimées (Kerst et al., 1987). Nous nous sommes demandé si une approche de
planification par agents logiciels pourrait aider à résoudre ce problème. En fait,
l’utilisation du paradigme agent semble être très bénéfique pour le raisonnement
spatial. Les agents sont capables en théorie de raisonner sur l’espace et de
l’ « apprendre ». Kray énumère dans ce cadre plusieurs avantages de l’utilisation des
agents pour un tel raisonnement (Kray 2001). Cependant, l’étude de la littérature
existante a montré que plusieurs obstacles restent à franchir. Dans les recherches
1
Il s'agit d'un processus composé d'une série de transformations psychologiques par
lesquelles un individu acquiert, stocke et décode de l'information sur l'emplacement et les
attributs d'un phénomène, dans son environnement spatial de tous les jours.
Géo-simulation Multi-agent
3
actuelles, l’utilisation des agents logiciels dans le raisonnement spatial présente
deux principales lacunes :
– Utilisation incomplète du paradigme agent. Dans le raisonnement spatial, le
terme « agent » est souvent utilisé pour décrire des systèmes qui exécutent des
tâches spécifiques comme le conseil pour les itinéraires dans (Rogers et al., 1999)
et non pas comme des agents interagissant (Jennings et al., 1998).
– Faible sensibilité géospatiale des agents. En effet, les agents raisonnent
souvent sur un espace de petite taille (et non pas sur un espace géographique à
grande échelle tel que défini dans (Egenhofer et al., 1995)), à données simples (et
non des données géospatiales extraites d’un Système d’Information Géographique
(SIG) et à faible degré de réalisme (les détails sur l’espace sont souvent négligés et
les scénarios implémentés sont très simples). Le jeu de la capture de drapeau (Atkin
et al., 1998) est un exemple de l’utilisation d’agents à faible sensibilité géospatiale
dans des problèmes de planification.
Plusieurs projets (Lee et al., 1997 ; Horn et al., 2000 ; Atkin et al., 1998 ; Cohen et
al., 1989) ont utilisé des approches de planification basées sur la simulation dans un
environnement réel, à grande échelle géographique et à forte composante spatiale.
Ces travaux ont également fait appel au paradigme agent, mais ils présentent
plusieurs faiblesses : L’environnement de simulation est trop simplifié, les
« agents » utilisés dans le processus de planification ne sont ni de vrais agents au
sens de (Jennings 2000) (autonomes, proactifs, etc.), ni sensibles à l’espace
(capables de raisonner sur les contraintes spatiales quantitatives et qualitatives).
Dans cet article, nous proposons une solution basée sur la simulation agent pour
planifier dans un environnement dynamique, réel, à grande échelle géographique, et
à forte composante spatiale (au-delà de la simple localisation géographique, d’autres
caractéristiques de l’espace en jeu telles que la topologie, les formes, etc.). Cette
solution remédie aux problèmes évoqués plus haut. Pour que la simulation soit plus
réaliste, nous utilisons des données provenant des SIG. On parle dans ce cas de géosimulation. Bien que le terme géo-simulation soit assez récent, plusieurs travaux ont
déjà utilisé les simulations multi-agents spatialisés tels que Cormas (Bousquet et al.,
1998) ou Repast For GIS (Najlis et al., 2004). Dans notre approche, nous utilisons
la géo-simulation comme support à la planification tout en remédiant aux limites
discutées plus haut et nous l’illustrons sur le cas des feux de forêts.
L’article est organisé comme suit : Dans la Section 2, nous présentons notre
domaine d’application, les feux de forêts. En effet, un feu de forêt est un cas typique
d’un environnement réel, dynamique et à grande échelle et où la planification
nécessite une bonne connaissance de l’espace. Nous proposons ensuite (Section 3)
notre architecture de géo-simulation basée sur les agents, ENCASMA, destinée aux
problèmes de planification dans un large espace géographique. La Section 4 est
dédiée à l’application d’ENCASMA au problème des feux de forêts et plus
particulièrement au problème de l’élaboration d’une ligne coupe-feu qui se ramène
à la recherche de chemin (Pathfinding). La Section 5 présente les résultats de nos
travaux et la validation de notre approche. La Section 6 est une discussion des
4
Revue. Volume X – n° x/année
apports de l’article et de sa position par rapport aux autres travaux dans le domaine.
Nous terminons l’article par une conclusion (Section 7).
2. Feux de forêts
Lors d’un feu de forêt majeur, les pompiers ont besoin de mener des opérations
de lutte pour protéger les ressources de la forêt, les habitations et les personnes. La
planification de ces opérations est très complexe. En effet, l’environnement est à
évolution rapide (à cause de l’évolution du feu) et à forte composante spatiale
(puisque les caractéristiques du terrain déterminent la façon dont le feu se propage
et imposent aux pompiers certaines restrictions sur la manière de combattre le feu).
Il s’agit donc d’un problème typique de planification dans un environnement réel,
dynamique, à grande échelle géographique et à forte contrainte spatiale. Nous
donnons ici un bref aperçu de la méthode employée pour une attaque particulière du
feu mettant en évidence la forte composante spatiale du problème. Il s’agit de
l’attaque indirecte.
Un incendie peut être arrêté en perturbant le triangle du feu par l’enlèvement d’au
moins un des éléments du triangle : chaleur, oxygène ou combustible (Nicolas et al.,
1999). Dans l’attaque indirecte, il s’agit d’enlever le combustible. Cette stratégie est
utilisée lorsqu’une attaque directe est impossible à cause de la forte intensité des
feux. Une attaque directe consiste à éteindre le feu directement (ce qui revient à
enlever l’élément chaleur du triangle). Une attaque indirecte (Nicolas et al., 1999),
par contre, utilise des techniques de contrôle du feu tout en se tenant à une distance
sécuritaire par rapport au feu. Les pompiers construisent des lignes assez larges
(d’environ 3 m de large) qui entourent le périmètre du feu. L’attaque consiste à faire
du backfiring à partir d’une ligne d’arrêt qui peut très bien être une barrière
naturelle, une barrière construite sur-le-champ ou une barrière artificielle déjà
existante (une route ou une ligne d’arrêt par exemple). L’objectif est de brûler et
nettoyer une aire (aire rasée) d’environ 30m de large tout en essayant de sacrifier le
moins d’aire possible. Idéalement, l’aire à raser doit être entre deux lignes d’arrêt
afin d’éviter les turbulences lorsque deux feux se rencontrent. Pour construire une
ligne d’arrêt (avec des bulldozers), il faut tenir compte de la progression du feu dans
le temps ainsi que des caractéristiques du terrain (afin de passer par les endroits les
moins denses en végétation, tout en respectant des contraintes spatiales
particulières). Cet exemple sera utilisé pour illustrer notre approche.
3. Architecture ENCASMA : approche par géo-simulation multi-agent
Dans ce projet, nous visons à élaborer une approche pour planifier dans un
environnement dynamique, réel, à grande échelle géographique, et à forte
composante spatiale, et ce en contournant les difficultés rencontrées par les
approches actuelles. Dans le monde réel, l’information est souvent manquante ou
Géo-simulation Multi-agent
5
erronée, l’espace perçu est très limité par rapport à l’étendue de l’espace global, la
communication est souvent non fiable (communication distante), la planification est
souvent difficile et sa validation l’est encore plus. Ces handicaps sont d’autant plus
marqués lorsque les acteurs (les intervenants sur le terrain) ont besoin, en plus, de
connaître les caractéristiques précises géographiques et topologiques de l’espace
dans lequel ils agissent. Nous pensons qu’il est souhaitable de porter le problème
dans un environnement de géo-simulation qui offrirait un support à la planification
tout en comblant les manques de l’environnement réel. Comme nous le verrons dans
la Section 3.1, nous utilisons un environnement de géo-simulation capable d’offrir
la connaissance spatiale requise (précise et complète) pour planifier. Le plan doit
être transposé par la suite dans l’environnement réel en vue de l’exécuter. Des
agents du monde réel et du monde virtuel doivent ainsi collaborer pour maintenir la
cohérence des données entre les deux mondes. Les principes de base de notre
approche sont présentés dans ce qui suit.
3.1. Notions de base
Nous définissons ici les notions de base autour desquelles ENCASMA est bâtie.
Géo-simulation : La géo-simulation est un terme utilisé pour décrire une nouvelle
tendance de la modélisation de la simulation spatiale. Elle est basée sur une
combinaison de diverses techniques et de théories, offrant ainsi une perspective
unique qui fait défaut chez la simulation traditionnelle. Plus précisément, elle offre
une vue sur les phénomènes urbains, basée sur des objets en interaction représentant
l’évolution d’individus et d’autres unités du monde réel, et ce, dans un temps
approchant le temps réel (Benenson et al., 2004).
Connaissance spatiale augmentée : La simulation est souvent utilisée comme un
outil d’aide à la décision. Peu de travaux de recherche utilisent la simulation pour
planifier. Dans ce cas, nous estimons que le lien entre les deux environnements (réel
(ER) et de simulation (ES)2) est crucial. Un ES sert en fait à apporter aux
planificateurs de l’ER la connaissance qui leur manque sur le terrain en termes de
données spatiales, de données sur l’évolution de la situation et de l’état des autres
acteurs et ressources. Nous parlons ainsi de connaissance augmentée. Dans le cas
particulier de la connaissance spatiale, les acteurs manquent de données ou
perçoivent mal les caractéristiques spatiales du terrain dans l’ER. L’ES doit alors
combler cette faiblesse en mettant à disposition la connaissance spatiale requise.
Nous parlons ainsi de connaissance spatiale augmentée.
Les représentants de L’ER dans la simulation : Les acteurs de l’ER ont besoin de
représentants dans l’ES afin d’accomplir certaines tâches à leur place. Ces
représentants doivent, entre autres, inspecter le terrain de façon plus étendue et
précise, évaluer la situation en ayant à disposition l’information nécessaire, interagir
avec les autres représentants afin de coopérer, etc. Les agents logiciels semblent les
2
Dans le reste du papier, l’environnement de simulation et l’environnement réel seront notés
respectivement ES et ER.
6
Revue. Volume X – n° x/année
meilleurs représentants pour accomplir ces tâches. Afin de représenter l’évolution
de l’ER dans l’ES, nous avons besoin d’un modèle physique qui simule le
phénomène en question (par exemple la propagation du feu de forêt).
Le SIG, source de la connaissance spatiale augmentée : Dans des problèmes réels,
la connaissance spatiale augmentée doit satisfaire aux deux contraintes
essentielles suivantes : (i) la complétude : les données spatiales dans l’ES doivent
être les plus complètes possibles; (ii) la fiabilité : la connaissance spatiale doit aussi
être fiable. L’utilisation d’un SIG permet de représenter de façon suffisamment
précise et complète l’espace géographique étendu dans un ES. La fiabilité des
données du SIG est reliée à la fréquence de leur mise à jour Nous supposons dans
notre travail que les SIG utilisés ont été mis à jour (dans le cas des feux de forêt
cette hypothèse est réaliste car les données peuvent être mises à jour avant la saison
des feux (l’été) qui ne dure que quelques mois au Canada). Il est à noter que ces
données doivent être accessibles de façon simple et efficace aux différents agents de
l’ES. Nous décrirons plus loin la solution technique adoptée.
De nouvelles technologies au support de la communication entre l’ER et l’ES : il
ne suffit pas de construire un ES précis et complet mais il faut aussi permettre une
communication efficace et en temps réel entre l’ES et l’ES. En d’autres termes,
d’une part, les agents de l’ES, ayant accès à la connaissance augmentée doivent en
faire profiter les acteurs réels. D’autre part, tout ce qui se passe dans l’ER (au
niveau des ressources, des acteurs ou de l’évolution de la situation) doit être
rapporté à l’ES afin de garantir la cohérence entre les deux environnements. Les
progrès technologiques actuels offrent plusieurs solutions de communication : La
télédétection, les senseurs web (Delin et al., 1999), les réseaux mobiles et sans fil,
Le positionnement géo-référencé (e.g. GPS), etc.
3.2. Architecture
Afin de résoudre le problème tel que spécifié dans la Section 1 (planifier dans un
environnement dynamique, réel, à grande échelle géographique, et à forte
composante spatiale), nous nous proposons de développer un Framework appelé
Environnement à Connaissance Augmentée basé sur un Système Multi-agent
(ENCASMA). ENCASMA devrait permettre une planification qui utilise les agents
logiciels comme planificateurs et la géo-simulation multi-agent comme moyen.
ENCASMA fait la correspondance entre l’ER et l’ES. L’architecture, basée sur les
principes énumérés précédemment, est décrite par la Figure 1. ENCASMA est
constituée de 4 couches en lien étroit avec l’ER. Dans ce qui suit, nous détaillons les
différentes couches ainsi que les différents liens qui les relient à l’ER.
Plate-forme de simulation : Un SIG est nécessaire pour traduire de façon fidèle et
précise les données spatiales réelles. Or, un SIG ne peut constituer un
environnement de navigation pour les agents logiciels. Les utilisateurs humains ont
également besoin d’un outil plus visuel pour superviser le déroulement des actions.
Il est donc nécessaire de traduire ces données SIG dans une plate-forme de
simulation qui soit visuelle pour l’utilisateur humain et navigable pour les agents
Géo-simulation Multi-agent
7
logiciels. Nous suggérons l’utilisation de MAGS (Moulin et al., 2003), une plateforme générique de géo-simulation avec laquelle on peut créer des ES de façon
fiable à partir de données spatiales réelles et qui offre un environnement de
navigation et de perception performant pour les agents logiciels. La plate-forme
MAGS sera décrite plus loin (Section 3.3).
ENCASMA
Environnement Réel
Applications
Buts
Acteurs et ressources
Communication
Évolution de la situation
Senseurs
Données réelles spatiales
SIG
SMA
Modèles Physiques
Plate-forme de Simulation
Figure 1. Architecture générale d’ENCASMA
Modèle physique : Un ER est souvent dynamique et soumis à des phénomènes
physiques complexes. Afin de pouvoir simuler au mieux la réalité, il est nécessaire
de reproduire ces phénomènes physiques dans l’ES. Le modèle physique simulant la
situation dangereuse doit être fiable et réaliste. Pour ce faire, deux conditions
doivent être satisfaites:
–
Le modèle même doit être basé sur des études précises.
–
Les données d’entrée du modèle doivent être continuellement mises à jour
selon l’évolution de la situation réelle.
Pour le premier point, nous nous fions aux efforts des physiciens et météorologues
pour l’élaboration d’un modèle réaliste du phénomène physique. Par exemple, dans
le domaine des feux de forêts, certains modèles comme Prometheus (Prometheus
2005) donnent des prévisions de propagation des feux très proches de la réalité.
Quant au deuxième point, il est clair que les prévisions fournies par le modèle ne
peuvent être correctes à 100% en raison de la complexité du problème d’une part et
des changements imprévus qui peuvent survenir d’autre part. Des senseurs doivent
donc assurer la correction et la mise à jour des données fournies par le modèle. Les
senseurs peuvent être des satellites, des observateurs humains, ou des senseurs-web
(Delin et al., 1999). Cette nouvelle technologie permet de notifier l’ES de
l’évolution de la situation. Par exemple, dans le cas d’un feu de forêt, des détecteurs
autonomes de feu (ou autonomous fire detector AFD) (Kremens et al., 01) peuvent
être déployés. Un AFD est un dispositif qui a la capacité de rapporter sa localisation
et d’indiquer si le feu se situe à proximité. Il peut également être équipé pour
enregistrer la température locale, le taux d’humidité et la vitesse du vent. Ces
données sont ensuite transmises par radio aux pompiers ou à la centrale.
Actuellement, les pompiers sont quasi-aveugles pendant la lutte contre le feu. Seuls
les avions survolant la région peuvent leur fournir des informations sur la
progression des feux. Les AFDs, par contre, peuvent leur fournir des données
précises en temps réel et de façon directe. Cette méthode (par senseurs web), bien
8
Revue. Volume X – n° x/année
que moins sûre qu’une constatation humaine, présente plusieurs avantages. En effet,
elle permet une meilleure couverture de l’espace, réduit les risques auxquels
pourraient être confrontés les humains en allant chercher de telles informations et
offre une mise à jour continue de la situation.
Système multi-agent : La troisième couche constituant ENCASMA est la couche
multi-agent. Elle représente les acteurs de l’ER ainsi que les ressources importantes.
Afin de permettre un lien efficace entre ces acteurs et ressources réels, et leurs
correspondants dans l’ES, nous adoptons une stratégie complètement agentifiée :
tout est agent. En d’autres termes, nous aurons des agents logiciels sur le terrain et
d’autres dans l’ES. Concrètement, un acteur (ex. un pompier) aura à sa disposition
un dispositif électronique (ex. une station mobile) dans lequel un agent logiciel est
chargé d’interagir avec l’acteur et de faire par la suite le lien entre lui et l’ES. Cet
agent qu’on appelle Agent Acteur Réel (AAR) interagit avec l’acteur humain via une
interface et communique avec l’ES via des messages distants par exemple. Dans
l’ES, nous avons également des agents logiciels. A chaque AAR nous associons un
Agent Acteur de Simulation (AAS) pour le représenter. Nous représentons également
les ressources pertinentes de l’ER par des Agents Ressources de Simulation (ARS)
dans l’ES. Un agent ARS n’a donc pas de correspondant dans l’ER, mais sa présence
est importante dans l’ES afin d’interagir avec les AAS et former un SMA plus
complet. Par exemple, si un ARS se rend compte dans l’ES qu’un danger est proche
de lui mais qu’aucune action de la part des acteurs (représentés par des AAS) n’a été
entreprise, il peut lancer un appel de détresse aux AAS qui l’entourent pour requérir
leur support. Avant que les agents de simulation puissent agir (naviguer, percevoir,
etc.) dans l’ES, il est très important d’établir un lien de cohérence entre eux et leurs
correspondants dans l’ER. Pour ce faire, la technologie moderne offre plusieurs
moyens de communication entre les agents. Nous nous contentons dans cet article
de présenter le principe de cette communication. L’Agent Réel doit informer son
correspondant (Agent de Simulation) de sa localisation réelle. L’agent de l’ES se
place ainsi à la position correspondante au niveau de la plate-forme de simulation.
Les positions sont bidimensionnelles mais peuvent être tridimensionnelles si
l’altitude est pertinente. Dans ce cas, l’ES doit être en 3D. Si l’Agent Réel se
déplace, il doit fournir périodiquement à son correspondant sa position géospatiale
afin qu’il puisse reporter sa position dans l’ES.
L’Agent de Simulation peut à son tour communiquer avec son correspondant dans
l’ER afin de lui faire parvenir des informations qu’il a pu recueillir à partir de son
environnement qui, rappelons le, a une connaissance augmentée.
Applications : Quoique les trois couches précédentes soient complètement
génériques, elles ne constituent qu’un support pour des applications ayant pour
objectif de d’assister les acteurs sur le terrain ou encore d’aider les utilisateurs à
prendre des décisions stratégiques lors de la planification dans des situations
complexes et réelles. Ces applications reflètent donc les buts des utilisateurs. Bien
qu’elles puissent être décrites de façon générique indépendamment du type de la
situation, nous nous restreignons dans cet article - pour des raisons de simplification
Géo-simulation Multi-agent
9
et de clarté, à un problème bien particulier : Le problème de recherche de chemin
pour la construction de la ligne d’arrêt lors d’un feu de forêt (voir Section 4).
3.3. La Plate-forme MAGS
Pour implémenter la première couche d’ENCASMA, nous avons choisi MAGS
comme plate-forme de simulation. MAGS est une plate-forme générique pour la
création de géo-simulations multi-agent impliquant un grand nombre (des milliers)
d’agents logiciels interagissant dans des environnements géographiques virtuels
(Moulin et al., 2003). Les agents dans MAGS (définis dans le module Agents,
Figure 2) sont capables d’accomplir des activités spatiales et cognitives dans le
système de géo-simulation (ce que nous avons appelé dans ENCASMA la plateforme de simulation). Pour ce faire, les agents sont capables de percevoir
l’environnement spatial avec ce qu’il contient comme objets et agents logiciels.
L’environnement spatial doit être généré à partir des données stockées dans des
systèmes d’information géographique SIG. Concrètement, l’environnement (défini
dans le module Environnement, Figure 2) dans MAGS est représenté par une grille
de cellules. Chaque cellule (correspondant à un bitmap) encapsule les informations
pertinentes sur la portion du terrain qu’elle représente. L’accès à ces informations
est à la base des capacités spatiales et cognitives dont bénéficient des agents MAGS
et que nous discutons ci-dessous.
Perception : Les agents de MAGS sont capables de percevoir plusieurs types
d’objets de natures différentes : (i) La perception des caractéristiques du terrain de
l’ES (ex. élévations et pentes) ; (ii) La perception des chemins, des routes et des
régions ; (iii) La perception du paysage entourant les agents (les bâtiments et les
objets statiques). (iv) La perception d’autres agents logiciels évoluant dans l’ES. Les
agents perçus par un agent doivent être situés dans son champ visuel qui est
paramétré ; (v) La perception des aires dynamiques qui ont des propriétés
spécifiques (les aires de feu, de fumée et les zones d’odeur) ; (vi) La perception de
messages communiqués par d’autres agents ; etc.
Navigation : Les agents se déplacent dans l’ES de façon autonome (Moulin et al.,
2003) et selon plusieurs modes (suivi de chemin, évitement d’obstacles). Dans ces
différents modes, les agents utilisent leur mécanisme de perception pour identifier et
localiser les chemins ainsi que les autres objets et agents. Un agent qui navigue est
un agent qui a l’état Navigation (un des états possibles inclus dans le module États)
Connaissance : Afin d’assurer leur propre autonomie, les agents doivent être
capables d’interagir avec l’ES et de prendre des décisions qui respectent leurs états
internes et leurs préférences (Moulin et al., 2003). En fait, un agent dans MAGS est
caractérisé par un certain nombre de variables dont les valeurs décrivent l’état de
l’agent à chaque instant durant la simulation. On distingue deux types d’états : des
états stables ou statiques (ne changent pas durant la simulation) et des états
dynamiques (peuvent changer durant la simulation).
Comportement : Un agent dans MAGS a des objectifs à satisfaire. Ces objectifs
sont organisés de façon hiérarchique et sont associés à des actions que l’agent peut
10
Revue. Volume X – n° x/année
accomplir. Chaque agent possède un ensemble d’objectifs (définis par le module
Comportement, Figure 2) reliés à ses besoins. Un objectif est relié à des règles qui
contiennent des contraintes sur les actions et sur l’activation de l’objectif. Pour plus
de détails voir (Moulin et al., 2003).
Module
Affichage
Module
processus
Module
particule
Initialisation
Interface
Module
Environnement
Module
Feu
Prometheus
Module
Comportement
Module
Agents
Module
États
Figure 2. Architecture de MAGS (après intégration des modules spécifiques à
l’application de construction des lignes d’arrêt, voir Section 4)
4. Application d’ENCASMA au problème de Recherche de Chemin
La Recherche de Chemin (ou Pathfinding), est le processus de recherche d’un
chemin entre une origine et une destination (tout en évitant les obstacles) sur une
carte, ce qui implique souvent la recherche du chemin le moins coûteux. Le
Pathfinding sur une carte est un problème fondamental pour plusieurs applications
telles que la robotique et les jeux d’ordinateur. Selon les caractéristiques de
l’espace, les contraintes du problème, et les capacités de l’agent qui cherche le
chemin (Pathfinder), le problème sera plus ou moins complexe. Au cours des
dernières décennies, plusieurs algorithmes ont été proposés pour trouver le meilleur
chemin. L’algorithme A* (Hart et al., 1968) qui est certainement encore l’un des
plus efficaces, est largement appliqué en robotique et dans le domaine des jeux sur
ordinateur. Cependant, certains problèmes réels particuliers sont soumis à trop de
contraintes pour pouvoir être résolus par de tels algorithmes. Par exemple, face à un
feu de forêt, les chefs d’opérations ont souvent besoin de construire une ligne
d’arrêt pour les feux. Ils ont en fait suffisamment d’expérience pour évaluer la
situation courante et proposer une esquisse de ce que pourrait être la ligne d’arrêt
qui sera par la suite construite par des bulldozers. Étant donné que cette esquisse est
approximative, il est souvent possible de trouver un meilleur chemin pour les
bulldozers. Ce chemin doit respecter l’allure générale de l’esquisse proposée par
Géo-simulation Multi-agent
11
l’expert humain ainsi que certaines règles et doctrines imposées par le domaine
(comme par exemple : ‘pas de virages étroits sur la ligne’). De plus, les extrémités
de la ligne à construire ne sont pas connues de façon précise, elles sont souvent
« quelque part » près des zones d’ancrage (un lac ou une zone rocheuse). Chercher
un chemin sous de telles contraintes n’est pas un problème classique de Pathfinding
et ne peut pas être résolu facilement avec les algorithmes connus (Sahli et al., 2005).
En effet, ces algorithmes sont conçus pour trouver le meilleur chemin sous des
contraintes plus simples. De plus, plusieurs chercheurs tels que LaMothe (LaMothe
1999), affirment qu’aucun de ces algorithmes classiques n’est applicable au
Pathfinding en temps réel. Même si des efforts ont déjà été entamés tels que dans
(Niederberger et al., 2004), ils ne concernent que certains problèmes temps réel tels
que les jeux et les environnements virtuels. Ils ne traitent pas le cas d’un
environnement géographique réel.
Nous nous intéressons donc au Pathfinding sous les contraintes suivantes : (i)
L’environnement est réel (la précision des données est fondamentale) ; (ii) Le
Pathfinder a des objectifs vagues et plusieurs caractéristiques du Pathfinder sont à
considérer ; (iii) Les contraintes spatiales qualitatives doivent être prises en compte ;
(iv) Le processus du Pathfinding doit se faire en temps réel.
Vu la non applicabilité des algorithmes classiques à de tels problèmes, nous
utilisons une approche basée sur des agents sensibles à l’espace et nous l’illustrons
sur le scénario décrit dans ce qui suit.
4.1. Scénario
Pratiquement, lors de la construction d’une ligne d’arrêt (attaque indirecte), des
experts de lutte contre les feux décident vaguement de l’endroit où il faut construire
la ligne en se basant sur les prédictions de progression des feux ainsi que sur leur
expérience personnelle. Nous nous proposons donc d’assister les gestionnaires de
feu en utilisant un ES (selon l’architecture ENCASMA) dans lequel des agents
logiciels essayent de trouver un chemin convenable pour les bulldozers dans le cas
de la construction d’une ligne d’arrêt construite par la machinerie lourde. Un
chemin approprié est un chemin qui suit le plus possible l’esquisse proposée par le
gestionnaire humain, qui tient compte de la progression du feu dans le temps et qui
passe par les endroits les moins denses en essences végétales tout en respectant les
contraintes liées du domaine (e.g. pas de virages serrés).
4.2. Architecture du système
Avant de parler de l’application en tant que telle, nous instancions l’architecture
ENCASMA selon les données du problème des feux de forêt (Tableau 1).
Une technique efficace de Pathfinding doit considérer trois aspects (Sahli et al.,
2005): l’environnement, le Pathfinder et les contraintes de la procédure de
recherche. L’architecture du système (Figure 3) doit respecter ces trois éléments.
Seules les composantes importantes de MAGS sont représentées ici.
12
Revue. Volume X – n° x/année
Tableau 1. Correspondances entre ENCASMA et FEU DE FORET
ENCASMA
Espace
Acteur
But des acteurs
AAR
AAS
ARS
Évolution
Modèle physique
Plate-forme de simulation
Senseurs
Prometheus (interface COM)
Simulateur Prometheus
FEU DE FORET
Forêt ou parc
Pompier
Encercler le feu pour l’éteindre
Agent Bulldozer Réel ABR
Agent Bulldozer de Simulation
Objet x de simulation (x∈{ Habitations, lac, etc.})
Feux
Modèle PROMETHEUS (Prometheus 2005)
MAGS
Satellite, avions, autonomous fire detectors, etc.
MAGS
Environnement
SIG (terrain)
Agents
Figure 3. L’architecture simplifiée de la solution proposée.
Simulateur physique Prometheus : C’est le modèle de propagation des feux de
forêt élaboré à partir du système Canadian Forest Fire Behaviour Prediction ainsi
qu’une vague d’algorithmes de propagation des feux développés à l’université de
Brandon. Le système FBP est un système complexe et semi empirique qui exprime
et intègre de façon mathématique, plusieurs facteurs qui influencent le
comportement des feux de forêt tels que l’essence des arbres, la météorologie, la
topographie, etc. Pour pouvoir utiliser les résultats de Prometheus dans un
programme (comme MAGS), nous faisons appel à son interface COM qui donne un
accès direct au moteur de simulation. Prometheus fournit à chaque période de temps
le périmètre de feu prévu. Chaque périmètre est donné sous la forme d’un ensemble
de sommets. À titre d’exemple, la fonction GetNumOfNewVertices() de Prometheus
COM donne le nombre de sommets du périmètre en cours (ligne 3, Figure 4).
Chacun de ces sommets encapsule les caractéristiques du feu à ce point précis : la
position géo-référencée, l’intensité du feu, la vitesse de propagation, etc.
Concrètement, étant donné les coordonnées X et Y d’un sommet donné, la fonction
GetXYParameters() donne les caractéristiques du feu à ce point précis (ligne 7,
Figure 4).
Environnement de simulation ES: L’environnement est représenté par une grille
de cellules. Chaque cellule correspond à un carré réel du terrain (25 m2 dans notre
implémentation). Elle encapsule toutes sortes d’informations pertinentes sur cette
portion du terrain : élévation, degré de la pente, direction de la pente, type
d’essence, etc. Les routes, les lacs et les rivières sont aussi représentés dans l’ES,
étant donné leur pertinence pour le domaine étudié. Les lacs et les rivières sont en
Géo-simulation Multi-agent
13
effet des sources potentielles d’eau et de bonnes barrières naturelles qui peuvent être
intégrées à une ligne d’arrêt. Les routes et les chemins forestiers permettent
d’acheminer les ressources et peuvent servir parfois de ligne d’arrêt pour le feu
(dépendamment de leur largeur). Chaque cellule de l’ES contient donc l’information
indiquant si la portion correspondante du terrain fait partie d’un lac, d’une rivière ou
d’une route. Au besoin, des lacs et des rivières pourraient être représentés par des
objets : Objet Lac et Objet Rivière. L’Objet Lac par exemple représenterait tout le
lac et encapsulerait des informations générales sur le lac telles que la superficie, la
profondeur moyenne, etc. Toutes ces données proviennent d’un SIG. En fait, les
données sont extraites d’un SIG et transformées ensuite en un format manipulable
dans MAGS. MAGS nécessite deux types de données pour représenter
l’environnement : (1) un bitmap qui représente l’environnement visuel ; (2) un
fichier binaire qui représente une matrice dont chaque élément contient différentes
informations (élévation, type essence, pente, etc.). Dans le prototype réalisé, chaque
élément de ce fichier binaire est codé sur 64 bits et représente une cellule de la
grille.
1 while( stepResult = = 0) /* Vérifie si le moteur de Prometheus donne un résultat*/
{
2
long NumPoints;
/* Fonction COM qui donne le nbre de sommets d’un périmètre*/
3
NumPoints = pApp→GetNumOfNewVertices("First");
4
for(int i = 0;i<NumPoints; i++) /* pour tout sommet du périmètre*/
{
5
double X,Y, ros, fi, raz, sfc, cfb, cfc, tfc;
/* Fonction COM qui donne la position X Y d’un sommet d’index donné*/
6
pApp→GetIndexVertice("First", i + LastIndex, &X, &Y);
/* Fonction COM qui donne les caractéristiques du feu au sommet X Y , par exemple ros
(rate of spread) représente la vitesse de propagation du feu*/
7
pApp→GetXYParameters("First", X, Y, &ros, &fi, &raz, &sfc, &cfb, &cfc, &tfc);
8
int Xi, Yi; Xi=(int)X;
Yi=(int)Y;
/* Création de l’agent Agent_fire*/
9
TAction *action = new TAction;
10
TBasicAgent* agent;
11
action→Init(CREATE_AGENT,"Create Mobile Agent");
12
action→AddParameter(i+ LastIndex); // attribuer un index à l’agent
13
action→AddParameter(Xi); // attribuer la coordonnée X
14
action→AddParameter(Yi); // attribuer la coordonnée Y
15
action→AddParameter(20); // Attribuer le rayon de perception que l’agent peut utiliser
16
action→AddParameter(A_NAVIGATION_STATE | A_MEMORY_STATE |
A_LOCATION_STATE| A_PROFILE_STATE | A_VISUALISATION_STATE );
//attribuer des états (des capacités de mémoire, de navigation, etc.)
/* Attribution d’un des paramètres de feu (rate of spread) à l’Agent_Feu*/
17
agent→GetStates()→CreateDynamicState("ros", 0, M_INTEGER);
18
TDynamicState* dynamicState = agent→GetStates()→ SetDynamicState(0);
19
dynamicState→SetValue(ros); ….
}
20
LastIndex += NumPoints; step+=1;
/* Simulation de la prochaine étape (prochain périmètre)*/
21
pApp→SimulateStep ("First", &stepResult);
}
14
Revue. Volume X – n° x/année
Figure 4. Extrait du code de la création des Agents Fire pour un périmètre donné.
Dans notre exemple, nous avons aussi des données dynamiques à considérer : les
périmètres du feu qui changent au cours de la simulation. Comme mentionné plus
haut, Prometheus fournit à l’ES ces périmètres sous forme d’ensembles de sommets.
Nous modélisons par la suite ces sommets par des agents. Chaque agent (de type
TBasicAgent, ligne 10 Figure 4) créé se voit attribuer des paramètres de base
(valables pour tous les agents MAGS) lors de leur création, tels que l’index, les
coordonnées spatiales, le rayon de perception et les mécanismes dont il dispose
(lignes 12 à 16, Figure 4). Ensuite, des paramètres spécifiques au contexte (ici les
caractéristiques du feu au sommet) sont ajoutés. Par exemple, dans la Figure 4
(lignes 17 à 19), la vitesse de propagation (ros) est attribuée à l’agent en question.
Chacun de ces agents (nommés Agents Fire) représente un sommet de feu ainsi que
ses caractéristiques (position, intensité, vitesse de propagation, etc.). Ces agents
ainsi que les objets décrits précédemment (Objet Lac, etc.) pourraient3 interagir
entre eux afin de collaborer ou d’échanger des informations. À titre d’exemple,
l’Agent Pathfinder qui perçoit les Agents Fire dans son voisinage peut
communiquer avec ces agents avant de décider du prochain déplacement à faire (un
déplacement qui doit être sécuritaire : assez loin des feux). Ici nous modélisons les
sommets du feu par des Agents Fire pour plusieurs raisons : (i) d’autres agents de
l’ES peuvent percevoir ces agents feu et interagir avec eux (comme c’est le cas pour
les Agents Pathfinder) ; (ii) Agents Fire peuvent se déplacer dans l’ES pour refléter
la progression réelle des feux; (iii) les agents logiciels, par définition, sont bien
adaptés pour encapsuler les caractéristique du feu à chaque sommet.
Pour assurer la cohérence temporelle entre la progression réelle des feux et les
mouvements des agents logiciels, nous utilisons le temps de Simulation Ts. Ts est
une fonction linéaire du Temps Réel Tr. Ts=a.Tr, (a<1). La valeur de « a » est
déterminée par l’utilisateur de l’ES qui peut faire varier sa valeur grâce à l’interface
de MAGS afin d’accélérer ou ralentir la simulation.
Agent Pathfinder : Dans une approche basée sur les agents, il est naturel de penser
à modéliser le Pathfinder par un agent logiciel que nous nommons ici l’Agent
Pathfinder. Nous avons déjà attiré l’attention sur la nécessité de considérer les
caractéristiques et objectifs du Pathfinder réel pour certains problèmes complexes.
Ces besoins sont bien supportés par le paradigme agent. En effet, l’agent logiciel est
capable de supporter aussi bien les caractéristiques du Pathfinder que ses objectifs.
Le processus de recherche de chemin peut ainsi tenir compte des besoins spécifiques
du Pathfinder. Dans notre exemple, l’Agent Pathfinder est un agent logiciel MAGS
qui perçoit l’ES, planifie ses déplacements et se déplace dans le but d’atteindre sa
destination. Son objectif ultime est de trouver un chemin approprié qui suit le plus
3
Ceci repose sur le développement d’un langage spatial entre agents (voir travaux futurs). La
seule interaction implémentée jusqu’ici est celle entre les Agents Pathfinder et les Agents
Fire et se base sur un échange de messages (mécanisme fourni par MAGS). Les Objets Lacs
pourraient ainsi devenir des Agents Lacs.
Géo-simulation Multi-agent
15
possible l’esquisse proposée par l’expert humain et qui respecte certaines
contraintes qualitatives. Pour ce faire, il a besoin d’une certaine connaissance
spatiale. Nous identifions dans ce qui suit les principaux mécanismes (sur lesquels
repose l’architecture de l’Agent Pathfinder) qui vont l’aider à acquérir cette
connaissance à partir de l’ES.
4.3. Architecture interne de l’Agent Pathfinder
Un modèle similaire à Sense-Plan-Act (Gat 1998) a été adopté pour l’élaboration de
l’Agent Pathfinder. Il a été adapté de façon à doter l’Agent Pathfinder d’un
mécanisme évolué de perception, d’un mécanisme qui gère les règles et les objectifs
(pour la décision), et de capacités de navigation adéquates (pour agir, puisque agir
dans un contexte de Pathfinding revient à se déplacer). tout en tenant compte des
fonctionnalités offertes par la plateforme MAGS (Moulin et al., 2003). La Figure 5
illustre les différentes composantes de l’architecture interne de l’Agent Pathfinder.
Le modèle est appelé Perceive, Plan and Move PPM.
Composante de Perception : Les capacités de perception de l’Agent Pathfinder
peuvent être plus évoluées que celle du Pathfinder réel puisque l’objectif principal
n’est pas de simuler la réalité des pompiers, mais plutôt de profiter de l’ES en tant
que source de connaissances augmentées. Par exemple, un agent qui a un rayon de
perception de 20 (instruction : action→AddParameter(20); dans Figure 4) peut
identifier de façon précise tous les objets et agents qui se trouvent dans un rayon de
20 cellules autour de lui.
Composante de Planification Spatiale : Après avoir perçu et avant de bouger,
l’Agent Pathfinder a besoin de déterminer quel est le meilleur déplacement à faire.
Toutefois, dépendamment des circonstances, le temps dont dispose l’agent pour
décider ne permet pas toujours d’explorer un grand nombre de plans pour ensuite en
choisir le meilleur. L’Agent Pathfinder utilise ainsi une combinaison de deux
approches : une approche de recherche raffinée pour trouver son chemin et une
approche de recherche rapide quand il doit répondre immédiatement à des
changements qui surviennent dans l’environnement. La composante de planification
spatiale (Figure 5) de l’Agent Pathfinder s’inspire de cette idée et assure une sorte
d’entrelacement entre la planification raffinée et la planification rapide.
Dépendamment du temps disponible et des contraintes courantes, l’une des deux
stratégies décrites ci-dessous peut être appliquée. Le mécanisme est assuré par deux
composantes :
–
Composante de Contrôle Rapide : Suite à un événement imprévu, cette
composante est responsable de l’affectation d’un objectif à court terme à la
composante de navigation (décrite plus loin). Le Contrôle Rapide est utilisé
seulement dans un contexte de temps réel. Par exemple, quand l’Agent Pathfinder
doit re-planifier (suite à un obstacle imprévu ou parce qu’un bulldozer s’est déplacé
autrement que ce qui avait été prévu), il essaye de trouver une solution rapide pour
la communiquer au Pathfinder réel (le bulldozer) et ce dans les plus brefs délais.
Cette solution (chemin trouvé rapidement) n’est pas forcément la meilleure. Elle
pourrait même être incomplète. Cependant, elle respecte en partie les contraintes de
16
Revue. Volume X – n° x/année
la situation et permet au Pathfinder de ne pas attendre longtemps pour trouver une
meilleure solution (optimale et/ou complète). Pratiquement, quand une replanification est jugée nécessaire, l’Agent Pathfinder envoie quasi immédiatement
un chemin possible au Pathfinder réel.
–
Composante de Contrôle raffiné : Après avoir envoyé un chemin rapide
(par la composante de Contrôle Rapide), l’Agent Pathfinder peut raffiner cette
solution si nécessaire. Il peut essayer plusieurs autres possibilités en créant des
répliques de lui-même (des clones) qui se chargent de tester d’autres stratégies ou
d’autres possibilités. Les agents clones doivent interagir entre eux afin d’éviter les
plans redondants ou très similaires. Par exemple, si un agent détecte qu’un autre
clone a déjà trouvé un meilleur chemin qui mène à la position dans laquelle il se
trouve, il s’auto-détruit (voir section 4.5). Si maintenant le processus de raffinement
mène à une meilleure solution (que celle proposée par Contrôle Rapide), cette
dernière est communiquée au Pathfinder réel (Bulldozer). Cette nouvelle solution
doit bien sûr tenir compte de la nouvelle position courante du Pathfinder. Le
processus de Contrôle raffiné est aussi appliqué de la même façon lorsque la
contrainte du temps réel est absente (e.g. lorsque l’utilisateur humain veut tester des
stratégies sur l’ES avant l’exécution effective du plan).
Composante de Navigation : Cette composante complémente la précédente. Elle est
en charge de l’exécution des déplacements de l’Agent Pathfinder dans l’ES, telles
que suggérées par le mécanisme de Planification Spatiale.
Composante de communication : Elle permet à l’agent de communiquer avec les
autres agents ainsi qu’avec l’utilisateur humain.
Acteur réel
Contrôle rapide
Contrôle raffiné
Composante de
Communication
Composante de Planification spatiale
Agent Pathfinder
Composante de Navigation
Composante
de Perception
Figure 5. Architecture interne de l’Agent Pathfinder : modèle PPM.
4.4. Fonctionnement
Un Agent Pathfinder peut opérer suivant deux modes différents selon la
contrainte temporelle : mode Temps Réel et mode Pré-exécution (si le temps réel
n’est pas requis).
Mode Pré-exécution: Dans le cas d’une attaque indirecte, le gestionnaire peut
demander à l’Agent Pathfinder de trouver un chemin pour les bulldozers avant que
l’exécution effective ne commence sur le terrain. Un Agent Pathfinder (représentant
le bulldozer) partant d’un point au voisinage de l’une des extrémités de l’esquisse
dessinée, planifie son chemin comme suit (pour simplifier, nous supposons ici qu’il
procède sans clonage ; le clonage est traité à la section 4.5).
Géo-simulation Multi-agent
17
Angle recouvrement
rayon
Direction limite
Agent Pathfinder
Agent Pathfinder
Agents Fire
Direction de la plus
proche portion de
l’esquisse
portion de chemin
déjà planifiée
Esquisse
Figure 6. Direction Limite.
Figure 7. Procédure suivie par l’Agent
Pathfinder (illustrée sur snapshot)
(1) détecter la direction de la portion de l’esquisse la plus proche.
(2) Percevoir les Agents Fire (si necessaire) et déterminer la direction limite (Figure
6) qui représente le seuil que l’Agent Pathfinder ne doit pas franchir pour ne pas se
diriger vers les Agents Fire.
(3) Percevoir l’environnement en lançant un rayon de balayage sur une certaine
distance et selon la direction déterminée en (1) ainsi que les n directions du
voisinage (l’angle entre la direction qui est la plus sur la gauche et celle qui est la
plus sur la droite, est appelé l’angle de recouvrement : Figure 7). Toute direction
choisie doit également être comparée à la direction limite déterminée en (2). Elle
doit se trouver à droite ou bien à gauche de cette direction limite (selon que le feu
est à droite ou à gauche de l’agent) (voir Figure 6).
(4) Calculer le coût de chaque rayon lancé (le coût relatif au déplacement du
bulldozer selon la direction du rayon).
(5) Si aucun rayon de balayage ne retourne un coût raisonnable (ceci peut être dû à
un obstacle par exemple ou encore à la présence du feu en face de l’Agent
Pathfinder), alors élargir l’angle de recouvrement (cela revient à considérer plus de
directions) et aller à (3) sinon (un coût raisonnable est trouvé) aller à (6).
(6) Choisir la direction qui offre le moindre coût et se déplacer selon cette direction
et jusqu’à faire franchir même distance que le rayon de balayage a parcourue.
(7) Aller à (1).
Dans l’étape (6), choisir la direction qui offre le moindre coût implique la
considération des caractéristiques du terrain et des contraintes spatiales et de la
position du feu. Les principales caractéristiques du terrain qui influencent le coût
sont : l’élévation, le degré de la pente et sa direction et le type d’essence.
18
Revue. Volume X – n° x/année
Étant donné que l’objectif de l’Agent Pathfinder est de suivre une esquisse sans
faire de virages étroits, le degré de déviation par rapport à la direction donnée par
l’esquisse ainsi que le voisinage de l’Agent Pathfinder (caractéristiques du terrain
dans cette zone), sont les principaux facteurs influençant le coût d’un rayon donné.
Enfin, la proximité du feu constitue un danger pour les bulldozers. L’Agent
Pathfinder doit alors prendre en considération ce facteur lors du choix de la
direction à suivre. Tout d’abord, l’agent doit absolument éviter de se diriger vers le
feu, ceci est assuré par la l’utilisation de la direction limite comme seuil à ne pas
franchir. Ensuite, même si l’agent ne se dirige pas directement vers le feu, il peut en
être plus ou moins proche, ce qui rend son mouvement plus ou moins dangereux et
risqué. Une direction qui mène ainsi le bulldozer proche du feu doit être plus
coûteuse qu’une autre qui maintient le bulldozer à une distance sécuritaire des
flammes. C’est la raison pour laquelle, et mis à part l’utilisation de la direction
limite, nous introduisons dans le coût de la direction un facteur lié au feu.
Si nous appelons BeamCost le coût d’un rayon donné, TerrainCost4 le coût lié aux
caractéristiques du terrain à cet endroit là, SpatialConstraintsCost le coût lié aux
contraintes spatiales, et FireClosenessCost le coût lié à la proximité du feu, à
l’intensité du feu et à la direction de propagation, le BeamCost est calculé selon
l’expression suivante:
BeamCost = TerrainCost (elevation, slope, slope_direction, fuel_type). +
SpatialConstraintsCost(deviation, sketch_nearby) +
FireClosenessCost(fire_closeness, Fire_Spreading_direction, fire_intensity)
[1]
L’Agent Pathfinder doit aussi supporter une autre contrainte spatiale: le fait
qu’aucun point de départ ou d’arrivée précis n’est donné. En effet, le point de départ
de la ligne à construire peut être n’importe lequel dans une certaine zone
géographique autour du point de départ donné par l’esquisse de l’expert. Il faut alors
considérer tous les points de cette zone comme d’éventuels points de départ (ou
d’arrivée). Ceci pourrait augmenter nos chances de trouver un meilleur chemin pour
le problème. En effet, commencer par un point au lieu d’un autre pourrait faire
éviter à l’Agent Pathfinder un obstacle majeur qui aurait augmenté de façon
significative le coût du chemin trouvé. Si S est l’ensemble5 des points de départ
possibles, l’Agent Pathfinder doit chercher un chemin à partir de chaque élément de
S. Puisque nous sommes dans un ES, nous pouvons très bien créer un Agent
Pathfinder pour chaque élément de S. Ceci permet d’explorer plusieurs chemins
possibles en un temps moindre. Un Agent Pathfinder considère qu’il atteint sa
destination s’il est dans une certaine zone prédéfinie (zone de l’ensemble des points
d’arrivée possibles).
4
Pour avoir un coût minimal, l’Agent Pathfinder doit éviter les portions à végétation dense.
MAGS peut supporter des milliers d’agents logiciels actifs en temps réel de simulation (et
en mode accéléré). Avec la version courante, nous pouvons lancer des milliers d’Agents
Pathfinder en parallèle, ce qui est largement plus que ce qui est nécessaire.
5
Géo-simulation Multi-agent
19
Mode temps réel : Lorsque le plan est en cours d’exécution (sur le terrain), l’agent
Pathfinder est utilisé pour d’autres fins. Tout d’abord, il doit garder trace dans l’ES
des mouvements effectifs du bulldozer (dans l’ER). Ensuite, il doit re-planifier de
façon périodique le reste du plan à partir de la position courante du bulldozer. Ceci
est fait dans le but d’anticiper tout problème qui pourrait survenir parce que l’ER est
tellement dynamique que les données (e.g. la progression effective des feux)
peuvent être différentes de ce qui a été prévu quelques minutes plus tôt. Enfin,
l’Agent Pathfinder doit re-planifier dès qu’un événement imprévu est rapporté. Par
exemple, un bulldozer peut notifier l’agent d’un obstacle imprévu. L’agent doit
alors trouver un nouveau plan qui tient compte de ce nouvel obstacle. Le nouveau
plan est ensuite envoyé au bulldozer. Selon le temps disponible, une planification
rapide ou raffinée est effectuée (Figure 5). Vu que la re-planification se fait dans
l’ES, l’Agent Pathfinder peut créer plusieurs clones pour tester plusieurs plans en
même temps. Ce processus est détaillé dans la prochaine section.
Un autre mécanisme nécessaire pour la procédure de recherche de chemin est
l’évitement d’obstacles. Lorsque l’Agent Pathfinder détecte un obstacle
infranchissable (le coût de l’expression [1] est très élevé), il le contourne. Pour ce
faire, nous nous appuyons sur une combinaison de deux approches utilisées en
robotique : le wall-following (Bauzil et al., 1981) et l’edge detection (Borenstein al.,
1988). Selon le mode de calcul (mode temps réel ou pré-exécution) et selon la
proximité du pathfinder réel par rapport à l’obstacle, l’une ou l’autre des deux
approches est utilisée. Cependant, vu que l’Agent Pathfinder opère dans un ES, il
peut se permettre de se cloner afin d’explorer en parallèle plusieurs façons d’éviter
l’obstacle, contrairement aux robots mobiles. Ce mécanisme d’évitement d’obstacles
n’est pas détaillé dans cet article par manque d’espace.
4.5. Clonage des agents
Le processus de clonage d’agents suit un algorithme en largeur d’abord.
Cependant, le nombre de feuilles choisies et évaluées à chaque étape dépend de
plusieurs contraintes.
Dans l’algorithme simplifié de la section 4.4, l’agent évalue à chaque étape n
directions possibles. Ce n est en fait variable. Il est déterminé selon le contexte dans
lequel évolue l’agent courant (l’Agent_Pathfinder qui est en train d’exécuter
l’algorithme). S’il s’agit d’une planification rapide, le n a tendance à être petit (dans
notre prototype il est égal à 2). Si par contre la planification est raffinée, le n est un
peu plus grand (dans notre prototype il est égal à 5). En effet, dans ce dernier cas, le
système dispose de plus de temps et peut donc se permettre d’examiner plusieurs
chemins possibles. Par la suite, les coûts relatifs aux n directions possibles sont
calculés. Dans l’algorithme de la section 4.4, l’agent choisissait la meilleure
direction (pas de clonage). Toutefois, en cas d’une stratégie nécessitant le clonage,
m directions, ayant les meilleurs coûts, seront sélectionnées pour exploration parmi
les n de départ. En fait, dépendamment de la nature de la planification menée
(rapide ou raffinée), l’Agent_Pathfinder peut décider ou non de cloner d’autres
agents comme lui, afin d’investiguer le maximum de chemins (ou directions)
20
Revue. Volume X – n° x/année
possibles. Si la planification est raffinée, il peut donc se permettre de générer des
clones. Si par contre, la planification est de type rapide, il se contente de choisir le
meilleur chemin et de l’emprunter lui-même (dans ce cas, m est égal à 1). Dans le
premier cas (planification raffinée), m est supérieur à 1, mais sa valeur varie pendant
la simulation. En effet, étant donné que le clonage est récursif (un clone peut par la
suite à son tour créer un autre clone), le nombre de clones augmentera de façon
exponentielle (les expériences montrent que ce nombre atteint quelques milliers
après quelques minutes de simulation, dépassant ainsi les capacités
computationnelles de la machine). Il est nécessaire donc de contrôler cette
éventuelle explosion combinatoire. Dans ce cadre, le m agit comme un régulateur de
clonage. Par exemple, si le nombre de clones présents dans l’ES est bas, le m peut
avoir une valeur égale à 3 (c’est à dire que l’Agent Pathfinder peut générer jusqu’à
3 clones à la fois). Si par contre, le nombre est élevé (ce qui ralentit
significativement la simulation), le m verra sa valeur diminuer.
Toutefois, il ne s’agit pas du seul mécanisme de contrôle de clonage. Il est
parfois plus judicieux de supprimer des clones devenus inutiles, plutôt que de
limiter le nombre des nouveaux clones. En effet, il arrive souvent que des clones se
rencontrent dans le même point mais avec des coûts différents. Nous avons alors
pensé à un autre mécanisme complémentaire au premier, et qui va débarrasser la
simulation des clones inutiles. Il s’agit de supprimer le clone qui arrive au même
point qu’un autre agent, mais avec un coût cumulatif (coût du chemin déjà parcouru
avant d’arriver à ce point) plus élevé. Il est à noter qu’une autre condition doit être
vérifiée : il faut que les deux agents aient des directions suffisamment similaires6.
En effet, dans le cas contraire (les deux arrivent au même point avec des coûts
différents mais avec des directions futures différentes), les deux agents sont
maintenus en vie car ils vont peut-être emprunter des chemins non similaires et donc
celui qui avait un coût plus élevé pourrait très bien finir avec un coût total moins
élevé s’il emprunte une autre direction très différente.
5. Résultats et Validation
Dans un contexte de simulation, la validation est le processus qui consiste à
évaluer les conclusions de la simulation pour voir si oui ou non elles sont similaires
aux conclusions observées sur l’ER (Feinstein et al., 2002). Plusieurs approches de
validation sont possibles dépendamment du contexte. Dans notre cas, nous avons
choisi une validation subjective7 (Feinstein et al., 2002), basée sur la retrodiction8.
6
Le terme ‘similaire’ ici veut dire que les deux directions mènent les deux agents à la même
cellule. Ceci est vérifié dans notre environnement découpé sous forme de grille lorsque
l’angle entre les deux directions est inférieur à 0.2.
7
Contrairement à la validation objective qui est basée sur des tests statistiques et des
procédures, la validation subjective repose sur l’affichage graphique, l’intuition, et les
expériences antérieures. L’approche subjective est privilégiée si le système est partiellement
ou totalement non observable (Birta et al., 1996).
Géo-simulation Multi-agent
21
Nous utilisons des données réelles (fournies par Sustainable Resource Development
of Alberta (ASRD)) d’un feu de forêt appelé DOGRIB9.
Notre stratégie est la suivante : nous disposons de données réelles (à partir de
l’historique d’un vrai feu), nous devons alors faire valider par des experts du
domaine des feux, une série d’aspects quantitatifs et qualitatifs. Ces aspects sont
exprimés à travers un scénario qui simule ce qui s’est passé à Dogrib et que nous
avons développé pour des fins de validation. Les 3 phases de la validation sont les
suivantes :
Esquisse (1)
Esquisse (2)
Figure 8. Plan Expert 1
Figure 9. Plan Expert 2
ère
1 phase : prédictions de l’expert. Des experts visualisent la progression des feux
du Dogrib dans notre ES. Par la suite, chaque expert doit proposer un plan (une
esquisse d’une ligne d’arrêt) qui aurait pu empêcher les feux de se propager comme
en 2001, et ce selon son expérience et son jugement personnel de la situation. Les
figures 8 et 9 représentent respectivement les esquisses proposées par deux experts
2e phase : Évaluation des propositions des experts. Les plans des experts sont
évalués. Notre système (via des agents particuliers Agent_EstimerPlanExpert) juge
la faisabilité de la ligne proposée et dans le cas où cette solution est faisable, il juge
l’approximation donnée par l’expert quant à la durée prévue pour la réalisation de la
ligne. Pour ce faire, l’Agent_EstimerPlanExpert doit suivre le tracé de l’expert tout
en ajustant sa vitesse de progression selon les caractéristiques des portions du
terrain par lesquelles il passe, calculer le coût (le temps) de son déplacement, et
vérifier de façon continue10 que la ligne de feu n’atteint pas une portion de la ligne
8
Ayant à disposition un historique de qualité suffisante et un modèle qui reproduit cet
historique correctement, le modèle pourrait alors être jugé fiable pour le futur. (Gross et al.,
2000)
9
Le feu Dogrib a commencé le 25 septembre 2001 près Nordegg en Alberta centrale, Canada.
Le feu de 9898 ha a brûlé pendant 22 jours
10
Pour plus de réalisme, nous mettons à jour les données d’entrée de Prometheus surtout pour
ce qui est de la portion de la ligne d’arrêt déjà construite (que l’Agent_EstimerLigneExpert a
déjà passée), et ce pendant la simulation et de façon continue. Au fur et à mesure que la ligne
22
Revue. Volume X – n° x/année
d’arrêt qui n’a pas été encore construite (donc une portion que
l’Agent_EstimerPlanExpert n’a pas encore atteint : voir Figure 11). Si
l’Agent_EstimerPlanExpert arrive à destination (la fin du tracé) sans que le feu ne
dépasse la ligne d’arrêt, le tracé est jugé faisable (Figure 10). Dans ce cas, le coût
calculé par l’Agent_EstimerPlanExpert est comparé à l’estimation donnée
auparavant par l’expert.
3e phase : Proposition d’un autre plan par les Agents Pathfinder. Les Agents
Pathfinder sont lancés afin de trouver un plan. Ce dernier est comparé à celui trouvé
par l’expert. Si l’expert n’a pas réussi à trouver un plan faisable, les Agents
Pathfinder peuvent assister l’expert pour corriger son plan.
Trace de
l’Agent_EstimerPlanExpert
Esquisse (1)
Feu qui aurait dépassé
la ligne à construire
Agent_EstimerPlanExpert
Esquisse (2)
Figure 10. Cas d’un plan jugé faisable
infaisable
Figure
11.
Cas
d’un
plan
Selon les tests effectués, l’utilisateur qui essaye de minimiser au maximum la
longueur de la ligne et l’espace qui sera sacrifié (espace qui sera brûlé entre la ligne
d’arrêt et la position courante des feux) (comme le cas de l’expert 2 Figure 9) voit
souvent son plan refusé par l’Agent_EstimerPlanExpert à cause de son infaisabilité.
En effet, même par des tests répétitifs sur le même feu, il était très difficile de
trouver un chemin qui soit à la fois faisable et qui minimise les pertes aussi bien au
niveau de l’espace qu’au niveau des coûts de réalisation. Quant à l’utilisateur qui ne
préfère pas prendre de risque (comme le cas de l’expert 1 Figure 8), il a souvent
tendance à proposer une esquisse un peu trop éloignée des feux et par conséquent
plus coûteuse. En effet, si l’Agent_EstimerPlanExpert arrive à terme de ce plan
(donc le plan est faisable), le coût serait beaucoup plus élevé que si l’emplacement
de la ligne avait été mieux optimisé. De plus, les estimations des experts
relativement à la durée de réalisation de la ligne sont souvent très différentes des
calculs de l’agent. En effet, il s’est avéré qu’il est très difficile d’estimer cette durée.
Ceci était en fait prévisible, compte tenu de la forte corrélation entre le coût du
chemin et les diverses caractéristiques du terrain.
d’arrêt se construit (virtuellement), Prometheus génère le nouveau périmètre de feu en tenant
compte de cette nouvelle donnée (présence d’une portion de la ligne d’arrêt).
Géo-simulation Multi-agent
23
Il était donc question de valider deux aspects relatifs à la planification d’une ligne
d’arrêt : un aspect quantitatif et un autre qualitatif. Pour ce qui est de l’aspect
quantitatif, nous avons pu constater l’efficacité des agents dans l’estimation du coût
du plan (le chemin), ainsi que celui du temps nécessaire pour le réaliser. Ceci est
parfaitement compréhensible car ces agents disposent de l’information complète et
détaillée concernant le terrain, et peuvent par conséquent donner des estimations
fiables (si bien sûr les données utilisées dans le calcul sont fiables et les règles de
calcul réalistes) du temps que mettrait un bulldozer pour exécuter le plan. Toutefois,
la qualité du plan généré par les agents dépend du niveau de clonage (en d’autres
termes du paramètre m). Lorsque le clonage n’est pas utilisé (m=1), les agents
arrivent à proposer un plan faisable mais pas optimisé. Plus la valeur du paramètre
m est grande plus les agents ont de chances de trouver un plan plus optimisé.
Cependant, accroître la valeur de m fait augmenter le nombre d’agents clones de
façon exponentielle et parfois sans valeur ajoutée. En effet, d’après des centaines de
tests faits au laboratoire sur des portions différentes de terrain et avec des esquisses
différentes, le plan généré par les agents avec m=3 est le même qu’avec m=4 dans
98% des cas. Dans les cas où le coût du plan est plus faible, la différence avec le
plan généré avec m=3 est minime. Nous avons conclu que prendre la valeur 3 pour
m est largement suffisant pour les raisons suivantes : 1) le temps d’exécution pour
m=3 est d’environ 10 fois moindre que pour m=4 ; 2) le plan trouvé n’est fourni
qu’à titre indicatif (car il va être mis à jour continuellement après) ; 3) la qualité du
plan est aussi jugée qualitativement (un bon chemin n’est pas forcément le moins
coûteux, mais aussi celui qui respecte le plus les contraintes qualitatives du
problème - pas de virages serrés, être conforme à l’esquisse de l’expert, etc.),
Pour ce qui est du volet qualitatif, et en comparant les résultats obtenus par les
agents à ceux des experts humains, il faut noter tout d’abord que dans un premier
cas, la différence est nette. Il s’agit du cas où l’expert humain propose un plan
infaisable. La solution proposée par les agents est évidemment meilleure puisqu’elle
est au moins faisable (Figure 12). Dans le cas où l’expert réussit à proposer un plan
faisable, les agents proposent une solution quantitativement meilleure (de moindre
coût). Mais on peut se demander si cette solution est toujours qualitativement
meilleure? En fait, trouver un chemin moins coûteux pour les agents, revient à
s’éloigner un peu de l’esquisse de l’utilisateur en cherchant des portions de terrains
plus faciles à traverser. Ceci conduit des fois à sacrifier plus ou moins de terrain au
profit des feux ou encore à se détourner un peu de la stratégie proposée par l’expert.
Cependant, chaque critère qualitatif d’évaluation du plan peut avoir des résultats
différents selon les circonstances : Le fait de sacrifier plus de terrain au profit des
feux peut sembler désavantageux si la priorité de l’expert est de minimiser au
maximum l’espace perdu ou encore de sauver certaines ressources (habitations,
équipements) des flammes, mais peut aussi être avantageux si par exemple la
situation est très critique et que la sécurité des équipes d’intervention est prioritaire.
La leçon que nous pouvons tirer de ces expériences, est que, lorsque l’expert
humain est capable de proposer une solution faisable, les agents ne donnent pas
forcément une meilleure solution (au niveau qualitatif), mais plutôt une alternative
moins coûteuse (quantitativement). Dépendamment des circonstances, l’expert
24
Revue. Volume X – n° x/année
humain pourrait choisir l’une ou l’autre des deux solutions. Dans tous les cas, nous
l’aurions aidé à trouver la solution la plus adéquate.
Plan des Agents
Pathfinder
Esquisse Expert
Figure 12. Plan amélioré par les Agents Pathfinder
Il est à noter que l’un des facteurs influençant les résultats obtenus est la fonction de
calcul des coûts des déplacements des agents et plus précisément l’expression [1]
décrite dans la section 4.4. Nous avons certes pu déterminer les principaux facteurs
qui influencent le coût. Toutefois, les pondérations respectives de ces facteurs dans
la fonction ne sont pas faciles à estimer. Par exemple, considérant les
caractéristiques du terrain, quelle pondération donner à l’élévation, au degré de la
pente, etc.? Pour ce qui est des contraintes spatiales, faudrait-il privilégier plus une
direction moins coûteuse mais qui dévie un peu de l’esquisse ou bien une autre
direction qui respecte mieux la forme de l’esquisse mais qui est un peu plus
coûteuse? Etc. Ce qui est sûr par contre, c’est que les pondérations sont importantes
et que des heuristiques doivent être trouvées pour déterminer une fonction avec des
pondérations plus réalistes, et par conséquent de meilleurs plans. Il est donc
fondamental de mieux observer les opérations de lutte sur le terrain pendant les
incendies afin de collecter les données nécessaires pour fournir au modèle de
planification des agents des règles plus réalistes.
Pour ce qui est du modèle Prometheus, l’Alberta Sustainable Resource
Development (ASRD) - organisme responsable du développement du modèle – a
testé Prometheus sur des cas réels. Les résultats étaient excellents (en moyenne,
Prometheus a une marge d’erreur de quelques minutes sur chaque 24h de
prédiction).
6. Discussion et travaux connexes
Peu de travaux utilisent la simulation basée sur les agents logiciels pour des fins
de planification (Lee et al., 1997 ; Horn et al., 2000 ; Atkin et al., 1998 ; Cohen et
Géo-simulation Multi-agent
25
al., 1989). Cependant, la plupart de ces travaux ne font pas le lien avec l’ER et ne
peuvent donc pas être appliqués à des applications du monde réel et en temps réel.
Récemment, (Weynes et al., 2005) ont utilisé un environnement virtuel pour
planifier les actions des véhicules guidés automatiquement (Automatic Guided
Vehicles AGV) dans un espace restreint (par exemple, un couloir). Cependant,
ENCASMA est destinée à des espaces géographiques réels à grande échelle
contrairement à ce que Weynes et ses collègues proposent. Mais la différence la plus
marquée réside dans la portée de l’architecture même. ENCASMA s’intéresse à
toutes les entités pertinentes de l’ER (données sur l’espace et sur l’évolution de la
situation, sur les acteurs et leurs objectifs, sur les ressources, etc.), à leurs
correspondants dans l’ES et aux différents moyens de liaison entre les deux
environnements. À notre connaissance, aucune autre architecture ne donne un
appariement aussi global entre l’ER et l’ES pour des applications à forte
composante spatiale.
L’apport d’ENCASMA est aussi au niveau de la complémentarité humain/agent
logiciel. Reprenons l’exemple de la stratégie d’attaque indirecte. La procédure
courante consiste à déployer des pompiers éclaireurs sur le terrain. Ces éclaireurs
(des hommes à pied) devancent les bulldozers afin d’appréhender le terrain et guider
ainsi les machines à travers les endroits les plus faciles à passer (les éclaireurs
accrochent des rubans rouges sur les arbres pour indiquer le chemin aux bulldozers).
La qualité du chemin proposé dépend ainsi de la perception de ces éclaireurs.
Cependant, puisque ces derniers n’ont pas une vision globale de la situation (ils ne
peuvent percevoir que leur voisinage), ils ne peuvent qu’au mieux proposer une
portion du plan au lieu d’un plan global qui mène à destination. Ceci pourrait
entraîner bien entendu l’échec du plan, ce qui n’est pas toléré pour de telles
situations critiques. Les décisions prises par les éclaireurs qui sont déjà limitées par
les capacités humaines de calcul, peuvent être biaisées (carte cognitive biaisée).
L’Agent Pathfinder, au contraire, est capable (en utilisant surtout ses capacités de
perception) de considérer les principales caractéristiques du terrain en détail dans
l’ES afin de trouver un chemin convenable. Il peut ainsi proposer un plan global.
Cependant, cet agent a besoin de suivre une esquisse proposée par le gestionnaire
humain. Pour proposer une telle esquisse, l’expert humain fait appel à son
expérience, à sa compréhension de l’espace ainsi qu’à son raisonnement spatial
intuitif (ce qui ne peut être assuré par des agents logiciels, du moins pour l’instant).
En effet, (Hoc 1987) affirme que la planification humaine est basée sur
l’anticipation et la schématisation. Quand un individu humain est face à une
nouvelle situation, il est capable de détecter des similarités avec des situations
connues et d’anticiper des événements ou des propriétés qui ne sont pas encore
complètement identifiés. De plus, bien que le raisonnement géographique soit
typiquement basé sur des informations incomplètes, les humains sont capables d’en
tirer des conclusions assez précises en complétant l’information intelligemment ou
en appliquant certaines règles par défaut basées souvent sur le bon sens. Nous avons
ici un exemple de complémentarité entre les cognitions spatiales des agents logiciels
sensibles à l’espace d’une part et des planificateurs humains d’autre part.
26
Revue. Volume X – n° x/année
Toutefois, l’être humain a des limitations au niveau de ses capacités de simulation.
L’Agent Pathfinder, par contre, offre un bon support au planificateur humain car il
est capable de simuler des plans complexes avec précision et en très peu de temps.
Cependant, étant données la complexité du domaine et sa nature (situation réelle et
critique), les agents logiciels ont à leur tour besoin des planificateurs humains pour
valider leurs plans. En effet, les agents logiciels de façon générale et les Agents
Pathfinder particulièrement, n’ont pas le même sens raffiné d’anticipation et de
jugement que les experts humains. Un plan élaboré par des agents logiciels, même si
dans son apparence il semble bien construit, peut ainsi ne pas être faisable dans l’ER
ou peut contredire certaines doctrines. Les experts humains peuvent proposer de
changer ce plan selon leur propre expérience et leur sens de l’anticipation. Le
phénomène est plus ressenti chez les militaires comme il est décrit dans (Lewis et
al., 2001). En effet, les commandants ont une vaste expérience qui n’est pas facile à
quantifier. Ils doivent considérer des facteurs très caractéristiques de la situation en
cours tels que les informations non quantifiables, les objectifs complexes ou
vaguement spécifiés, les situations dynamiques (information incomplète ou
changeante, obstacles, actions ennemies, etc.), etc. La géo-simulation multi-agent
peut donc complémenter les compétences des planificateurs humains pour résoudre
des problèmes complexes.
En ce qui concerne le domaine d’application (les feux de forêts), il serait intéressant
de situer notre recherche par rapport aux autres travaux tels que PHOENIX (Cohen
et al., 1989), CHARADE (Avesani et al., 2000) et SIADEX (de la Asunción 2004).
Phoenix, par exemple, est aussi basé sur une architecture à quatre couches similaire
à ENCASMA. Le processus de planification dépend d’une librairie de plans. Les
agents doivent en choisir le plan le plus approprié. Ces agents sont organisés de
façon hiérarchique afin de supporter la hiérarchie des acteurs de l’environnement.
Malgré tous ses atouts, Phoenix est resté un outil d’essai en laboratoire. Il ne
propose aucune extension pour supporter les situations du monde réel. Les agents
dans Phoenix n’ont pas la sensibilité spatiale requise pour raisonner sur les
caractéristiques spatiales du terrain et respecter les contraintes spatiales qualitatives
du problème. De plus, le processus de planification et de re-planification est assez
simple et ne profite pas des récentes approches de planification telles que la
Planification Distribuée en Continu11 (Desjardins et al., 1999). Même le principe
d’anticipation des actions futures (qui est une bonne initiative) présent dans
Phoenix, est limité puisqu’il ne profite pas des avantages que peut lui offrir l’ES. Il
aurait été plus judicieux dans Phoenix de simuler les actions futures (comme nous le
faisons dans ENCASMA), au lieu de simplement les calculer. La plupart des
systèmes à l’image de PHOENIX et CHARADE, n’offrent pas aux agents logiciels
(au cas où il y en a) de sensibilité géo-spatiale et ne mettent pas l’emphase sur la
complémentarité cognitive entre les planificateurs humains et les agents logiciels.
Récemment, SIADEX, un système intelligent d’aide à la décision pour la
11
Dans cette approche, la planification est souvent distribuée et la génération du plan est
entrelacée avec le processus d’exécution. Dans notre cas d’étude (planification de la ligne
d’arrêt), ce principe est utilisé (Sahli 2006) mais n’est pas présenté ici par faute d’espace.
Géo-simulation Multi-agent
27
planification des opérations de lutte contre les feux de forêts, a proposé d’utiliser
des techniques de planification délibérative sans faire appel à une librairie
prédéfinie de plans déjà mémorisés. SIADEX offre également suffisamment
d’interactivité pour impliquer les planificateurs humains dans le processus de la
planification. Toutefois, cette implication de l’être humain n’est pas aussi poussée
que dans notre approche où l’intervenant humain peut par exemple faire des
suggestions qualitatives lors de l’élaboration du plan (dessiner une esquisse).
SIADEX ne se base pas sur les agents logiciels et les algorithmes qu’il utilise
n’offrent pas une sensibilité spatiale suffisante. Il ne supporte pas les opérations
temps réel non plus (pas de liens entre l’ES et l’ER). Cependant, SIADEX propose
plusieurs types d’incertitudes (temporelles et spatiales) pour gérer l’évolution de
l’environnement, ce qui n’est pas encore fait dans notre approche. Enfin, et pour
clore la discussion sur les feux de forêts, nous devons préciser que notre approche
ENCASMA peut très bien s’appliquer sur d’autres domaines que les feux de forêts.
ENCASMA pourrait par exemple être appliquée sur la gestion des marées noires.
Les données sur le terrain seraient remplacées par les données maritimes, le modèle
de Prometheus par un modèle de propagation du pétrole sur la surface de l’eau, etc.
Les agents planificateurs agissant dans l’ES auraient cette fois pour tâche de
planifier comment encercler le nappe de pétrole et de simuler son exécution en
tenant compte des contraintes maritimes (les courants d’eau, les profondeurs, etc.) et
de la météo.
Comme nous l’avons mentionné auparavant, le Pathfinding est surtout utilisé pour
les jeux d’ordinateur. A* est toujours l’un des algorithmes les plus utilisés. Quand il
s’agit d’un environnement dynamique, A* est remplacé par D* (Stentz 1995).
Cependant, très peu de travaux considèrent des contraintes semblables à celles qui
sont abordées dans notre travail. L’idée de faire du Pathfinding par simulation n’est
pas nouvelle. Elle a été déjà utilisée par (Lee et al., 1994) pour décider du chemin
d’un rover en temps réel. Le même système a été par la suite appliqué au problème
de planification de missions militaires aériennes (Lee et al., 1997) où les auteurs ont
adopté une approche « multi-agent ». Cependant, l’environnement qui était
considéré n’est pas très réaliste (ne se base pas sur des données SIG), les agents
logiciels n’étaient ni autonomes ni sensibles à l’espace, et enfin la complémentarité
entre l’ER et l’ES était pratiquement négligée. Le seul travail qui ressemble un peu à
ce que nous avons proposé, est celui de Lewis et ses collègues (Lewis et al., 2001).
Les auteurs proposent un simulateur de champ de bataille (MokSAF) où chaque
commandant participant doit planifier un chemin. La planification des chemins est
supportée par des agents logiciels. Bien que ce travail soit assez différent du nôtre
(pas de contraintes qualitatives supportées, pas de données réelles, pas de
parallélisme entre un ES et un ER pour supporter des applications réelles en temps
réel, les agents n’ont pas des capacités de perception, de navigation, etc.), il reste
toutefois très intéressant car il aboutit à des conclusions similaires aux nôtres : les
agents logiciels sont très bénéfiques pour le Pathfinding, la simulation est un bon
moyen pour faire du Pathfinding pour des applications réelles et complexes dans un
grand espace géographique et enfin la complémentarité entre agents logiciels et
28
Revue. Volume X – n° x/année
planificateurs humains est à la base de la réussite du processus de Pathfinding
assisté par agents.
7. Conclusion et travaux futurs
Dans cet article, nous avons proposé une approche originale pour assister les
êtres humains dans la résolution de problèmes complexes de planification dans un
espace réel, dynamique et à grande échelle géographique. L’approche se base
surtout sur les principes suivants : (i) Utilisation de la simulation pour planifier ; (ii)
Connaissance spatiale augmentée ; (iii) Sensibilité spatiale des agents logiciels
planificateurs.
Les principaux apports (autres que l’objectif principal de l’architecture) de notre
approche sont : (i) Rallier les capacités cognitives des planificateurs humains à
celles des planificateurs logiciels pour construire de meilleurs plans (plus réalistes,
plus efficaces et plus précis) ; (ii) Pouvoir assister le planificateur humain grâce au
raisonnement spatial qualitatif ; (iii) Planifier de façon plus efficace dans un
environnement dynamique et complexe.
Relativement à l’application effective de notre approche aux feux de forêts, nous
avons rencontré des experts des feux de forêts (en Alberta) qui ont montré leur
enthousiasme envers notre projet. Ils étaient convaincus que la géo-simualtion basée
sur les agents peut très bien faire partie des futurs outils qui gèrent les opérations de
lutte contre les incendies de forêts. Cependant, l’utilisation de cette approche dans
des situations réelles dépendra du développement des liens de communication entre
les agents (surtout les agents réels et les agents de simulation), de la disponibilité
des données SIG, de l’efficacité des senseurs, de la fiabilité des communications, de
la qualité des données géo-référencées utilisées, etc. Certains de ces défis sont déjà
en voie d’être surmontés : Les données SIG sont de nos jours de plus en plus
utilisées; Quelques bulldozers sont déjà équipés de dispositifs GPS leur permettant
de suivre automatiquement et avec précision un chemin géo-référencé; etc. Ces
technologies commencent également à être appliquées dans des domaines similaires
comme dans la navigation par suivi de chemin des véhicules terrestres autonomes
(path tracking navigation of autonomous ground vehicle) (Hellstrom 2002). Enfin,
le projet Siren (Jiang et al., 2004) est un bon exemple de l’utilisation de
l’informatique omniprésente pour permettre aux agents humains (les pompiers) de
profiter de la connaissance spatiale augmentée que peuvent offrir les agents
logiciels.
La partie sur laquelle nous avons mis le moins d’emphase dans ce travail, est
certainement la communication (entre agents de simulation et agents réels, ou entre
agents logiciels et agents humains). Nickerson et Lu ont récemment proposé un
langage pour les senseurs web sans fil, appelé SWL (Sensor Web Language)
(Nickerson et al., 2004). SWL est utilisé pour transmettre des informations à travers
un réseau sans fil à faible puissance. Une des voies de recherches futures serait de
concevoir un langage spatial que les agents peuvent utiliser pour interagir entre eux
Géo-simulation Multi-agent
29
ou avec les planificateurs humains et qui serait simple et léger à l’image du SWL.
Ce langage doit supporter les contraintes spatiales aussi bien quantitatives que
qualitatives.
8. Remerciements
Nous remercions le NSERC (Natural Sciences and Engineering Research
Council) pour avoir financé notre recherche, ainsi que le GEOIDE (Canadian
Network of Centers of Excellence in Geomatics) pour avoir supporté le
développement de MAGS. Nous sommes également reconnaissants au ASRD
(Alberta Sustainable Resource Development) et à la SOPFEU (Société de protection
des forêts contre le feu au Québec) pour toute l’aide qu’ils ont fournie relativement
à l’utilisation de la librairie Prometheus, à l’acquisition de connaissances sur la lutte
contre les incendies et à l’accès à des ressources expertes dans le domaine.
9. Bibliographie
Atkin M., Westbrook D.L., Cohen P.R., Jorstad G.D., « AFS and HAC: Domain-general
agent simulation and control. » AAAI-98 Workshop on Software Tools for Developing Agents,
1998, p. 89-95.
Avesani P., Perini A., Ricci F., « Interactive case-based planning for forest fire management.”
Applied Intelligence, vol. 13, n° 1, 2000, p. 41–57.
Bauzil G., Briot M., Ribes P.: “A Navigation Sub-System Using Ultrasonic Sensors for the
Mobile Robot HILARE.” 1st Int. Conf. on Robot Vision and Sensory Controls, Stratfordupon-Avon, UK, (1981), 47-58 & 681-698.
Benenson I., Torrens P.M., Geosimulation: Automata-Based Modeling of Urban Phenomena.
Edited by John Wiley & Sons, 2004.
Birta L.G., Özmizrak F.N., “A knowledge-based approach for the validation of simulation
models: the foundation.” ACM Transactions on Modeling and Computer Simulation
(TOMACS). vol. 6, n°1, 1996, p. 76-98.
Borenstein, J. and Koren, Y., "Obstacle Avoidance With Ultrasonic Sensors." IEEE Journal
of Robotics and Automation., Vol. RA-4, n°2, 1988, p. 213-218.
Bousquet F., Bakam I., Proton H., Lepage C., "Cormas: common-pool resources and multiagent Systems”. Springer LNCS 1416, 1998, p. 826-838.
Cohen P.R., Greenberg M.L., Hart D.M., Howe A.E., “Trial by fire: Understanding the
design requirements for agents in complex environments.” AI Magazine, vol.10, n°3, 1989, p.
34-48.
de la Asunción M., Castillo L., Fdez.-Olivares J., García-Pérez O., González A., Palao
F., “SIADEX: an interactive artificial intelligence planner for decision support in forest fire
30
Revue. Volume X – n° x/année
fighting.” Workshop on Binding Environmental Sciences and Artificial Intelligence (BESAI
2004), European Conf. on Artificial Intelligence.
Delin K.A., Jackson S.P., Some R.R., « Sensor webs », NASA tech Briefs, 23, 80, 1999.
Desjardins M.E., Durfee E.H., Ortiz C.L., Wolverton M.J., “A survey of research in
distributed continual planning.” AI Magazine vol. 4, 1999, p. 13-22.
Egenhofer M., Mark D., "Naive Geography," Spatial Information Theory---A Theoretical
Basis for GIS, International Conference COSIT `95, Semmering, Austria, A. Frank and W.
Kuhn, eds., LNCS, Springer-Verlag, vol. 988, 1995, p. 1-15.
Feinstein A.H., Cannon H.M., “Constructs of Simulation Evaluation.” Simulation
Gaming. vol. 33, 2002, p. 425-440.
Forbus K.D., "A Study of Qualitative and Geometric Knowledge in Reasoning about
Motion," Massachusetts Institute of Technology AI Laboratory, AI-TR-615, 1981.
Gat E., “On three-layer architectures”. In Artificial Intelligence and Mobile Robots, Chap. 8,
edited by Kortenkamp, Bonnasso and Murphy (AAAI Press), 1998.
Gross D., Strand R., "Can Agent-Based Models Assist Decisions on Large-Scale Practical
Problems? A Philosophical Analysis", Complexity, vol. 5, n° 6, 2000, p. 26-33.
Hart, P. E., Nilsson, N. J.; Raphael, B., "A Formal Basis for the Heuristic Determination of
Minimum Cost Paths". IEEE Transactions on Systems Science and Cybernetics SSC4 (2),
1968, p. 100–107.
Hellstrom T., “Autonomous navigation for Forest Machines.” A project Pre-study in the
Department of Computer Science, Umea University, Sweden, 2002.
Hoc J.M., Cognitive Psychology of Planning. Book in Academic press, 1987.
Horn G., Baxter J., « An Interactive Planner for Tank Squadron Assaults » on the first
Planning and Scheduling Special Interest Group workshop, Milton Keynes, UK, 2000.
Jennings N.R., «On agent-based software engineering!», AI Journal, vol. 117, 2000, p. 277–
296.
Jennings N.R., Sycara K., Wooldridge M., “A roadmap of agent research and development.”
Journal of Autonomous Agents and Multi-Agent Systems vol. 1, 1998, p. 275–306.
Jiang X., Chen N.Y., Hong J.I., Wang K., Takayama L., Landay J.A., “Siren: Context-aware
Computing for Firefighting”, in Pervasive 2004: The Second International Conference on
Pervasive Computing, Linz /Vienna, Austria, 2004, p. 19-23.
Kahneman D., Tversky A., “The simulation heuristic.” In Kahneman, Slovic, Tversky (Eds.)
Judgement under uncertainty: Heuristics and biases. Cambridge University Press, 1982.
Kerst S.M., Howard J.H., Gugerty L.J., “Judgment accuracy in pair-distance estimation and
map sketching.” Bulletin of the Psychonomic Society, vol. 25, n° 3, 1987, p. 185-188.
Kray C., “The benefits of multi-agent systems in spatial reasoning.” Special Track on Spatiotemporal Reasoning. Proceedings of Flairs, AAAI Press, Menlo Park, CA, 2001, p. 552-556.
Géo-simulation Multi-agent
31
Kremens R., Seema A., Fordham A., Luisi D., Nordgren B., VanGorden S., Vodacek A.,
« Networked, autonomous field-deployable fire sensors. » Proceedings of the 2001
International Wildland Fire Safety Summit. 2001.
Kuipers B., “The Map in the Head Metaphor”, Environment and Behaviour, vol. 14, 1982, p.
202-220.
LaMothe A., “Tricks of the Windows Game Programming Gurus.” New York, Sams
Publishing, 1999.
Lee J.J., Fishwick P.A., "Real-Time Simulation-Based Planning for Computer Generated
Force Simulation", Simulation, vol. 63, n° 5, 1994, p. 299-315
Lee J.J., Fishwick P.A., “Simulation-based Planning for Multi-Agent Environments.” Winter
Simulation Conference, 1997, p. 405-412
Lewis M., Lenox T., Payne T., Sycara K., “Spatial planning in teams of human and machine
agents.” Proceedings of the 2nd Conference on Information Technology and Spatial
Planning, Isole Tremiti, It, 2001.
Moulin B., Chaker W., Perron J., Pelletier P., Hogan J., « MAGS Project: Multi-Agent
GeoSimulation and Crowd Simulation ». COSIT’2003.
Najlis R., North M., “Repast For GIS” The Agent 2004 Conference on Social Dynamics:
Interaction, Reflexivity, and Emergence, Chicago.
Nickerson B.G., Lu J., “A language for wireless Sensor Webs.” 2nd Annual Conference on
Communication Networks and Services Research CNSR, 2004.
Nicolas M.V.J., Beebe G.S., “The Training of Forest Firefighters in Indonesia.” Report of
Government of Indonesia – Ministry and Estate crops, European Union-European
Commission, and GTZ- German Agency for Technical Cooperation, 1999.
Niederberger C., Gross M.H., “Generic Path Planning for Real-Time Applications.” in
Proceedings of Computer Graphics International, Heraklion, Crete, Greece, 2004.
Prometheus, Site web: http://www.firegrowthmodel.com/index.cfm. mis à jour: 2005.
Rogers S., Fiechter C.N., Langeley P., “An adaptive interactive agent for route advice.” In
Proceedings of Autonomous Agents 1999, p. 198–205. New York, New York: ACM Press.
Sahli N., “La géo-simulation Orientée Agent: un support pour la planification dans le monde
réel”, thèse doctorale présentée à l’Université Laval, Canada, février 2006.
Sahli N., Moulin B., “Real-World Pathfinding using Agent-Based Simulation”. AgentDirected Simulation Symposium Part of the 2005 Spring Simulation Multiconference.
Stentz A., “The Focussed D* Algorithm for Real-Time Re-planning.” In Proceedings of the
International Joint Conference on Artificial Intelligence. 1995.
Tversky B., « Distortions in memory for maps. » Cognitive Psychology, vol. 13, 1981, p. 407433
Weynes D., Schelfthout K., Holvoet. T., “Exploiting a virtual environment in a real-world
application.” In workshop Environment for Multi_agent Systems (E4MAS) in International
Conference AAMAS’05. Utrecht, Holland, 2005.

Documents pareils