uct_search() En gros, une méthode qui sélectionne les nœuds avec une grande valeur UCB et ajoute le taux de victoire total. C'était assez difficile à comprendre, alors j'ai fait un exemple et je l'ai compris. Par exemple, supposons que la recherche du début à la troisième recherche soit effectuée comme suit.
Chaque fois qu'une recherche est effectuée, le taux de gain du point de vue de ce nœud est ajouté aux variables de chaque nœud. Variable ① Taux de victoire total (nom de la variable win): Total de ② pour tous les nœuds. (Dans cet exemple, ① a la même valeur que ②, mais comme chaque nœud n'en a recherché qu'un, il s'agit uniquement de la même valeur, et ① et ② sont des variables différentes.) Variable ② Taux de victoire total lorsque le nœud ** est sélectionné (nom de la variable child_win) Il existe d'autres variables, mais ces deux sont importantes: ① et ②. Notez que le taux de victoire prévu (nom de la variable value_win) du réseau de valeurs et ① sont des variables différentes.
La fonction uct_search () enregistre également le nombre de visites sur chaque nœud. Après avoir quitté cette fonction, le coup avec le plus grand nombre de visites sera sélectionné comme coup final dans la fonction go (). De plus, la valeur obtenue en divisant ② par le nombre de visites, c'est-à-dire le taux de victoire moyen, est traitée comme le taux de victoire du coup. Garder cela à l'esprit facilite la compréhension.
Dans cet exemple, j'ai essayé de suivre comment le contenu des variables change dans l'ordre chronologique.
Je l'ai finalement compris jusqu'à présent. Il additionne simplement votre taux de victoire et le taux négatif de votre adversaire (= votre taux de victoire).
Recommended Posts