Laboratoire interactif

Recherche de chemin : BFS, DFS, Dijkstra, A*

Quatre algorithmes explorent la même grille. Dessinez des murs, ajoutez du terrain coûteux et comparez les cases visitées et le coût du chemin.

Niveau
Débutant
Notions
Graphes · Heuristique · File de priorité
Figure 1 — Cases explorées en bleu, chemin en orange. Dessinez des murs au pointeur, déplacez le départ (rond) et l’arrivée (carré) en les glissant.

Prêt. Lancez la recherche ou avancez pas à pas.

Les quatre algorithmes sur cette carte
Algorithmecases exploréeslongueur du chemincoût du chemin
Largeur (BFS)49839 39
Profondeur (DFS)9695 95
Dijkstra49839 39
A*24439 39
Algorithme
Carte
Outil de dessin (pointeur)
60

Quatre façons d'explorer

Les quatre algorithmes suivent le même schéma : garder une frontière de cases à explorer, en sortir une, y ajouter ses voisines. Ils ne diffèrent que par l'ordre dans lequel la frontière est vidée.

Algorithme Frontière Sort d'abord Chemin optimal ?
BFS (largeur) file la case découverte en premier oui, en nombre de pas
DFS (profondeur) pile la case découverte en dernier non
Dijkstra file de priorité le plus petit coût depuis le départ g(n)g(n) oui, en coût
A* file de priorité le plus petit f(n)=g(n)+h(n)f(n) = g(n) + h(n) oui, si hh ne surestime jamais

Ce qu'il faut observer

  • BFS s'étend en cercles concentriques : il trouve le chemin le plus court en nombre de cases, mais ignore les coûts. Sur la carte « Terrain coûteux », il traverse le terrain difficile.
  • DFS file tout droit puis revient sur ses pas. Il trouve un chemin, souvent très long : il sert à explorer (labyrinthes, composantes connexes, tri topologique), pas à optimiser.
  • Dijkstra étend la frontière par coût croissant : il contourne le terrain difficile quand le détour coûte moins cher. Sans terrain, il se comporte comme BFS.
  • A* ajoute au coût déjà payé une heuristique h(n)h(n), estimation du coût restant — ici la distance de Manhattan ∣Δx∣+∣Δy∣\lvert \Delta x \rvert + \lvert \Delta y \rvert. Il explore d'abord vers l'arrivée et visite beaucoup moins de cases, pour le même chemin optimal.

Pourquoi A* reste optimal

Une heuristique est admissible si elle ne surestime jamais le coût réel restant. La distance de Manhattan l'est : aucun déplacement ne coûte moins de 1, et il en faut au moins ∣Δx∣+∣Δy∣\lvert \Delta x \rvert + \lvert \Delta y \rvert. Avec h=0h = 0, A* redevient Dijkstra ; avec une heuristique qui surestime, il va plus vite mais peut rater le meilleur chemin.

Le tableau sous la figure compare les quatre algorithmes sur la carte courante : même coût pour Dijkstra et A*, nombre de cases explorées très différent.

Autres démonstrations

  • Descente de gradient

    Intelligence artificielle, Débutant

    Choisissez une fonction, un point de départ et un taux d’apprentissage, puis regardez le point descendre la pente : convergence, oscillations, divergence, minimums locaux.

  • Optimiseurs : gradient, moment, Adam

    Intelligence artificielle, Intermédiaire

    Trois optimiseurs partent du même point sur une surface à deux variables. Comparez leurs trajectoires sur les lignes de niveau : zigzag, élan, pas adaptatif.

  • K-Means pas à pas

    Intelligence artificielle, Débutant

    Affectation, mise à jour, affectation… Suivez les centres jusqu’à la convergence, et découvrez les cas où K-Means se trompe : mauvais départ, groupes étirés, anneaux.