Esempio n. 1
0
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
Esempio n. 2
0
    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
Esempio n. 3
0
    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
Esempio n. 4
0
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)
Esempio n. 5
0
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)
Esempio n. 6
0
 def _node_with_champ(champ):
     node = mcts.Node([], mcts.State())
     node.champ = champ
     return node
Esempio n. 7
0
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)
Esempio n. 8
0
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)
Esempio n. 9
0
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)