Firefighter Problem Simulator
Simulateur graphique en Python du problème de propagation d’incendie sur graphe, basé sur un algorithme combinatoire NP-complet.

Algorithmique, Recherche Opérationnelle
Projet: Académique
Oct. 2019 - Mars 2020
Durée: 6 mois
Projet scolaire réalisé en binôme entre octobre 2019 et mars 2020.
Inspiré du “Firefighter Problem” introduit par B. Hartnell (1995), ce projet vise à créer un simulateur interactif du processus de propagation du feu et de sa défense par des pompiers sur un graphe – modélisé ici sous forme de grille.
❓ Problématique
Comment tester différentes stratégies de défense face à un feu se propageant dans un réseau, tout en maximisant les sommets sauvés ?
➡️ Le défi est de représenter dynamiquement un phénomène combinatoire NP-complet et de le rendre visuel et interactif.
🛠️ Solution mise en œuvre
🔥 Représentation du graphe par une grille (matrice NxN)
🚒 Possibilité de placer des feux initiaux et un ou plusieurs pompiers
🔁 Simulation itérative : à chaque tour, le feu se propage aux voisins non défendus et les pompiers protègent des cases
👁️ Interface graphique développée avec Tkinter permettant à l’utilisateur :
de placer les éléments manuellement
de visualiser l’évolution tour par tour
de changer les règles (vitesse, nombre de pompiers, position initiale, etc.)


⚙️ Stack technique
Langage : Python
Librairie interface : Tkinter
Modélisation : Théorie des graphes · Grilles (matrices)
Concepts algorithmiques : propagation · heuristiques · complexité NP
Diagrammes : diagrammes de classes pour la modélisation objet
Environnement : Jupyter Notebook / IDE local
Tags
Recherche Opérationnelle, Simulation, Graph Theory, NP-Complete
You might also like



