Corrigé Mines-Ponts 2026 Informatique II MPI — Partie 3 (Q24 à Q33) : A, heuristiques admissibles et monotones, A pondéré
Sujet officiel du concours Mines-Ponts, session 2026, épreuve Informatique II MPI. Corrigé rédigé par Ibrahim Alame.
Sujet officiel (PDF, site du concours)
Énoncé
L'algorithme A fonctionne comme Dijkstra, mais une salle est insérée dans la file de priorité avec la priorité , où est une heuristique estimant le coût restant jusqu'à la salle destination , avec . On note la source, dist[u] le coût actuellement connu d'un chemin de à , et le coût minimal réel d'un chemin de à (coûts strictement positifs). est admissible si pour toute salle ; elle est monotone* si et pour tout passage de coût .
Q24. admissible (terminaison admise) : montrer, par l'absurde, que le chemin trouvé est de coût minimal dès que est extraite de la file de priorité.
Q25. Quel lien entre Dijkstra et A* permet d'en déduire l'optimalité de Dijkstra ?
Q26. Montrer qu'une heuristique monotone est admissible (chaîne d'inégalités le long d'un chemin).
Q27. Intérêt pratique de la monotonie : coût dist définitif à l'extraction, pas de réinsertion des salles traitées.
A* pondéré.
Pour , la priorité devient .
Q28. Comparer l'ordre d'exploration de Dijkstra et de A* (valeur d'extraction, effet de l'heuristique par rapport à la destination).
Q29. Effet du facteur sur le poids relatif de l'heuristique et sur l'ordre d'exploration.
Q30. Si est admissible, l'est-elle encore ?
Q31. Effet d'une augmentation de sur le nombre de salles explorées et sur la qualité du chemin ; est-il toujours optimal ?
Q32. Pourquoi cette variante convient-elle aux moteurs de jeux anciens ?
Un chemin de à de coût est -optimal si . L'algorithme A* pondéré, avec admissible, maintient best, coût du meilleur chemin complet de à trouvé jusqu'ici, et contient l'extrait :
/* Extrait de l'algorithme */
int u = tas_depile(t);
/* Condition : arrêt anticipé */
if (dist[u] + w * h(u) >= best) {
break;
}
Q33. Montrer que l'arrêt sur cette condition garantit que le chemin renvoyé, de coût best, est -optimal : majorer par pour les salles d'un chemin optimal, en déduire , puis conclure avec la condition d'arrêt .
Corrigé
Le modèle d'algorithme.
Comme en Q23, chaque fois que dist[v] diminue par relâchement d'un passage , la salle est (ré)insérée avec sa nouvelle priorité, et une entrée périmée (dont la priorité ne correspond plus à la valeur courante de dist) est ignorée à l'extraction ; une salle extraite avec sa valeur courante est traitée : on relâche ses passages sortants. Sans hypothèse de monotonie, une salle déjà traitée dont dist diminue plus tard est donc réinsérée puis traitée à nouveau — c'est ce que Q27 permettra d'éviter. Deux faits servent partout : dist[v] est toujours le coût d'un chemin effectif de à , donc , et dist ne fait que décroître. On note la priorité ( pour A*) et le coût minimal de à ; un sous-chemin d'un chemin de coût minimal est de coût minimal, donc pour toute salle d'un tel chemin, .
Lemme (salle « témoin »). Soit un chemin de coût minimal. Avant chaque extraction, si , il existe tel que et que la file contienne une entrée de de priorité .
Preuve. ; soit le plus grand indice tel que ; par hypothèse. Au moment où dist a pris la valeur (au départ si ), a été insérée avec la priorité . Si cette entrée avait déjà été extraite, elle n'était pas périmée (dist ne peut descendre sous ), donc aurait été traitée avec cette valeur et le relâchement de aurait donné , donc l'égalité, ce qui contredit la maximalité de . L'entrée est donc encore dans la file.
Q24. Supposons, par l'absurde, qu'au moment où est extraite on ait (le chemin reconstruit a pour coût dist[t]). L'entrée de extraite a une priorité , puisque et que dist[t] n'a pu que décroître depuis son insertion. Par le lemme (), la file contenait une entrée de priorité
la première inégalité étant l'admissibilité de . Or les salles sont extraites par valeur croissante : la file aurait renvoyé cette entrée avant celle de . Contradiction : à l'extraction de , , et le chemin trouvé est de coût minimal.
Ce que le correcteur attend : un raisonnement par l'absurde mené à son terme, donc l'existence justifiée d'une salle du chemin optimal encore dans la file avec son coût exact (le lemme), et pas seulement l'inégalité .
Q25. Dijkstra est A* avec l'heuristique nulle : la priorité est celle de Dijkstra. Or est admissible, puisque (coûts positifs), et vérifie . Le raisonnement de Q24 s'applique donc tel quel : quand Dijkstra extrait une salle , dist[t] est le coût minimal. Comme est quelconque, cela vaut pour toutes les salles, ce qui justifie aussi le Dijkstra sans destination de Q23.
Q26. Soit monotone, une salle et un chemin de coût minimal de à (il existe, le monde étant fortement connexe), de coûts de passages , donc . Montrons par récurrence descendante sur que
Pour , c'est . Si c'est vrai au rang , la monotonie sur le passage donne . Au rang :
100 % gratuit
La suite du corrigé est sur Adloun
Le corrigé rédigé en entier, question par question, et le tuteur pour poser des questions sur ce sujet.
Voir le corrigé complet, gratuitementInscription gratuite en 30 secondes (e-mail, nom d'utilisateur, mot de passe, classe ou profil), sans carte bancaire : arrivée directe sur le corrigé.