save_used_hash() Le processus effectué par cette fonction consiste à définir un indicateur utilisé pour tous les nœuds développés sous le nœud donné à l'argument.
#Laissez le nœud en cours d'utilisation
def save_used_hash(self, board, uct_node, index):
self.node_hash[index].flag = True
self.used += 1
current_node = uct_node[index]
child_index = current_node.child_index
child_move = current_node.child_move
child_num = current_node.child_num
for i in range(child_num):
if child_index[i] != NOT_EXPANDED and self.node_hash[child_index[i]].flag == False:
board.push(child_move[i])
self.save_used_hash(board, uct_node, child_index[i])
board.pop()
Définissez l'indicateur utilisé du nœud donné dans l'argument. Obtenez des informations sur les nœuds enfants.
Définissez l'indicateur utilisé du nœud enfant. Obtenez les informations du nœud enfant du nœud enfant.
Cela se répète. Ensuite, enfin, les indicateurs utilisés de tous les nœuds développés sous le nœud parent sont définis.
delete_old_hash() Le processus effectué par cette fonction consiste à définir le drapeau utilisé de tous les nœuds développés sous le nœud de la phase donnée à l'argument, et à définir le drapeau inutilisé des autres nœuds.
Définissez l'indicateur utilisé sur False (non utilisé) pour tous les node_hash.
Exécutez save_used_hash () pour la phase actuelle et définissez les drapeaux utilisés de tous les nœuds développés sous le nœud de phase actuel.
Recommended Posts