Ejemplo n.º 1
0
            'species': 'ai',
            'color': HexBoard.BLUE_STR,
            'method': 'alphabeta',
            'evaluation': 'dijkstra',
            'search_depth': 4,
            'ts_rating': ts.Rating(),
            'algorithm_name': 'dijkstra_4'
        })

    starting_color = HexBoard.BLUE
    player1_win_cnt = 0
    player2_win_cnt = 0

    for game_idx in range(100):
        player1 = player_dijkstra_4
        player2 = player_dijkstra_3
        won_player = play_one_game(player_dijkstra_3,
                                   player_dijkstra_4,
                                   board_size=4,
                                   print_statements=False,
                                   starting_color=starting_color)

        if won_player == "player_1": player1_win_cnt += 1
        elif won_player == "player_2": player2_win_cnt += 1

        CommonUtil.print_on_same_line(
            str(player1_win_cnt) + " " + str(player2_win_cnt))

        if starting_color == HexBoard.BLUE: starting_color = HexBoard.RED
        elif starting_color == HexBoard.RED: starting_color = HexBoard.BLUE
        else: raise Exception(starting_color)
                                              guest_player.algorithm_name +
                                              "\t")

                if host_player.algorithm_name == guest_player.algorithm_name:
                    continue

                latest_host_player_rating: ts.Rating = tuple_map_ts_rating_list_dict[
                    (host_player.algorithm_name,
                     guest_player.algorithm_name)][-1]
                latest_guest_player_rating: ts.Rating = tuple_map_ts_rating_list_dict[
                    (guest_player.algorithm_name,
                     host_player.algorithm_name)][-1]

                won_player: str = play_one_game(host_player,
                                                guest_player,
                                                board_size=board_size,
                                                print_statements=False,
                                                starting_color=starting_color)

                print("won player ", won_player)

                if won_player == "player_1":
                    latest_host_player_rating, latest_guest_player_rating = ts.rate_1vs1(
                        latest_host_player_rating, latest_guest_player_rating)
                elif won_player == "player_2":
                    latest_guest_player_rating, latest_host_player_rating = ts.rate_1vs1(
                        latest_guest_player_rating, latest_host_player_rating)
                else:
                    raise Exception(won_player)

                tuple_map_ts_rating_list_dict[(
Ejemplo n.º 3
0
            # print("")
            start_interval: int = game_idx - data_analysis_interval + 2
            end_interval: int = game_idx + 1
            start_interval_str: str = CommonUtil.format_int_to_str_length(start_interval, len(str(num_of_games_to_run)))
            end_interval_str: str = CommonUtil.format_int_to_str_length(end_interval, len(str(num_of_games_to_run)))

            host_audit_timer: TimerUtil = TimerUtil()
            for tmp_guest_player_2 in guest_player_list:
                CommonUtil.print_on_same_line("Game: " + str(game_idx + 1) + ".\t" + host_player.algorithm_name + " vs " + tmp_guest_player_2.algorithm_name + "\t\t")

                if host_player.algorithm_name == tmp_guest_player_2.algorithm_name: continue

                latest_host_player_rating: ts.Rating = tuple_map_ts_rating_list_dict[(host_player.algorithm_name, tmp_guest_player_2.algorithm_name)][-1]
                latest_guest_player_rating: ts.Rating = tuple_map_ts_rating_list_dict[(tmp_guest_player_2.algorithm_name, host_player.algorithm_name)][-1]

                won_player = play_one_game(host_player, tmp_guest_player_2, board_size=board_size, print_statements=True, starting_color=starting_color, timer_util=host_audit_timer, is_host_human=is_host_human)

                if won_player == "player_1":    latest_host_player_rating, latest_guest_player_rating = ts.rate_1vs1(latest_host_player_rating, latest_guest_player_rating)
                elif won_player == "player_2":  latest_guest_player_rating, latest_host_player_rating  = ts.rate_1vs1(latest_guest_player_rating, latest_host_player_rating)
                else:   raise Exception(won_player)

                tuple_map_ts_rating_list_dict[(host_player.algorithm_name, tmp_guest_player_2.algorithm_name)].append(latest_host_player_rating)
                tuple_map_ts_rating_list_dict[(tmp_guest_player_2.algorithm_name, host_player.algorithm_name)].append(latest_guest_player_rating)


                host_ts_rating_list_dict[tmp_guest_player_2.algorithm_name].append(latest_host_player_rating.mu)
                mean: float = 0;        stddev: float = 0

                if (game_idx+1) >= data_analysis_interval:
                    # tmp = host_ts_rating_list_dict[guest_player.algorithm_name][:-data_analysis_interval]
                    interval_data_list = host_ts_rating_list_dict[tmp_guest_player_2.algorithm_name][:-data_analysis_interval]