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.