def test_playout_with_pass(self):
        # Test that playout handles the end of the game (i.e. passing/no moves). Mock this by
        # creating a policy that returns nothing after 4 moves.
        def stop_early_policy(state):
            if len(state.history) <= 4:
                return dummy_policy(state)
            else:
                return []

        self.mcts = MCTS(dummy_value,
                         stop_early_policy,
                         stop_early_policy,
                         n_playout=2)
        self.mcts._playout(self.gs.copy(), 8)
        # Assert that (18, 18) and (18, 17) are still only visited once.
        self.assertEqual(1, self.mcts._root._children[(18, 18)]._n_visits)
        # Assert that no expansions happened after reaching the "end" in 4 moves.
        self.assertEqual(5, self._count_expansions())
 def setUp(self):
     self.gs = GameState()
     self.mcts = MCTS(dummy_value, dummy_policy, dummy_rollout, n_playout=2)
Beispiel #3
0
	def setUp(self):
		self.gs = GameState()
		self.mcts = MCTS(self.gs, value_network, policy_network, rollout_policy, n_search=2)