Xiangiqgame
AI engine for Xiangqi
Loading...
Searching...
No Matches
zobrist.hpp File Reference

Contains implementaion of BoardStateTracker interface as a boardstate::ZobristTracker and supporting classes. More...

#include <array>
#include <atomic>
#include <gameboard/board_data_structs.hpp>
#include <chrono>
#include <boardstate/key_generator.hpp>
#include <gameboard/move_data_structs.hpp>
#include <interfaces/board_state_summarizer_interface.hpp>
#include <moveselection/evaluator_data_structs.hpp>
#include <mutex>
#include <optional>
#include <random>
#include <shared_mutex>
#include <thread>
#include <vector>
Include dependency graph for zobrist.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  boardstate::ZobristCalculator< KeyType >
 Uses Zobrist hashing to calculate a "reasonably unique" integer value for each board configuration encountered during a game. More...
 
class  boardstate::ZobristComponent< KeyType, NumConfKeys >
 Container for one or more boardstate::ZobristCalculator objects. More...
 
class  boardstate::TranspositionTableEntry< KeyType, NumConfKeys >
 Data structure to hold calculation results that get entered into a boardstate::TranspositionTable. More...
 
class  boardstate::TranspositionTable< KeyType, NumConfKeys >
 Stores and manages key-value pairs consisting of a board_state (from a boardstate::ZobristComponent) and results of Minimax calculations performed by boardstate::MinimaxMoveEvaluator. More...
 
class  boardstate::TranspositionTableGuard
 Contains std::mutex that other classes lock before accessing TranspositionTable. More...
 
class  boardstate::TranspositionTablePruner< KeyType, NumConfKeys >
 Removes old entries from TranspositionTable to prevent excessive memory use. More...
 
class  boardstate::ZobristCoordinator< KeyType, NumConfKeys >
 Implements the BoardStateCoordinator interface, providing a moveselection::MinimaxMoveEvaluator with "reasonably unique" hash values for each encountered board state, and the ability to read/write board_state-MinimaxResult pairs in a boardstate::TranspositionTable. More...
 

Namespaces

namespace  boardstate
 Calculate / manage board state and associate Minimax results.
 

Detailed Description

Contains implementaion of BoardStateTracker interface as a boardstate::ZobristTracker and supporting classes.

Definition in file zobrist.hpp.