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