AccueilđŸ‡«đŸ‡·Chercher

Recherche arborescente Monte-Carlo

En informatique, et plus prĂ©cisĂ©ment en intelligence artificielle, la recherche arborescente Monte Carlo ou Monte Carlo tree search (MCTS) est un algorithme de recherche heuristique utilisĂ© dans le cadre de la prise de dĂ©cision. Il est notamment employĂ© dans les jeux. On peut citer son implĂ©mentation dans le jeu vidĂ©o Total War: Rome II avec son mode campagne IA haut-niveau[1] et les rĂ©cents programmes informatiques de Go[2], suivis par les Ă©checs et shogi[3], ainsi que les jeux vidĂ©o en temps rĂ©el et les jeux Ă  information incomplĂšte tels que le poker[4].

Principe

L'algorithme MCTS est un algorithme qui explore l'arbre des possibles. La racine est la configuration initiale du jeu. Chaque nƓud est une configuration et ses enfants sont les configurations suivantes. MCTS conserve en mĂ©moire un arbre qui correspond aux nƓuds dĂ©jĂ  explorĂ©s de l'arbre des possibles. Une feuille de cet arbre (un nƓud n'ayant pas d'enfants) est soit une configuration finale (i.e. on sait si un des joueurs a gagnĂ©, ou s'il y a match nul), soit un nƓud dont aucun enfant n'a encore Ă©tĂ© explorĂ©. Dans chaque nƓud, on stocke deux nombres : le nombre de simulations gagnantes, et le nombre total de simulations. Chaque Ă©tape est composĂ©e de quatre phases[5].

  • SĂ©lection. Depuis la racine, on sĂ©lectionne successivement des enfants jusqu'Ă  atteindre une feuille. Dans cette phase, le choix des enfants est guidĂ© par un compromis entre exploitation (aller vers un enfant qui a Ă©tĂ© prouvĂ© comme prometteur) et exploration (aller visiter un autre enfant, qui a l'air moins prometteur mais qui pourrait l'ĂȘtre davantage). Dans l'exemple donnĂ© dans la figure, on choisit la feuille de gauche (de profondeur 3).
  • Expansion: si cette feuille n'est pas finale, crĂ©er un enfant (ou plusieurs) en utilisant les rĂšgles du jeu et choisir l'un des enfants. Sur l'exemple, on ajoute cet enfant, marquĂ© 0/0.
  • Simulation: simuler une exĂ©cution d'une partie au hasard depuis cet enfant, jusqu'Ă  atteindre une configuration finale.
  • RĂ©tropropagation (Backpropagation): utiliser le rĂ©sultat de la partie au hasard et mettre Ă  jour les informations sur la branche en partant du nƓud enfant vers la racine. Sur l'exemple, la partie Ă©tait perdante pour blanc. On incrĂ©mente donc uniquement le nombre de simulations totales sur la branche pour les nƓuds blancs et on incrĂ©mente le nombre de simulations gagnĂ©es et le nombre de simulations totales pour les noirs sur la branche : 0/0 devient 0/1, 3/3 devient 4/4, 5/6 devient 5/7, 7/10 devient 8/11, et 12/21 devient 12/22. Si la partie avait Ă©tĂ© gagnante :0/0 serait devenu 1/1, 3/3 serait devenu 3/4, 5/6 serait devenu 6/7, 7/10 serait devenu 7/11, et 12/21 serait devenu 13/22.
Étapes d'un MCTS.

Exploitation et exploration

La difficultĂ© principale est dans la phase de sĂ©lection. Il faut choisir un enfant et maintenir un compromis entre l'exploitation des choix qui ont l'air prometteurs et l'exploration des nƓuds Ă  partir desquels peu de simulations ont Ă©tĂ© rĂ©alisĂ©es. La premiĂšre formule pour ce compromis entre exploitation et exploration, qui s'appelle UCT (Upper Confidence Bound 1 applied to Trees) Ă©tait introduit par Levente Kocsis (en) et Csaba SzepesvĂĄri (en)[6]. UCT est basĂ©e sur la formule UCB1 de Auer, Cesa-Bianchi et Fischer[7] et l'algorithme AMS (Adaptive Multi-stage Sampling) a Ă©tĂ© appliquĂ© Ă  la dĂ©cision multi-Ă©tage par Chang, Fu, Hu, et Marcus[8]. Kocsis et SzepesvĂĄri recommandent de choisir le successeur i, en chaque nƓud de l'arbre, pour lequel l'expression a la valeur maximale. Dans cette formule :

  • w est le nombre de parties gagnĂ©es marquĂ© dans le successeur i
  • n est le nombre de fois oĂč le successeur i a Ă©tĂ© visitĂ©
  • N est le nombre de fois oĂč le nƓud, pĂšre de i, a Ă©tĂ© visitĂ©
  • c est le paramĂštre d'exploration — en thĂ©orie Ă©gal Ă  , en pratique, choisi expĂ©rimentalement.

La premiÚre partie de la formule, correspond à l'exploitation ; la fraction est grande pour les successeurs qui ont eu beaucoup de succÚs jusque là. La seconde partie correspond à l'exploration ; elle est grande pour des successeurs qui n'ont été impliqués que dans peu de simulations.

Les implémentations plus modernes de MCTS sont basées sur une variante de UCT, cf. les travaux de Chang et al.[8] - [9] (2005) à Operations Research (en).

Références

  1. « Monte-Carlo Tree Search in TOTAL WAR: ROME II’s Campaign AI », sur AI Game Dev (consultĂ© le )
  2. David Silver, Aja Huang, Chris J. Maddison, Arthur Guez, Laurent Sifre, George van den Driessche, Julian Schrittwieser, Ioannis Antonoglou, Veda Panneershelvam, Marc Lanctot, Sander Dieleman, Dominik Grewe, John Nham, Nal Kalchbrenner, Ilya Sutskever, Timothy Lillicrap, Madeleine Leach, Koray Kavukcuoglu, Thore Graepel et Demis Hassabis, « Mastering the game of Go with deep neural networks and tree search », Nature, vol. 529, no 7587,‎ , p. 484–489 (ISSN 0028-0836, PMID 26819042, DOI 10.1038/nature16961, Bibcode 2016Natur.529..484S, lire en ligne AccĂšs payant, consultĂ© le ).
  3. (en) D. Silver, « Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm », .
  4. Jonathan Rubin et Ian Watson, « Computer poker: A review », Artificial Intelligence, vol. 175, nos 5–6,‎ , p. 958–987 (DOI 10.1016/j.artint.2010.12.005, lire en ligne)
  5. G.M.J.B. Chaslot, M.H.M. Winands, J.W.H.M. Uiterwijk, H.J. van den Herik et B. Bouzy, « Progressive Strategies for Monte-Carlo Tree Search », New Mathematics and Natural Computation, vol. 4, no 3,‎ , p. 343–359 (DOI 10.1142/s1793005708001094, lire en ligne)
  6. (en) Levente Kocsis et Csaba Szepesvåri « Bandit based Monte-Carlo Planning » (DOI 10.1007/11871842_29, CiteSeerx 10.1.1.102.1296)
    —Machine Learning: ECML 2006, 17th European Conference on Machine Learning (Berlin, 18–22 septembre 2006)
    — « (ibid.) », dans Johannes FĂŒrnkranz, Tobias Scheffer et Myra Spiliopoulou (Ă©ds.), [...] Proceedings, vol. 4212, Springer, coll. « Lecture Notes in Computer Science », (ISBN 3-540-45375-X), p. 282–293
  7. Peter Auer, NicolĂČ Cesa-Bianchi et Paul Fischer, « Finite-time Analysis of the Multiarmed Bandit Problem »(Archive.org ‱ Wikiwix ‱ Archive.is ‱ Google ‱ Que faire ?), (DOI 10.1023/a:1013689704352), p. 235–256.
  8. Hyeong Soo Chang, Michael C. Fu, Jiaqiao Hu et Steven I. Marcus, « An Adaptive Sampling Algorithm for Solving Markov Decision Processes », Operations Research, vol. 53,‎ , p. 126–139 (DOI 10.1287/opre.1040.0145, lire en ligne)
  9. Hyeong Soo Chang, Michael Fu, Jiaqiao Hu et Steven I. Marcus, « Google DeepMind's Alphago: O.R.'s unheralded role in the path-breaking achievement », INFORMS, vol. 45, no 5,‎ , p. 24–29 (lire en ligne)

Bibliographie

  • Cameron Browne, Edward Powley, Daniel Whitehouse, Simon Lucas, Peter I. Cowling, Philipp Rohlfshagen, Stephen Tavener, Diego Perez, Spyridon Samothrakis, Simon Colton, « A Survey of Monte Carlo Tree Search Methods », IEEE Transactions on Computational Intelligence and AI in Games, vol. 4, no 1,‎ (lire en ligne)

Lien externe

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.