Système Multi-Agent de Sauvetage | FST Rapport de Projet Académique | Avril 2026
FACULTÉ DES SCIENCES DE TUNIS (FST)
Département d'Informatique
Rapport de Projet Académique
Multi-Agent Rescue System
Une Simulation Coopérative de Réponse aux Catastrophes avec LangGraph et
Streamlit
Préparé par
Makrem Ben Zekri
Nour Ardhaoui
Sarra Soyah
Rania Trabelsi
Avril 2026
Page 1 of 11
Système Multi-Agent de Sauvetage | FST Rapport de Projet Académique | Avril 2026
Résumé
Ce rapport présente la conception, l'implémentation et l'évaluation d'un Système Multi-Agent de
Sauvetage développé dans le cadre d'un projet académique en génie logiciel et intelligence
artificielle à la Faculté des Sciences de Tunis (FST). Le système simule une mission coopérative
de réponse aux catastrophes dans laquelle plusieurs agents autonomes opèrent dans un
environnement dynamique à base de grille, dans des conditions d'observabilité partielle.
L'architecture combine un superviseur basé sur LangGraph pour l'orchestration des flux de travail
avec deux catégories d'agents spécialisés : des agents drones responsables de l'exploration de
l'environnement et de la détection des victimes, et des agents robots responsables du sauvetage
des victimes. Un état de mission partagé maintient la coordination entre les agents, tandis qu'un
tableau de bord Streamlit fournit une visualisation en temps réel et un contrôle interactif. Le projet
démontre comment les concepts classiques des systèmes multi-agents, notamment la
planification coopérative, le raisonnement à base de règles et l'allocation des tâches en contexte
d'incertitude, peuvent être intégrés dans un pipeline de simulation unique et cohérent. Les
résultats confirment la faisabilité de l'architecture proposée pour la coordination d'agents
autonomes vers un objectif commun de sauvetage.
1. Introduction
La complexité croissante des tâches du monde réel a suscité un intérêt considérable pour les
systèmes multi-agents, qui distribuent le calcul et la prise de décision entre plusieurs entités
autonomes. Dans des domaines tels que la réponse aux catastrophes, la recherche et le
sauvetage, et l'exploration autonome, aucun agent unique ne possède la portée sensorielle, la
capacité de calcul ou l'atteinte physique nécessaires pour accomplir une mission seul. Les
systèmes multi-agents coopératifs répondent à cette limitation en permettant aux agents de se
spécialiser, de communiquer et d'agir collectivement.
Ce projet, développé par Makrem Ben Zekri, Nour Ardhaoui, Sarra Soyah et Rania Trabelsi à la
FST, implémente une simulation de sauvetage dans laquelle des agents doivent se coordonner
pour localiser et extraire des victimes d'un environnement dangereux. Le système repose sur des
principes établis de l'intelligence artificielle, notamment l'observabilité partielle, le raisonnement
par états de croyance, l'inférence à base de règles et l'allocation coopérative des tâches. Il intègre
également des pratiques modernes de génie logiciel, notamment la conception de flux de travail
avec état à l'aide de LangGraph et la création de tableaux de bord interactifs avec Streamlit.
La contribution principale de ce travail est un prototype fonctionnel qui démontre comment des
agents hétérogènes, chacun ayant des rôles et des capacités distincts, peuvent être orchestrés
via un superviseur structuré pour atteindre un objectif de mission commun. La suite de ce rapport
est organisée comme suit : la Section 2 définit le problème, la Section 3 liste les objectifs du
projet, les Sections 4 et 5 décrivent l'architecture du système et la méthodologie, la Section 6
Page 2 of 11
Système Multi-Agent de Sauvetage | FST Rapport de Projet Académique | Avril 2026
détaille l'implémentation technique, la Section 7 présente les résultats et l'analyse, et les Sections
8 et 9 concluent le rapport avec une discussion des limites et des pistes de travaux futurs.
2. Énoncé du Problème
La mission de sauvetage simulée se déroule dans un environnement de grille N×N modélisant
une zone sinistrée. La grille contient plusieurs types de cellules avec lesquelles les agents doivent
raisonner et interagir :
• Cellules d'obstacles, qui bloquent les déplacements ;
• Zones de feu, qui sont dangereuses et se propagent dynamiquement dans le temps ;
• Cellules de victimes, représentant des individus qui doivent être secourus ;
• Une zone sécurisée, où les victimes secourues sont acheminées ;
• Cellules partiellement observables, que les agents ne peuvent voir que dans un rayon
limité.
Le défi central est de coordonner deux agents drones et deux agents robots afin que toutes les
victimes soient détectées et secourues efficacement malgré l'évolution constante de
l'environnement. Le problème est formellement caractérisé par les contraintes suivantes :
• Observabilité partielle : chaque agent ne peut voir qu'un voisinage local de la grille, ce
qui nécessite un raisonnement par états de croyance et une mémoire partagée pour
construire une vue globale.
• Environnement dynamique : les incendies se propagent et des effondrements
surviennent de manière stochastique, modifiant la navigabilité des cellules pendant la
mission.
• Énergie limitée : les agents disposent d'un budget énergétique fini qui contraint leur
nombre total d'actions.
• Interdépendance des tâches : les robots ne peuvent agir qu'une fois que les drones ont
détecté et signalé les emplacements des victimes, créant une dépendance forte entre
les rôles des agents.
• Surcoût de coordination : les agents doivent communiquer via un état partagé,
nécessitant des mécanismes de synchronisation pour éviter des actions conflictuelles ou
redondantes.
La résolution de ce problème nécessite l'intégration de stratégies d'exploration, de protocoles de
communication, d'une logique d'attribution des tâches et d'algorithmes de planification de
chemins au sein d'une architecture multi-agents cohérente.
3. Objectifs du Projet
Page 3 of 11
Système Multi-Agent de Sauvetage | FST Rapport de Projet Académique | Avril 2026
Les principaux objectifs poursuivis lors de ce projet étaient :
1. Modéliser un environnement de sauvetage dynamique et réaliste intégrant des dangers,
une observabilité partielle et des changements stochastiques dans le temps ;
2. Implémenter une exploration coopérative à l'aide d'agents drones capables de construire
des cartes de croyances locales et de détecter des victimes ;
3. Implémenter l'exécution des sauvetages à l'aide d'agents robots capables de
planification de chemins, d'évitement des dangers et de récupération des victimes ;
4. Concevoir un agent superviseur chargé du routage du flux de contrôle, de l'attribution
des tâches et des décisions de transition entre les phases de la mission ;
5. Maintenir un état de mission partagé et typé servant de source unique de vérité pour
tous les agents ;
6. Fournir un tableau de bord Streamlit interactif pour le suivi en temps réel de la simulation
et l'analyse post-mission ;
7. Journaliser tous les événements de la mission et générer un rapport structuré résumant
le comportement des agents et les résultats de la mission.
4. Vue d'ensemble du Système
Le système est organisé autour de quatre composants principaux qui interagissent via une
structure d'état partagé. Chaque composant a un rôle clairement défini, et le comportement global
du système émerge de leur coopération.
4.1 Superviseur
Le superviseur est l'orchestrateur central de la mission. Il observe l'état global de la mission, lit
les messages entrants des agents drones, attribue les tâches de sauvetage des victimes aux
robots disponibles et détermine quelle phase de la mission doit s'exécuter ensuite. Le superviseur
implémente la logique de contrôle qui fait passer le flux de travail entre les phases d'exploration,
de sauvetage et de terminaison.
4.2 Agents Drones
Les deux agents drones sont responsables de la phase d'exploration de la mission. Chaque drone
navigue dans la grille dans les limites de son budget énergétique, observe les cellules voisines
dans un rayon limité, met à jour sa carte de croyances locale, déduit les emplacements des
victimes et signale les détections confirmées au superviseur et à son drone partenaire via le bus
de messages partagé. Les drones suivent un schéma d'exploration structuré pour éviter les
chevauchements.
4.3 Agents Robots
Les deux agents robots exécutent des opérations de sauvetage une fois que les victimes leur ont
été attribuées par le superviseur. Chaque robot reste inactif jusqu'à la réception d'une mission,
puis calcule un chemin d'approche sûr vers la victime, évite les zones de danger connues et
Page 4 of 11
Système Multi-Agent de Sauvetage | FST Rapport de Projet Académique | Avril 2026
effectue le sauvetage une fois qu'il atteint une cellule adjacente. Après un sauvetage réussi, le
robot notifie le superviseur et attend la prochaine attribution.
4.4 Environnement
L'environnement est le monde de grille dynamique dans lequel tous les agents opèrent. Il évolue
de manière autonome entre les étapes de simulation via des événements de propagation du feu
et des effondrements structurels aléatoires, rendant l'état de la mission non stationnaire. Ce
comportement dynamique oblige les agents à mettre à jour continuellement leurs croyances et à
adapter leurs plans au fur et à mesure que les conditions évoluent.
5. Architecture du Système
Le projet suit une architecture de flux de travail basée sur LangGraph dans laquelle un nœud
superviseur central coordonne le cycle d'exécution. Le contrôle est transmis entre les nœuds
dans un graphe orienté explicite, où chaque nœud correspond à un agent ou à un point de
décision de la mission. Cette conception rend le flux de contrôle transparent, auditable et
extensible.
5.1 Diagramme Architectural
Page 5 of 11
Système Multi-Agent de Sauvetage | FST Rapport de Projet Académique | Avril 2026
5.2 Principes Architecturaux
L'architecture impose une séparation stricte des préoccupations entre la couche de contrôle (le
superviseur), la couche d'exécution (drones et robots) et la couche de perception
(l'environnement). L'état partagé agit comme une mémoire tableau noir accessible par tous les
agents, permettant une communication et une coordination asynchrones sans couplage direct
entre agents. La formulation du processus de décision de Markov partiellement observable
(POMDP) de l'environnement capture la nature stochastique et incomplète des scénarios de
catastrophe réels.
6. Méthodologie
Le système suit une méthodologie d'exécution itérative basée sur la simulation. Chaque étape de
simulation correspond à un cycle complet de prise de décision du superviseur, d'action des agents
et de mise à jour de l'environnement. La méthodologie se déroule comme suit :
8. Initialiser l'environnement, randomiser le placement des victimes et des dangers, et
configurer l'état de mission partagé ;
9. Le superviseur inspecte l'état actuel et détermine la phase opérationnelle appropriée :
exploration, sauvetage ou fin de mission ;
10. Les agents drones exécutent une étape d'action : observer les cellules locales, mettre à
jour les cartes de croyances, déduire et signaler les détections de victimes ;
11. Le superviseur lit les messages entrants, met à jour les enregistrements de détection
des victimes et attribue le robot disponible le plus proche à chaque victime non assignée
;
12. Les agents robots exécutent une étape d'action : planifier un chemin, se déplacer vers la
victime assignée et effectuer un sauvetage lorsqu'ils sont adjacents ;
13. L'environnement évolue : le feu peut se propager aux cellules adjacentes, et des
effondrements aléatoires peuvent bloquer des chemins précédemment dégagés ;
14. Toutes les actions et les changements d'état sont journalisés par le module de
journalisation de la mission ;
15. Le cycle se répète jusqu'à ce que toutes les victimes aient été secourues ou que les
agents aient épuisé leur budget énergétique.
Cette approche itérative et dirigée par l'état garantit que la simulation est déterministe et
reproductible pour la même graine aléatoire, tout en restant suffisamment flexible pour s'adapter
à des scénarios émergents et dynamiques.
7. Implémentation Technique
Page 6 of 11
Système Multi-Agent de Sauvetage | FST Rapport de Projet Académique | Avril 2026
7.1 Pile Technologique
Le projet est entièrement implémenté en Python et repose sur les bibliothèques principales
suivantes :
• LangGraph : pour la définition et l'exécution du graphe de flux de travail multi-agents ;
• Streamlit : pour le tableau de bord interactif basé sur le web et les commandes de
simulation ;
• Matplotlib : pour la génération des graphiques d'énergie et des visualisations de la
chronologie de la mission dans le tableau de bord.
7.2 Structure d'État Partagé
Une structure d'état partagé typée constitue l'épine dorsale du système. Elle est transmise entre
les nœuds LangGraph à chaque étape et porte le contexte complet de la mission. L'état comprend
les champs suivants :
• La grille courante, encodant le type et le statut de chaque cellule ;
• Les positions actuelles et les niveaux d'énergie de tous les agents ;
• Les cartes de croyances locales maintenues par chaque drone ;
• L'ensemble des emplacements de victimes confirmés ;
• Les attributions de tâches actuelles associant les robots aux victimes ;
• L'ensemble des victimes secourues avec succès ;
• Le journal des messages enregistrant les communications inter-agents ;
• Le journal des actions et les métriques d'avancement cumulées de la mission.
7.3 Logique des Agents Drones
Chaque agent drone observe un voisinage borné de cellules centré sur sa position actuelle, met
à jour son état de croyance en conséquence et applique une inférence à base de règles pour
identifier les victimes confirmées. Les détections confirmées sont soumises sous forme de
messages structurés à l'état partagé. Les drones suivent un schéma d'exploration structuré conçu
pour maximiser la couverture de la carte tout en minimisant le chevauchement avec le drone
partenaire, et ils évitent de revisiter les cellules déjà entièrement explorées.
7.4 Logique des Agents Robots
Les agents robots restent en état d'inactivité jusqu'à ce que le superviseur leur attribue une
victime. À la réception d'une mission, un robot calcule un chemin vers une cellule adjacente à
l'emplacement de la victime, en évitant les cellules connues pour être occupées par le feu ou
d'autres dangers. Si aucun chemin dégagé n'est disponible, le robot se replie sur une heuristique
de déplacement au mieux. Le robot exécute l'opération de sauvetage dès qu'il atteint une cellule
adjacente et envoie un message de complétion au superviseur.
7.5 Logique du Superviseur
Le nœud superviseur s'exécute au début de chaque cycle de simulation. Il traite tous les
messages en attente des agents drones, met à jour le registre global des victimes, vérifie les
Page 7 of 11
Système Multi-Agent de Sauvetage | FST Rapport de Projet Académique | Avril 2026
attributions obsolètes ou invalides, attribue les victimes non assignées au robot disponible le plus
proche et évalue la condition de terminaison. Si toutes les victimes ont été secourues, le
superviseur fait passer le flux de travail à l'état terminal.
7.6 Journalisation de la Mission
Un module de journalisation dédié enregistre une trace structurée de l'ensemble de la mission.
Le journal comprend le nombre total d'étapes exécutées, l'horodatage de chaque détection et
sauvetage de victime, l'historique de consommation d'énergie de chaque agent, le nombre
d'attributions et de réattributions de tâches, tout événement de replanification déclenché par des
changements d'obstacles dynamiques, ainsi que la séquence complète des actions des agents.
Le journal est exportable sous forme de fichier JSON depuis le tableau de bord.
8. Interface Utilisateur
Le tableau de bord Streamlit fournit une interface accessible pour exécuter et analyser la
simulation. Il est organisé en deux onglets.
8.1 Onglet Simulation en Direct
Cet onglet permet le contrôle interactif de la simulation et comprend les fonctionnalités suivantes
:
• Exécution pas à pas : l'utilisateur fait avancer la simulation un cycle à la fois ;
• Exécution automatique : la simulation s'exécute en continu jusqu'à la fin de la mission ou
jusqu'à ce que l'utilisateur la mette en pause ;
• Réinitialisation de l'environnement : la grille et tous les états des agents sont réinitialisés
;
• Vue de la grille en direct : l'état actuel de la grille, incluant les positions des agents, les
emplacements des victimes et les zones de danger, est rendu visuellement ;
• Panneau d'état des agents : affichage en temps réel de la position, du niveau d'énergie
et de la mission en cours de chaque agent ;
• Journal des actions récentes : une liste déroulante des actions et événements les plus
récents des agents.
8.2 Onglet Rapport de Mission
À la fin de la mission, l'onglet rapport fournit un résumé complet comprenant :
• Nombre total d'étapes effectuées et durée globale de la mission ;
• Taux de réussite du sauvetage des victimes ;
• Graphiques de consommation d'énergie par agent dans le temps ;
• Une chronologie détection-sauvetage illustrant le délai entre la découverte et la
récupération des victimes ;
• Un tableau de métriques de mission résumant tous les indicateurs clés de performance ;
Page 8 of 11
Système Multi-Agent de Sauvetage | FST Rapport de Projet Académique | Avril 2026
• Un journal JSON exportable pour une analyse hors ligne.
9. Résultats et Discussion
Le système implémenté démontre avec succès un comportement multi-agents coordonné dans
un environnement dynamique et partiellement observable. Les principaux résultats observés lors
des tests sont les suivants.
9.1 Exploration et Détection Coopératives
Les deux agents drones ont coopéré efficacement pour explorer la grille, chaque agent couvrant
une région distincte et partageant les détections via le bus de messages. Les taux de détection
des victimes étaient cohérents sur plusieurs exécutions, toutes les victimes finissant par être
confirmées une fois la zone environnante visitée.
9.2 Attribution des Tâches et Exécution des Sauvetages
Le superviseur a attribué de manière fiable les victimes au robot disponible le plus proche à
chaque cycle, minimisant les déplacements inutiles. Les robots ont navigué avec succès autour
des zones de danger dans la majorité des cas, et l'heuristique de repli a permis la progression
même lorsque les chemins optimaux étaient indisponibles en raison de la propagation dynamique
du feu.
9.3 Robustesse du Système
Le système a géré gracieusement les changements stochastiques de l'environnement. La
propagation du feu et les effondrements aléatoires ont déclenché un recalcul de chemin dans les
agents robots sans provoquer de défaillances du système. La structure d'état partagé a garanti
que tous les agents restaient synchronisés tout au long de la mission.
9.4 Contributions Académiques
D'un point de vue académique, le projet illustre avec succès les concepts suivants :
• Coordination multi-agents par spécialisation des rôles et échange de messages ;
• Gestion de l'observabilité partielle via des cartes de croyances locales et un état partagé
;
• Inférence à base de règles appliquée à la détection des victimes à partir d'observations
de capteurs ;
• Planification heuristique de chemins avec évitement dynamique des obstacles ;
• Conception de flux de travail avec état utilisant un graphe d'agents orienté ;
• Interaction humain dans la boucle via un tableau de bord à contrôle pas à pas.
10. Conclusion
Page 9 of 11
Système Multi-Agent de Sauvetage | FST Rapport de Projet Académique | Avril 2026
Le Système Multi-Agent de Sauvetage est une simulation académique complète de réponse
autonome coopérative aux catastrophes. Le projet intègre un flux de travail d'orchestration basé
sur LangGraph, des agents drones et robots spécialisés, un environnement dynamique
partiellement observable et un tableau de bord Streamlit interactif dans un système unique et
cohérent.
Tous les objectifs principaux du projet ont été atteints. Le système démontre qu'une équipe
d'agents hétérogènes peut partager efficacement des informations, raisonner sur des tâches en
contexte d'incertitude et collaborer vers un objectif commun de mission de sauvetage.
L'architecture modulaire soutient les extensions et expérimentations futures, faisant du projet une
base solide pour des recherches multi-agents plus avancées.
Le travail préparé par Makrem Ben Zekri, Nour Ardhaoui, Sarra Soyah et Rania Trabelsi illustre
l'application pratique des principes fondamentaux de l'intelligence artificielle dans un scénario de
simulation réaliste et convaincant.
11. Travaux Futurs
Plusieurs pistes d'extension future ont été identifiées :
• Détection probabiliste des victimes : remplacer le détecteur actuel à base de règles par
un modèle probabiliste pour gérer les lectures bruitées des capteurs ;
• Rôles d'agents supplémentaires : introduction d'agents médecins ou de drones de
largage de fournitures pour augmenter la complexité de la mission ;
• Cartes plus grandes et plus réalistes : extension de la taille de la grille et intégration de
caractéristiques de terrain telles que des couloirs, des salles et des structures à
plusieurs étages ;
• Planification avancée de chemins : remplacement de l'heuristique actuelle par un
algorithme formellement optimal tel que A* avec reroutage dynamique ;
• Benchmarking et reproductibilité : définition de scénarios d'évaluation standardisés avec
des graines aléatoires fixes pour permettre une comparaison équitable des stratégies de
coordination alternatives ;
• Rapportage scientifique enrichi : génération automatique de rapports PDF structurés à
partir des journaux de mission, incluant des résumés statistiques sur plusieurs
exécutions de simulation.
Références
[1] Python Software Foundation. Python Language Reference, version 3.x. Disponible à :
[Link]
Page 10 of 11
Système Multi-Agent de Sauvetage | FST Rapport de Projet Académique | Avril 2026
[2] Streamlit Inc. Documentation Streamlit. Disponible à : [Link]
[3] The Matplotlib Development Team. Matplotlib : Visualisation avec Python. Disponible à :
[Link]
[4] LangChain AI. Documentation LangGraph. Disponible à : [Link]
[Link]/langgraph
[5] Russell, S. et Norvig, P. (2020). Intelligence Artificielle : Une Approche Moderne, 4e édition.
Pearson.
[6] Weiss, G. (éd.) (1999). Systèmes Multi-Agents : Une Approche Moderne de l'Intelligence
Artificielle Distribuée. MIT Press.
Page 11 of 11