|
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.