Le meilleur et le pire ordre
Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 27 — Jeux, stratégies et recherche heuristique
Énoncé
On tire arbres de profondeur et d'arité (donc feuilles chacun), à valeurs entières aléatoires. On compare le nombre de feuilles évaluées par alpha-bêta selon que les coups sont examinés dans un ordre quelconque, dans le meilleur ordre possible, ou dans le pire. Prévoir les trois résultats, puis les commenter.
Corrigé
Les trois mesures, sur les mêmes arbres ( feuilles en tout) :
| feuilles évaluées | part de minimax | |
|---|---|---|
| minimax | ||
| alpha-bêta, meilleur ordre | ||
| alpha-bêta, ordre quelconque | ||
| alpha-bêta, pire ordre |
Le chiffre du meilleur ordre est exactement celui de la théorie. feuilles par arbre, et la borne de Knuth et Moore donne
Pas « environ » : , sur chacun des arbres. C'est le du cours, atteint.
Le pire ordre n'élague presque rien : . Alpha-bêta n'est donc pas une amélioration inconditionnelle — c'est un algorithme dont le gain dépend entièrement de la qualité de l'ordre. Dans le pire cas il coûte autant que minimax, à quelques coupures près.
Et l'ordre quelconque tombe au milieu, à : sans effort, on gagne un facteur ; avec un bon ordre, un facteur . C'est ce facteur qui se transforme en profondeur : à budget de feuilles égal, explorer au lieu de permet de doubler . Aux échecs, deux demi-coups de plus séparent deux niveaux de jeu.
La conséquence pratique, et elle est contre-intuitive : il est rentable de dépenser du temps à trier les coups avant de descendre, alors même que ce tri ne calcule rien d'utile au résultat. On trie par une estimation grossière (prendre une pièce d'abord, jouer au centre d'abord), et l'on utilise le résultat de la recherche précédente à profondeur pour ordonner celle à profondeur — c'est l'approfondissement itératif.
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.