00001 //---------------------------------------------------------------------------- 00002 /** @file GoUctRootFilter.h */ 00003 //---------------------------------------------------------------------------- 00004 00005 #ifndef GOUCT_ROOTFILTER_H 00006 #define GOUCT_ROOTFILTER_H 00007 00008 #include <vector> 00009 #include "SgPoint.h" 00010 00011 class GoBoard; 00012 00013 //---------------------------------------------------------------------------- 00014 00015 /** Interface for using external knowledge to prune moves at the root node of 00016 a search. 00017 */ 00018 class GoUctRootFilter 00019 { 00020 public: 00021 virtual ~GoUctRootFilter(); 00022 00023 /** Get moves to filter in the current position. 00024 This function is invoked by the player before the search, it does not 00025 need to be thread-safe. 00026 */ 00027 virtual std::vector<SgPoint> Get() = 0; 00028 }; 00029 00030 //---------------------------------------------------------------------------- 00031 00032 #endif // GOUCT_ROOTFILTER_H