def save_used_hash(self, gs: GameState, uct_nodes: List[UctNode], index): self.node_hash[index].flag = True self.used += 1 current_node = uct_nodes[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: gs.move_with_id(child_move[i]) self.save_used_hash(gs, uct_nodes, child_index[i]) gs.pop()