Monte Carlo Tree Search: Quels types de mouvements peuvent être facilement trouvés et quels types de problèmes posent problème?


10

Je veux commencer par un scénario qui m'a fait réfléchir sur la façon dont les SCTM peuvent fonctionner: Supposons qu'il y ait un mouvement qui n'est pas encore ajouté à l'arborescence de recherche. Ce sont des couches / mouvements trop profonds. Mais si nous jouons ce coup, le jeu est essentiellement gagné. Cependant, supposons également que tous les mouvements qui pourraient être effectués à l'état de jeu donné sont très très mauvais. Pour les besoins de l'argument, disons qu'il y a 1000 coups possibles et qu'un seul est bon (mais très bon) et le reste est très mauvais. Les SCTM ne manqueraient-ils pas de reconnaître cela et nonfaire croître l'arbre de recherche vers ce mouvement et également évaluer très mal ce sous-arbre? Je sais que les SCTM finissent par converger vers minimax (et finalement, ils construiront l’arbre entier s’il y a suffisamment de mémoire). Ensuite, il faut savoir que le mouvement est bon même s'il y a beaucoup de mauvaises possibilités. Mais je suppose qu'en pratique, ce n'est pas quelque chose sur lequel on peut compter. Peut-être que quelqu'un peut me dire s'il s'agit d'une évaluation correcte de ma part.

En dehors de ce scénario spécial, j'aimerais également savoir s'il existe d'autres scénarios où les SCTM se comporteront mal (ou extraordinairement bien).


Les SCTM sont probabilistes. En tant que tel, il a besoin d'indices ou il ne trouvera rien. Par exemple: chercher l'aiguille dans la botte de foin. Essayez ceci et vous échouerez. Ce serait bien si vous pouviez trouver un exemple plus réaliste et demander quelle serait la stratégie optimale pour cet exemple. Cela pourrait donner un indice sur la façon de mieux trouver les aiguilles dans la botte de foin.
Trilarion

Réponses:


2

Que le mouvement soit trouvé et à quelle vitesse il est trouvé dépend de quelques éléments. Si je comprends bien, il y a une séquence de nombreux «mauvais» mouvements qui mènent au mouvement «gros gagnant», et vous avez peur que l'algorithme des SCTM n'atteigne pas le mouvement «gros gagnant» parce qu'il sélectionnera des plus prometteurs se déplace plus haut dans l'arbre. Quelques choses à penser (lire aussi l' article Wikipedia MCTS ):

  • lorsque vous jouez, vous ne pouvez jouer votre jeu que pour quelques mouvements supplémentaires ou jusqu'à la fin de la partie. Jouer quelques coups plus loin est évidemment plus rapide, mais dans le cas extrême que vous avez décrit, ce ne serait pas le meilleur choix. Si vous connaissez l'existence de tels scénarios, assurez-vous de jouer le jeu jusqu'à la fin lors des matchs.

  • lorsque vous jouez, vous pouvez choisir vos mouvements / actions soit au hasard, soit sur la base d'heuristiques simples et gourmandes (rapides) adaptées à votre problème. Y a-t-il peut-être des heuristiques gourmandes conçues pour trouver ou prendre en compte de tels scénarios pour votre jeu / problème? Si oui, mettez-les en œuvre. On l'appelle alors une "diffusion lourde". Comparez les résultats aux matchs en utilisant des mouvements aléatoires.

  • Si vous choisissez les actions à l'aide de l'UCT (Upper Confidence Bound appliqué aux arbres), la première partie de l'expression est responsable de l'exploitation. Les mouvements avec un taux de victoire moyen élevé sont préférés. La deuxième partie correspond cependant à l'exploration. Si le paramètre d'exploration est réglé suffisamment haut (testez empiriquement votre problème), alors des mouvements avec peu de simulations seront préférés. Une exploration élevée serait une autre façon de trouver votre coup d'or, au détriment de l'exploitation (lisez le dilemme exploration / exploitation).

Si vous décrivez un jeu réaliste ou un scénario de problème, nous pourrons peut-être vous aider à trouver une stratégie appropriée.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.