Xiangiqgame
AI engine for Xiangqi
|
Definitions of concrete classes that implement the MoveEvaluator interface. More...
#include <concepts/board_state_coordinator.hpp>
#include <concepts/piece_value_provider.hpp>
#include <concepts/space_info_provider.hpp>
#include <array>
#include <atomic>
#include <gameboard/board_data_structs.hpp>
#include <interfaces/board_state_summarizer_interface.hpp>
#include <moveselection/evaluator_data_structs.hpp>
#include <functional>
#include <limits>
#include <interfaces/move_evaluator_interface.hpp>
#include <interfaces/piece_value_provider_interface.hpp>
#include <interfaces/space_info_provider_interface.hpp>
#include <unordered_map>
#include <utilities/utility_functs.hpp>
Go to the source code of this file.
Classes | |
class | moveselection::PreSearchMoveSorter< ConcreteSpaceInfoProvider, ConcretePieceValueProvider > |
Sorts moves based on points changed induce by single move; used by MinimaxMoveEvaluator for pre-sorting to increase likelihood of alpha/beta pruning during recursive search. More... | |
class | moveselection::MinimaxMoveEvaluator< ConcreteSpaceInfoProvider, ConcreteBoardStateCoordinator, ConcretePieceValueProvider > |
Implements MoveEvaluator interface, and selects move::Move using Minimax algorithm; uses SpaceInfoProvider, BoardStateCoordinator, and PieceValueProvider interfaces. More... | |
class | moveselection::RandomMoveEvaluator< ConcreteSpaceInfoProvider > |
Implements gameboard::MoveEvaluator interface. More... | |
Namespaces | |
namespace | moveselection |
Selecting a move to execute. | |
namespace | moveselection::minimaxutils |
Free functions used by moveselection::MinimaxMoveEvaluator. | |
Functions | |
bool | moveselection::minimaxutils::ValidateMove (SearchSummary &search_summary, const MoveCollection &allowed_moves) |
void | moveselection::minimaxutils::UpdateAlpha (Points_t &alpha, Points_t cur_eval) |
void | moveselection::minimaxutils::UpdateBeta (Points_t &beta, Points_t cur_eval) |
bool | moveselection::minimaxutils::IsPrunableForEvaluator (Points_t &alpha, Points_t &beta, MinimaxResultType &result_type) |
bool | moveselection::minimaxutils::IsPrunableForEvaluatorOpponent (Points_t &alpha, Points_t &beta, MinimaxResultType &result_type) |
Definitions of concrete classes that implement the MoveEvaluator interface.
Definition in file move_evaluators.hpp.