Beispiel #1
0
class TestMCTS(unittest.TestCase):

	def setUp(self):
		self.gs = GameState()
		self.mcts = MCTS(self.gs, value_network, policy_network, rollout_policy, n_search=2)

	def test_treenode_selection(self):
		treenode = TreeNode(None, 1.0)
		treenode.expansion(policy_network(self.gs))
		action, node = treenode.selection()
		self.assertEqual(action, (18, 18))  # according to the policy below
		self.assertIsNotNone(node)

	def test_mcts_DFS(self):
		treenode = TreeNode(None, 1.0)
		self.mcts._DFS(8, treenode, self.gs.copy())
		self.assertEqual(1, treenode.children[(18, 18)].nVisits, 'DFS visits incorrect')

	def test_mcts_getMove(self):
		move = self.mcts.get_move(self.gs)
		self.mcts.update_with_move(move)