Example #1
0
    def __init__(self, game_state: GameState, move: int, parent):
        self.game_state = game_state
        self.move = move
        self.parent = parent
        self.is_expanded = False
        self.is_terminal = game_state.get_result() is not None
        self.children = DictWithDefault(lambda move: UCTNode(
            self.game_state.play(move), move, parent=self))
        self.child_priors = np.zeros(
            game_state.get_actions_size(), dtype=np.float32)
        self.child_total_value = np.zeros(
            game_state.get_actions_size(), dtype=np.float32)
        self.child_number_visits = np.zeros(
            game_state.get_actions_size(), dtype=np.int32)
        self.child_player_changed = np.ones(
            game_state.get_actions_size(), dtype=np.int32)

        if tree_stats_enabled:
            self.deepness = parent.deepness + 1