00001 //---------------------------------------------------------------------------- 00002 /** @file GoUctEstimatorStat.h 00003 Utility classes to gather statistics for estimators (like RAVE) used in 00004 SgUctSearch. */ 00005 //---------------------------------------------------------------------------- 00006 00007 #ifndef GOUCT_ESTIMATORSTAT_H 00008 #define GOUCT_ESTIMATORSTAT_H 00009 00010 #include <cstddef> 00011 #include <string> 00012 #include <vector> 00013 00014 class GoBoard; 00015 class GoUctSearch; 00016 00017 //---------------------------------------------------------------------------- 00018 00019 namespace GoUctEstimatorStat 00020 { 00021 /** Get statistics for estimators. 00022 First plays each move and performs a search with a large number of 00023 games to estimate the true value of the move. Then performs a search 00024 at the root node and saves a sample of the values and counts after 00025 each game in the search. 00026 @param search 00027 @param trueValueMaxGames Number of games to use for the search to 00028 determine the true value 00029 @param maxGames Maximum number of games for actual search. 00030 @param stepSize Interval of games played to save the values. 00031 @param fileName File to append the resulting samples to */ 00032 void Compute(GoUctSearch& search, std::size_t trueValueMaxGames, 00033 std::size_t maxGames, std::size_t stepSize, 00034 const std::string& fileName); 00035 } 00036 00037 //---------------------------------------------------------------------------- 00038 00039 #endif // GOUCT_ESTIMATORSTAT_H