def test_get_possible_bets(self): node = Node() node.current_player = constants.players.P1 node.street = 0 node.bets = arg.IntTensor([1, 1]).to(arg.device) node.num_bets = 0 possible_bets = bet_sizing.get_possible_bets(node) out = arg.IntTensor([3, 1]).to(arg.device) torch.testing.assert_allclose(possible_bets, out) node = Node() node.current_player = constants.players.P1 node.street = 1 node.bets = arg.IntTensor([3, 5]).to(arg.device) node.num_bets = 0 possible_bets = bet_sizing.get_possible_bets(node) out = arg.IntTensor([9, 5]).to(arg.device) torch.testing.assert_allclose(possible_bets, out) node = Node() node.current_player = constants.players.P1 node.street = 1 node.bets = arg.IntTensor([3, 5]).to(arg.device) node.num_bets = 2 possible_bets = bet_sizing.get_possible_bets(node) out = torch.empty([0, 2], dtype=arg.int_dtype).to(arg.device) torch.testing.assert_allclose(possible_bets, out)
def build_tree(self, params): root = Node() root.street = params.root_node.street root.bets = params.root_node.bets.clone() root.current_player = params.root_node.current_player root.board = params.root_node.board.clone() root.board_string = params.root_node.board_string self.build_tree_dfs(root) return root
def test_get_children_chance_nodes(self): node = Node() node.board_string = '' node.board = card_to_string.string_to_cards(node.board_string) node.street = 0 node.num_bets = 0 node.current_player = constants.players.P1 node.bets = arg.IntTensor([1, 1]).to(arg.device) children = tree_builder.get_children_chance_nodes(node) for child in children: pass
def get_children_chance_nodes(self, parent_node): children = [] next_boards = card_tools.get_second_round_boards() for board in next_boards: chance_node = Node(parent_node) chance_node.current_player = constants.players.P1 chance_node.street = parent_node.street + 1 chance_node.board = board chance_node.board_string = card_to_string.cards_to_string(board) chance_node.num_bets = 0 chance_node.action = chance_node.board_string children.append(chance_node) return children