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 class GoUctRootFilter 00018 { 00019 public: 00020 virtual ~GoUctRootFilter(); 00021 00022 /** Get moves to filter in the current position. 00023 This function is invoked by the player before the search, it does not 00024 need to be thread-safe. */ 00025 virtual std::vector<SgPoint> Get() = 0; 00026 }; 00027 00028 //---------------------------------------------------------------------------- 00029 00030 #endif // GOUCT_ROOTFILTER_H