La géo-simulation multi-agent. Un support pour la planification dans un environnement réel

31
Revue. Volume X – n° x/année, pages 1 à X 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.

Transcript of La géo-simulation multi-agent. Un support pour la planification dans un environnement réel

Revue. Volume X – n° x/année, pages 1 à X

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, [email protected]. ** 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.

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éo-simulation. 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 plate-forme 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).

Données réelles spatiales

Évolution de la situation

Acteurs et ressources

Plate-forme de Simulation

Modèles Physiques

SMA

ENCASMA

SIG

Senseurs

Communication

Applications Buts

Environnement Réel

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 plate-forme 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

Initialisation Module Feu

Prometheus

Interface Module Comportement

Module particule Module

Environnement 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 FEU DE FORET Espace Forêt ou parc Acteur Pompier But des acteurs Encercler le feu pour l’éteindre AAR Agent Bulldozer Réel ABR AAS Agent Bulldozer de Simulation ARS Objet x de simulation (x∈ Habitations, lac, etc.) Évolution Feux Modèle physique Modèle PROMETHEUS (Prometheus 2005) Plate-forme de simulation MAGS Senseurs Satellite, avions, autonomous fire detectors, etc. Simulateur Prometheus

Prometheus (interface COM) MAGS

Environnement

Agents

SIG (terrain)

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 re-planification 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.

Agent Pathfinder

Composante de Communication

Contrôle raffiné Contrôle rapide

Composante de Navigation Acteur réel

Composante de Planification spatiale

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

Esquisse

portion de chemin déjà planifiée

D s irection de la pluproche portion de

l’esquisse

Agent Pathfinder

rayon

Angle recouvrement

Agent Pathfinder

Agents Fire

Direction limite

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

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

1ère 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)

Esquisse (2)

Agent_EstimerPlanExpert

Feu qui aurait dépassé la ligne à construire

Figure 10. Cas d’un plan jugé faisable Figure 11. Cas d’un plan infaisable

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, Stratford-upon-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 multi-agent 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 Spatio-temporal 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”. Agent-Directed 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. 407-433

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.