informatique (MP2I/MPI) · Chapitre 27 · Application directe du cours
Le meilleur et le pire ordre
Jeux, stratégies et recherche heuristique · niveau 2
É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.