Adloun

Admissible et pourtant non monotone

Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 27 — Jeux, stratégies et recherche heuristique

Énoncé

Graphe : de coût , de coût , de coût , et de coût . On pose et ailleurs. Montrer que est admissible mais non monotone, et dérouler A*.

Corrigé

Distances exactes : , , , (par , car coûte ).

Admissible : , et partout ailleurs. Aucune surestimation.

Non monotone : la monotonie exige sur chaque arc. Sur l'arc : et . On a : l'inégalité triangulaire est violée.

Le déroulement, mesuré, avec un ensemble fermé :

sommets développésdont rouvertscoût rendu
(monotone)
(non monotone)

Avec : on extrait , on engendre () et () ; on extrait donc avant , avec , et on le ferme. Puis on extrait (), qui offre à un chemin à : doit être rouvert et développé une seconde fois. Le coût final est correct — l'admissibilité garantit l'optimum —, mais on a payé un développement de plus.

Ce que la monotonie achète, exactement. Elle assure que est croissante le long de tout chemin : . Les sommets sortent donc de la file par croissante, et quand on en ferme un, son est déjà minimal — aucune réouverture n'est possible. C'est la deuxième ligne du tableau du cours, et cet exercice en montre la contraposée : sans monotonie, un sommet fermé peut redevenir ouvert.

La conséquence de génie logiciel. Une implémentation qui suppose la monotonie — et donc ignore tout sommet déjà fermé — rendrait ici , puis au lieu de . Le même code est correct ou faux selon une propriété de l'heuristique qu'il ne vérifie pas. On documente donc la précondition, comme le cours le fait dans le commentaire de a_etoile.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.