90 if (
moves().ContainsAnyMoveNotIn(allowed_moves)) {
134 for (
auto &vec :
data_) {
135 vec.resize(max_search_depth + 1);
140 data_[result_type][search_depth]++;
190 remaining_search_depth,
195 remaining_search_depth
203 std::chrono::duration<double, std::nano>
time() {
return time_; }
205 void set_time(std::chrono::duration<double, std::nano> search_time) {
230 std::chrono::duration<double, std::nano>
time_;
260 size_t tr_table_size_current
266 return new_search_entry.first->second;
Definitions of classes used for storing piece points in Base Points Offset form.
Constants, typedefs, and simple structs used by gameboard::GameBoard.
Holds a gameboard::MoveCollection in which all gameboard::Move have the same value (as perceived by a...
MoveCollection move_collection_
MoveCollection move_collection()
Data structure that holds a moveselection::EqualScoreMoves and other search-related info obtained fro...
DepthType remaining_search_depth()
MinimaxResultType result_type()
EqualScoreMoves equal_score_moves_
MinimaxResultType result_type_
DepthType remaining_search_depth_
EqualScoreMoves equal_score_moves()
MinimaxCalcResult(DepthType depth, MinimaxResultType type, EqualScoreMoves moves)
Container for storing and updating data in a moveselection::ResultDepthCountsData_t array of vectors.
ResultDepthCountsData_t data_
void IncrementDataAt(MinimaxResultType result_type, DepthType search_depth)
ResultDepthCounts(DepthType max_search_depth)
ResultDepthCountsData_t data()
Stores data collected during a single call to moveselection::MinimaxMoveEvaluator....
void set_returned_illegal_move(bool status)
size_t tr_table_size_initial_
void set_time(std::chrono::duration< double, std::nano > search_time)
void RecordNodeInfo(MinimaxResultType result_type, DepthType search_depth, const EqualScoreMoves &equal_score_moves)
void set_equal_score_moves(EqualScoreMoves equal_score_moves)
EqualScoreMoves equal_score_moves_
void RecordTrTableHit(TranspositionTableSearchResult &tr_table_search_result, DepthType remaining_search_depth)
EqualScoreMoves equal_score_moves()
size_t tr_table_size_final_
ResultDepthCounts result_depth_counts_
size_t tr_table_size_initial()
void set_tr_table_size_final(size_t tr_table_size_final)
ResultDepthCountsData_t GetResultDepthCounts()
size_t tr_table_size_final()
SearchSummary(DepthType max_search_depth, size_t tr_table_size_initial)
ResultDepthCountsData_t GetTranspositionTableHits()
void UpdateTranspositionTableHits(MinimaxResultType result_type, DepthType search_depth)
ResultDepthCounts transposition_table_hits_
std::chrono::duration< double, std::nano > time_
bool returned_illegal_move()
void SetSelectedMove(Move selected_move)
bool returned_illegal_move_
std::chrono::duration< double, std::nano > time()
Container for storing a moveselection::MinimaxCalcResult retrieved by a call to boardstate::SingleZob...
MinimaxResultType result_type()
void set_known_collision(bool status)
void set_minimax_calc_result(MinimaxCalcResult result)
EqualScoreMoves score_and_moves()
bool IsConsistentWith(const MoveCollection &allowed_moves)
MinimaxCalcResult minimax_calc_result()
void set_found(bool status)
MinimaxCalcResult minimax_calc_result_
Definitions and implementations of gameboard::Move and other move-related structs.
Tracking piece positions and determining legal moves.
Selecting a move to execute.
const uint16_t kNumResultTypes
std::array< std::vector< int >, MinimaxResultType::kMax+1 > ResultDepthCountsData_t
Array of vectors for storing counts of moveselection::MinimaxResultType for each posible remaining se...
Providing position-dependent values of pieces to objects in moveselection namespace.
A container for multiple gameboard::Move objects.
A gameboard::BoardSpace pair (start and end).
A gameboard::Move, and an associated score calculated by a MoveEvaluator.
Stores a moveselection::SearchSummary for each moveselection::MinimaxMoveEvaluator....
SearchSummary & NewFirstSearch(DepthType search_depth, size_t tr_table_size_initial)
std::map< MoveCountType, SearchSummary > extra_searches
std::vector< SearchSummary > first_searches
SearchSummary & NewExtraSearch(DepthType search_depth, MoveCountType search_number, size_t tr_table_size_current)