Cycle SMAI & Musée des arts et métiers
2025-09-10
Plein de métiers différents à la fois !
De multiples disciplines mobilisées :
Acteurs impliqués :
Échelles temporelles :
But : amener chaque train de son point de départ à son point d’arrivée.
Problème d’optimisation sur un graphe, de complexité exponentielle.
Un graphe \(G = (N, A)\) est composé
Permet de représenter des connexions entre différentes entités.
Le premier problème de théorie des graphes fut posé par Euler.
Un noeud ne correspond pas toujours à une localisation physique !
L’Intelligence Artificielle désigne un ensemble d’algorithmes permettant d’automatiser des tâches typiquement attribuées aux humains.
Prédiction
Anticiper un phénomène inconnu ou futur.

Génération
Produire des médias à partir de consignes et d’exemples.

Décision
Planifier l’usage de ressources limitées.

Trouver le minimum d’une fonction \(x \in \mathbb{R} \longmapsto f(x)\).
Il suffit de calculer sa dérivée \(f'(x)\) (pente de la courbe) et de résoudre \(f'(x) = 0\).
Problème : comment fait-on si \(x\) doit satisfaire des contraintes ?
On me donne une tôle d’aluminium de surface \(1 m^2\) pour fabriquer une casserole. Comment obtenir le plus grand volume ?
Problème d’optimisation :
\[\begin{aligned}\max_{r,h} \quad & V(r, h) \\ \text{s.c.} \quad & S(r, h) \leq 1 \\ & r \geq 0 \\ & h \geq 0\end{aligned}\]
Pour que l’ordinateur aide à la décision, il faut expliciter le problème :
Simplification nécessaire
“Tous les modèles sont faux, mais certains sont utiles.” (George Box)
Topographie du réseau : un graphe dirigé \(G = (N, A)\)
Durée de la journée \(T\)
Itinéraire de chaque voyage : suite de noeuds \((n_v^1, ..., n_v^T)\)
Heures d’arrivée et de départ ? Déterminées par les contraintes.
Retard d’un voyage : \[r_v = \max(0, \delta_v) \quad \text{où} \quad \delta_v = \text{ heure d'arrivée réelle } - h_v^a\]
“Coût” à minimiser : plusieurs choix possibles pour agréger les voyages
Les problèmes d’optimisation réalistes sont résolus par des algorithmes, implémentés sous forme de code informatique.
Critères d’évaluation :
Nos données d’entrée se mesurent par :
L’efficacité d’un algorithme se mesure par :
Plus l’entrée est grande, plus l’algorithme utilise de ressources.
On mesure la complexité en opérations arithmétiques (\(+\), \(-\), \(\times\), \(\div\)). Supposons que chacune prend \(1\) nanoseconde.
| Complexité | \(N = 50\) | \(N = 100\) | \(N = 200\) | |
|---|---|---|---|---|
| “linéaire” (\(N\)) | 50 ns | 0.1 µs | 0.2 µs | |
| “quadratique” (\(N^2\)) | 2.5 µs | 10 µs | 40 ms | |
| “cubique” (\(N^3\)) | 0.1 ms | 1 ms | 8 ms | |
| “exponentielle” (\(2^N\)) | 13 jours | 10\(^{13}\) ans | ? |
| Problème | Complexité | Algorithme |
|---|---|---|
| Trouver le minimum d’une liste de nombres | \(N\) | Parcours simple |
| Trier une liste de nombres | \(N \log N\) | Tri fusion |
| Calculer un seul itinéraire | \(N \log N\) | A* |
| Calculer plusieurs itinéraires compatibles | exponentielle | ? |
On sait résoudre des problèmes exponentiels, mais pas toujours exactement.
Benchmark = scénario standardisé pour évaluer les différentes approches.
Nécessite de trouver des points communs entre différents problèmes.
Flatland est un problème plus simple que la réalité :
Le Multi-Agent PathFinding est un problème encore plus simple que Flatland :
Très utile pour développer de nouveaux algorithmes !
Instances de tailles et natures variées (Stern et al. 2019).
Villes
Jeux vidéo
Labyrinthes
Pièces
Aléatoires
Pas si le graphe est déconnecté
Pas si le graphe a des cycles de coût négatif
Explorer le graphe par cercles concentriques autour du point de départ.
Avantage
Très facile à appliquer
Défaut
Exploration à l’aveugle
Prioriser les sommets selon la somme de deux quantités :
Avantage
Évite de se disperser
Défaut
Nécessite une bonne “heuristique”
A* est le meilleur algorithme de sa “famille” si l’heuristique utilisée est :
Mais on peut faire mieux si on a accès au graphe en avance (Bast et al. 2016).

Idéalement, on voudrait trouver les itinéraires pour chaque agent en parallèle.
Plus les agents sont nombreux, plus on dévie du chemin optimal.
Idée (Conflict-Based Search) : dès qu’on rencontre un conflit, explorer les deux possibilités engendrées.
Avantage
Trouve une solution optimale
Défaut
Complexité exponentielle
Idée : planifier les agents un par un, et les considérer comme obstacles figés ensuite.
Avantage
Très rapide à exécuter
Défaut
Ne trouve pas forcément de solution (optimale)
Mon site web pour plus d’infos : https://gdalle.github.io/
Comment gagner le challenge Flatland ?
Avec des techniques éprouvées pour un problème plus simple (MAPF) :
Découvrons la stratégie de l’équipe gagnante !