ChineseCheckers
This project is a solver for two players' Chinese Checkers game using the Alpha Beta pruning algorithm. The program is written in C++ and uses a number of heuristics to improve the performance of the algorithm. Overall, the Chinese Checkers solver program has been built with performance in mind, and is designed to deliver fast and efficient game play. Whether you are playing against a bot or using the program as a library in your own project, you can be confident that the program will deliver high-performance results.
|
#include <numbers>
#include <vector>
#include <random>
#include <chrono>
#include <cmath>
#include <algorithm>
#include <iomanip>
#include <limits>
#include <fstream>
#include <thread>
#include <boost/python.hpp>
#include "Types.hpp"
#include "AlphaBeta.hpp"
Go to the source code of this file.
Classes | |
class | SolversIndividuals |
This class is designed to represent individuals in a solver population and contains various methods for manipulating and printing their characteristics. More... | |
class | GamePlayer |
This class simulates a game between two solvers. More... | |
class | ThreadGamePlayer |
Functions | |
Result | playGame (AlphaBeta &player0, AlphaBeta &player1, const int &depth) |
void | print_matrix (const std::vector< double > &matrix) |
void | write_scores (std::ofstream &file, std::vector< SolversIndividuals > &population, SolversIndividuals &best_to_write, const int &gen) |
void | evol (GamePlayer *gp, std::vector< SolversIndividuals > &population, SolversIndividuals *best_player, bool is_white_evolving) |
void | evol_thread (const std::vector< ThreadGamePlayer > &gps, std::vector< SolversIndividuals > &population, SolversIndividuals *best_player, bool is_white_evolving) |
void evol | ( | GamePlayer * | gp, |
std::vector< SolversIndividuals > & | population, | ||
SolversIndividuals * | best_player, | ||
bool | is_white_evolving | ||
) |
void evol_thread | ( | const std::vector< ThreadGamePlayer > & | gps, |
std::vector< SolversIndividuals > & | population, | ||
SolversIndividuals * | best_player, | ||
bool | is_white_evolving | ||
) |
void print_matrix | ( | const std::vector< double > & | matrix | ) |
void write_scores | ( | std::ofstream & | file, |
std::vector< SolversIndividuals > & | population, | ||
SolversIndividuals & | best_to_write, | ||
const int & | gen | ||
) |