def node(): simple_state = mcts.State() simple_state.ally_team = [] simple_state.enemy_team = [1] simple_state.ally_starting = False a_node = mcts.Node([2, 3], simple_state) a_node.tree_path = {1, 4} return a_node
def _tree(target_state): simple_state = mcts.State() simple_state.ally_team = [] simple_state.enemy_team = [1] simple_state.ally_starting = False root = mcts.Node([], simple_state) child1 = mcts.Node([], simple_state, root) child11 = mcts.Node([], simple_state, child1) child12 = mcts.Node([], simple_state, child1) child2 = mcts.Node([], simple_state, root) child21 = mcts.Node([], simple_state, child2) child22 = mcts.Node([], target_state, child2) root.children.append(child1) root.children.append(child2) child1.children.append(child11) child1.children.append(child12) child2.children.append(child21) child2.children.append(child22) child1.value = 0 child1.visited = 2 child2.value = 0 child2.visited = 2 child2.champ = 1 child11.value = 1 child11.visited = 1 child12.value = 2 child12.visited = 1 child21.value = 3 child21.visited = 1 child22.value = 5 child22.visited = 1 child22.champ = 2 root.depth = 0 return root
def _tree(simple_state, higher_than_three): root = mcts.Node([], simple_state) child1 = mcts.Node([], simple_state, root) child11 = mcts.Node([], simple_state, child1) child12 = mcts.Node([], simple_state, child1) child2 = mcts.Node([], simple_state, root) child21 = mcts.Node([], simple_state, child2) child22 = mcts.Node([], simple_state, child2) root.children.append(child1) root.children.append(child2) child1.children.append(child11) child1.children.append(child12) child2.children.append(child21) child2.children.append(child22) child1.value = 0 child1.visited = 2 child2.value = 0 child2.visited = 2 child11.value = 1 child11.visited = 1 child12.value = 2 child12.visited = 1 child21.value = 3 child21.visited = 1 child22.value = higher_than_three child22.visited = 1 return root
def test_run_mcts_root(some_state2): node = mcts.Node(range(20, 90), some_state2) suggestions, reduced_root = mcts.run_mcts(1, node, True, range(20, 90)) assert isinstance(reduced_root, mcts.Node)
def test_run_mcts_suggest(some_state): node = mcts.Node(range(10, 80), some_state) suggestions, reduced_root = mcts.run_mcts(1, node, True, range(10, 80)) assert 10 == len(suggestions)
def _node_with_champ(champ): node = mcts.Node([], mcts.State()) node.champ = champ return node
def test_simulate3(some_state): possible = [0, 2, 3, 4, 5, 6, 7, 8, 9] node = mcts.Node(possible, some_state) output = mcts.simulate(node)[5:] assert output.__contains__(1)
def test_simulate2(some_state): possible = [0, 2, 3, 4, 5, 6, 7, 8, 9] not_possible = range(10, 142) node = mcts.Node(possible, some_state) output = mcts.simulate(node) assert not any(elem in output for elem in not_possible)
def test_simulate(some_state): possible = [0, 2, 3, 4, 5, 6, 7, 8, 9] node = mcts.Node(possible, some_state) output = mcts.simulate(node) assert all(elem in output for elem in possible)