Probleme – Alpha-bêta rend la même valeur : la mesure, et la raison
Exercice · niveau 3 (difficile) · informatique (MP2I/MPI), chapitre 27 — Jeux, stratégies et recherche heuristique
Énoncé
Le cours affirme que l'élagage ne change pas le résultat.
- Concevoir l'expérience qui l'éprouve, et l'exécuter.
- Mesurer le nombre de feuilles évaluées, pour plusieurs profondeurs et arités, et comparer à et .
- Démontrer que la valeur rendue à la racine est celle de minimax.
- Où le raisonnement casserait-il si l'on remplaçait le test par ?
Corrigé
1. L'expérience. On engendre des arbres aléatoires — un générateur à congruences linéaires, pour être reproductible d'une machine à l'autre —, on calcule la valeur par minimax puis par alpha-bêta appelé avec la fenêtre complète , et l'on compare. Sur arbres de profondeur et d'arité : valeurs identiques sur . Et sur chacune des six configurations testées ci-dessous, sur également.
2. Les mesures. Feuilles évaluées, cumul sur arbres, valeurs entières tirées uniformément dans :
| prof. | arité | minimax | alpha-bêta | part | |
|---|---|---|---|---|---|
Trois lectures. D'abord, la part explorée décroît quand la profondeur croît : à , à . Le gain n'est pas un facteur constant, il s'améliore avec — ce qui est la forme même d'un passage de à .
Ensuite, l'ordre aléatoire reste loin de : à , , on mesure contre pour la borne optimale, soit sept fois plus. La borne est celle du meilleur ordre, et l'exercice 27.5 montre qu'on l'atteint exactement — feuilles par arbre — quand on trie parfaitement.
Enfin, le nombre exact dépend de la loi des feuilles : avec des valeurs entières tirées dans , on descend entre et selon la graine (beaucoup d'égalités, donc beaucoup de coupures) ; avec des valeurs très étalées, la part se stabilise autour de à . Une part explorée n'a de sens qu'avec son protocole : profondeur, arité, loi des feuilles, et ce que l'on compte — ici les feuilles évaluées, non le nombre total de nœuds visités, qui donne sur la même expérience.
3. La démonstration. On montre, par induction sur la hauteur, la propriété suivante, où est la valeur rendue par alphabeta p d alpha beta et la valeur minimax de :
Base. À profondeur , , et les trois cas sont immédiats.
Hérédité, cas maximisant. Les fils sont explorés de gauche à droite, ne fait que croître, et l'on maintient des valeurs rendues. Par hypothèse d'induction, chaque fils rend sa valeur minimax exacte tant que celle-ci tombe dans la fenêtre courante, et rend sinon une borne du bon côté. Deux cas :
- si aucune coupure ne se produit, tous les fils ont été explorés, et ceux dont la valeur est n'influencent pas le maximum : dès que ;
- si une coupure se produit, c'est qu'un fils a rendu une valeur ; alors , et : on est dans le troisième cas, et la valeur rendue est une borne, non un résultat exact — mais l'appelant, un nœud min, l'écartera de toute façon.
Conclusion. À la racine on appelle avec et : la fenêtre est complète, le premier cas s'applique, et . C'est la fenêtre initiale complète qui garantit l'exactitude à la racine, et non l'algorithme seul — un appel racine avec une fenêtre étroite ne rendrait qu'un encadrement.
4. Le test . Remplacé par , l'algorithme reste correct mais coupe moins : il continue d'explorer les branches où , qui ne peuvent pourtant rien apporter — un min qui vaut au plus ne sera pas préféré à ce que le max s'est déjà assuré. On perd donc des coupures sans rien gagner. Le raisonnement ne casse nulle part, et c'est justement ce qu'il fallait vérifier : le n'est pas une approximation, c'est l'inégalité juste, celle qui coupe le plus tôt sans jamais couper à tort.
Le renversement, en revanche, serait fatal : couper dès sur des valeurs entières supprimerait des branches dont la valeur est exactement et qui pourraient être choisies. C'est l'idée des « fenêtres d'aspiration », qui acceptent délibérément ce risque et le corrigent par une nouvelle recherche quand la valeur sort de la fenêtre.
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.