|
Xiangiqgame
AI engine for Xiangqi
|
#include <concepts/board_state_coordinator.hpp>#include <concepts/piece_value_provider.hpp>#include <concepts/space_info_provider.hpp>#include <array>#include <atomic>#include <interfaces/base_move_evaluator.hpp>#include <gameboard/board_data_structs.hpp>#include <moveselection/evaluator_data_structs.hpp>#include <functional>#include <limits>#include <memory>#include <optional>#include <unordered_map>

Go to the source code of this file.
Classes | |
| class | moveselection::PreSearchMoveSorterForConcepts< G, P > |
| 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; uses SpaceInfoProviderConcept and PieceValueProviderConcept. More... | |
| class | moveselection::MinimaxMoveEvaluatorForConcepts< H, G, P > |
| Complies with MoveEvaluatorConcept, and selects move::Move using Minimax algorithm; uses SpaceInfoProviderConcept, BoardStateCoordinatorConcept, and PieceValueProviderConcept interfaces. More... | |
Namespaces | |
| namespace | moveselection |
| Selecting a move to execute. | |
| namespace | moveselection::minimaxutils_forconcepts |
Functions | |
| bool | moveselection::minimaxutils_forconcepts::ValidateMove (SearchSummary &search_summary, const MoveCollection &allowed_moves) |
| void | moveselection::minimaxutils_forconcepts::UpdateAlpha (Points_t &alpha, Points_t cur_eval) |
| void | moveselection::minimaxutils_forconcepts::UpdateBeta (Points_t &beta, Points_t cur_eval) |
| bool | moveselection::minimaxutils_forconcepts::IsPrunableForEvaluator (Points_t &alpha, Points_t &beta, MinimaxResultType &result_type) |
| bool | moveselection::minimaxutils_forconcepts::IsPrunableForEvaluatorOpponent (Points_t &alpha, Points_t &beta, MinimaxResultType &result_type) |