Adloun

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éespart 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.