|
Xiangiqgame
AI engine for Xiangqi
|
Selecting a move to execute. More...
Namespaces | |
| namespace | minimaxutils |
| Free functions used by moveselection::MinimaxMoveEvaluator. | |
| namespace | minimaxutils_forconcepts |
Classes | |
| class | EqualScoreMoves |
| Holds a gameboard::MoveCollection in which all gameboard::Move have the same value (as perceived by a MoveEvaluator), and the value of the shared score. More... | |
| class | HumanMoveEvaluatorFactory |
| class | HumanMoveEvaluatorForConcepts |
| class | MinimaxCalcResult |
| Data structure that holds a moveselection::EqualScoreMoves and other search-related info obtained from a call to moveselection::MinimaxMoveEvaluator.MinimaxRecursive. More... | |
| class | MinimaxMoveEvaluator |
| Implements MoveEvaluator interface, and selects move::Move using Minimax algorithm; uses SpaceInfoProvider, BoardStateCoordinator, and PieceValueProvider interfaces. More... | |
| class | MinimaxMoveEvaluatorFactory |
| class | MinimaxMoveEvaluatorForConcepts |
| Complies with MoveEvaluatorConcept, and selects move::Move using Minimax algorithm; uses SpaceInfoProviderConcept, BoardStateCoordinatorConcept, and PieceValueProviderConcept interfaces. More... | |
| class | PreSearchMoveSorter |
| 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 | PreSearchMoveSorterForConcepts |
| 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 | RandomMoveEvaluator |
| Implements gameboard::MoveEvaluator interface. More... | |
| class | RandomMoveEvaluatorFactory |
| class | RandomMoveEvaluatorForConcepts |
| Complies with MoveEvaluatorConcept. More... | |
| class | ResultDepthCounts |
| Container for storing and updating data in a moveselection::ResultDepthCountsData_t array of vectors. More... | |
| struct | ScoredMove |
| A gameboard::Move, and an associated score calculated by a MoveEvaluator. More... | |
| struct | SearchSummaries |
| Stores a moveselection::SearchSummary for each moveselection::MinimaxMoveEvaluator.ImplementSelectMove made for a particular player during a game. More... | |
| class | SearchSummary |
| Stores data collected during a single call to moveselection::MinimaxMoveEvaluator.ImplementSelectMove. More... | |
| class | TranspositionTableSearchResult |
| Container for storing a moveselection::MinimaxCalcResult retrieved by a call to boardstate::SingleZobristCoordinator.ImplementGetTrData. More... | |
Typedefs | |
| typedef std::array< std::vector< int >, MinimaxResultType::kMax+1 > | ResultDepthCountsData_t |
| Array of vectors for storing counts of moveselection::MinimaxResultType for each posible remaining search depth. | |
Enumerations | |
| enum | MinimaxResultType : uint16_t { kUnknown = 0 , kTrTableHit = 1 , kEvaluatorLoses = 4 , kEvaluatorWins = 5 , kDraw = 6 , kFullyEvaluatedNode = 7 , kStandardLeaf = 8 , kAlphaPrune = 9 , kBetaPrune = 10 , kMin = kUnknown , kMax = kBetaPrune } |
Variables | |
| const uint16_t | kNumResultTypes {7} |
Selecting a move to execute.
| typedef std::array<std::vector<int>, MinimaxResultType::kMax + 1> moveselection::ResultDepthCountsData_t |
Array of vectors for storing counts of moveselection::MinimaxResultType for each posible remaining search depth.
Outer (array) index -> moveslection::MinimaxResultType; inner (vector) index -> remaining search depth when result was obtained.
Definition at line 127 of file evaluator_data_structs.hpp.
| enum moveselection::MinimaxResultType : uint16_t |
| Enumerator | |
|---|---|
| kUnknown | |
| kTrTableHit | |
| kEvaluatorLoses | |
| kEvaluatorWins | |
| kDraw | |
| kFullyEvaluatedNode | |
| kStandardLeaf | |
| kAlphaPrune | |
| kBetaPrune | |
| kMin | |
| kMax | |
Definition at line 36 of file evaluator_data_structs.hpp.
| const uint16_t moveselection::kNumResultTypes {7} |
Definition at line 49 of file evaluator_data_structs.hpp.