#include <GoUctGlobalSearch.h>
Inheritance diagram for GoUctGlobalSearch< POLICY, FACTORY >:
POLICY The playout policy FACTORY The factory for the playout policy
Definition at line 582 of file GoUctGlobalSearch.h.
Public Member Functions | ||||
GoUctGlobalSearch (GoBoard &bd, FACTORY *playoutPolicyFactory, const GoUctPlayoutPolicyParam &policyParam) | ||||
Constructor. | ||||
void | SetDefaultParameters (int boardSize) | |||
Set default search parameters optimized for a board size. | ||||
bool | GlobalSearchLiveGfx () const | |||
Output live graphics commands for GoGui. | ||||
void | SetGlobalSearchLiveGfx (bool enable) | |||
See GlobalSearchLiveGfx(). | ||||
void | SetThreadStateFactory (SgUctThreadStateFactory *factory) | |||
SgUctThreadState & | ThreadState (int i) const | |||
bool | ThreadsCreated () const | |||
void | CreateThreads () | |||
virtual void | OnEndSearch () | |||
virtual void | OnThreadStartSearch (SgUctThreadState &state) | |||
virtual void | OnThreadEndSearch (SgUctThreadState &state) | |||
virtual std::size_t | GamesPlayed () const | |||
void | GenerateAllMoves (std::vector< SgMoveInfo > &moves) | |||
void | PlayGame () | |||
void | StartSearch (const std::vector< SgMove > &rootFilter=std::vector< SgMove >(), SgUctTree *initTree=0) | |||
void | EndSearch () | |||
float | Search (std::size_t maxGames, double maxTime, std::vector< SgMove > &sequence, const std::vector< SgMove > &rootFilter=std::vector< SgMove >(), SgUctTree *initTree=0, SgUctEarlyAbortParam *earlyAbort=0) | |||
SgPoint | SearchOnePly (size_t maxGames, double maxTime, float &value) | |||
const SgUctNode * | FindBestChild (const SgUctNode &node, const std::vector< SgMove > *excludeMoves=0) const | |||
void | FindBestSequence (std::vector< SgMove > &sequence) const | |||
float | GetBound (bool useRave, const SgUctNode &node, const SgUctNode &child) const | |||
const SgUctGameInfo & | LastGameInfo () const | |||
std::string | LastGameSummaryLine () const | |||
bool | WasEarlyAbort () const | |||
const SgUctTree & | Tree () const | |||
SgUctTree & | GetTempTree () | |||
float | BiasTermConstant () const | |||
void | SetBiasTermConstant (float biasTermConstant) | |||
std::vector< std::size_t > | KnowledgeThreshold () const | |||
void | SetKnowledgeThreshold (const std::vector< std::size_t > &counts) | |||
std::size_t | MaxNodes () const | |||
void | SetMaxNodes (std::size_t maxNodes) | |||
std::size_t | NumberThreads () const | |||
void | SetNumberThreads (std::size_t n) | |||
bool | LockFree () const | |||
void | SetLockFree (bool enable) | |||
int | RandomizeRaveFrequency () const | |||
void | SetRandomizeRaveFrequency (int frequency) | |||
bool | RaveCheckSame () const | |||
void | SetRaveCheckSame (bool enable) | |||
float | FirstPlayUrgency () const | |||
void | SetFirstPlayUrgency (float firstPlayUrgency) | |||
bool | LogGames () const | |||
void | SetLogGames (bool enable) | |||
std::size_t | MaxGameLength () const | |||
void | SetMaxGameLength (std::size_t maxGameLength) | |||
std::size_t | ExpandThreshold () const | |||
void | SetExpandThreshold (std::size_t expandThreshold) | |||
std::size_t | NumberPlayouts () const | |||
void | SetNumberPlayouts (std::size_t n) | |||
bool | Rave () const | |||
void | SetRave (bool enable) | |||
SgUctMoveSelect | MoveSelect () const | |||
void | SetMoveSelect (SgUctMoveSelect moveSelect) | |||
float | RaveWeightInitial () const | |||
void | SetRaveWeightInitial (float value) | |||
float | RaveWeightFinal () const | |||
void | SetRaveWeightFinal (float value) | |||
bool | WeightRaveUpdates () const | |||
void | SetWeightRaveUpdates (bool enable) | |||
bool | VirtualLoss () const | |||
void | SetVirtualLoss (bool enable) | |||
bool | PruneFullTree () const | |||
void | SetPruneFullTree (bool enable) | |||
std::size_t | PruneMinCount () const | |||
void | SetPruneMinCount (std::size_t n) | |||
void | SetMpiSynchronizer (const SgMpiSynchronizerHandle &synchronizerHandle) | |||
SgMpiSynchronizerHandle | MpiSynchronizer () | |||
const SgMpiSynchronizerHandle | MpiSynchronizer () const | |||
const SgUctSearchStat & | Statistics () const | |||
void | WriteStatistics (std::ostream &out) const | |||
Pure virtual functions of SgUctSearch | ||||
float | UnknownEval () const | |||
Virtual functions of SgUctSearch | ||||
void | OnStartSearch () | |||
void | OnSearchIteration (std::size_t gameNumber, int threadId, const SgUctGameInfo &info) | |||
Pure virtual functions of SgUctSearch | ||||
std::string | MoveString (SgMove move) const | |||
SgBlackWhite | ToPlay () const | |||
Color to play at the root node of the last search. | ||||
Go-specific functions | ||||
GoBoard & | Board () | |||
const GoBoard & | Board () const | |||
void | SaveGames (const std::string &fileName) const | |||
See SetKeepGames()
| ||||
void | SaveTree (std::ostream &out, int maxDepth=-1) const | |||
See GoUctUtil::SaveTree(). | ||||
void | SetToPlay (SgBlackWhite toPlay) | |||
Set initial color to play. | ||||
const GoBoardHistory & | BoardHistory () const | |||
Identifier for the position the last search was performed on. | ||||
Go-specific parameters | ||||
bool | KeepGames () const | |||
Keep a SGF tree of all games. | ||||
void | SetKeepGames (bool enable) | |||
See KeepGames(). | ||||
GoUctLiveGfx | LiveGfx () const | |||
Output live graphics commands for GoGui. | ||||
void | SetLiveGfx (GoUctLiveGfx mode) | |||
See LiveGfx(). | ||||
int | LiveGfxInterval () const | |||
Interval for outputting of live graphics commands for GoGui. | ||||
void | SetLiveGfxInterval (int interval) | |||
See LiveGfxInterval(). | ||||
Static Public Member Functions | ||||
static float | InverseEval (float eval) | |||
Public Attributes | ||||
GoUctGlobalSearchStateParam | m_param | |||
Private Attributes | ||||
SgBWSet | m_safe | |||
SgPointArray< bool > | m_allSafe | |||
boost::scoped_ptr< FACTORY > | m_playoutPolicyFactory | |||
GoRegionBoard | m_regions | |||
bool | m_globalSearchLiveGfx | |||
See GlobalSearchLiveGfx(). |
GoUctGlobalSearch< POLICY, FACTORY >::GoUctGlobalSearch | ( | GoBoard & | bd, | |
FACTORY * | playoutPolicyFactory, | |||
const GoUctPlayoutPolicyParam & | policyParam | |||
) |
Constructor.
bd | ||
playoutPolicyFactory | Creates multiple instances of the playout policies. Takes ownership. playoutPolicyFactory should not have SetSafe() and SetAllSafe() already set, because the search will call these functions using its own safety information. |
Definition at line 647 of file GoUctGlobalSearch.h.
References GoUctGlobalSearch< POLICY, FACTORY >::m_allSafe, GoUctGlobalSearch< POLICY, FACTORY >::m_safe, GoUctGlobalSearch< POLICY, FACTORY >::SetDefaultParameters(), and SgUctSearch::SetThreadStateFactory().
const GoBoard & GoUctSearch::Board | ( | ) | const [inherited] |
GoBoard & GoUctSearch::Board | ( | ) | [inherited] |
Definition at line 284 of file GoUctSearch.h.
References GoUctSearch::m_bd.
Referenced by GoUctEstimatorStat::Compute(), GoUctGlobalSearchStateFactory< POLICY, FACTORY >::Create(), GoUctGlobalSearch< POLICY, FACTORY >::OnSearchIteration(), GoUctGlobalSearch< POLICY, FACTORY >::OnStartSearch(), and GoUctSearchUtil::TrompTaylorPassCheck().
const GoBoardHistory & GoUctSearch::BoardHistory | ( | ) | const [inherited] |
Identifier for the position the last search was performed on.
Definition at line 294 of file GoUctSearch.h.
References GoUctSearch::m_boardHistory.
bool GoUctGlobalSearch< POLICY, FACTORY >::GlobalSearchLiveGfx | ( | ) | const |
Output live graphics commands for GoGui.
Similar to the GOUCT_LIVEGFX_COUNTS mode in GoUctSearch, but the influence data shows the terriroy statistics (which must be enabled) instead of the move values. No move counts are shown. The live graphics interval from GoUctSearch will be used.
Definition at line 665 of file GoUctGlobalSearch.h.
References GoUctGlobalSearch< POLICY, FACTORY >::m_globalSearchLiveGfx.
Referenced by GoUctCommands::CmdParamGlobalSearch().
bool GoUctSearch::KeepGames | ( | ) | const [inherited] |
Keep a SGF tree of all games.
This is reset in OnStartSearch() and can be saved with SaveGames().
Definition at line 299 of file GoUctSearch.h.
References GoUctSearch::m_keepGames.
Referenced by GoUctCommands::CmdParamSearch().
GoUctLiveGfx GoUctSearch::LiveGfx | ( | ) | const [inherited] |
Output live graphics commands for GoGui.
If enabled, LiveGfx commands for GoGui are outputted to the debug stream every n games. Note that GoUctUtil::GoGuiGfx() outputs values as influence data and assumes values in [0:1].
Definition at line 304 of file GoUctSearch.h.
References GoUctSearch::m_liveGfx.
Referenced by GoUctCommands::CmdParamSearch().
int GoUctSearch::LiveGfxInterval | ( | ) | const [inherited] |
Interval for outputting of live graphics commands for GoGui.
Default is every 5000 games.
Definition at line 309 of file GoUctSearch.h.
References GoUctSearch::m_liveGfxInterval.
Referenced by GoUctCommands::CmdParamSearch(), and GoUctGlobalSearch< POLICY, FACTORY >::OnSearchIteration().
std::string GoUctSearch::MoveString | ( | SgMove | move | ) | const [virtual, inherited] |
Implements SgUctSearch.
Definition at line 192 of file GoUctSearch.cpp.
References SgPointUtil::PointToString().
void GoUctGlobalSearch< POLICY, FACTORY >::OnSearchIteration | ( | std::size_t | gameNumber, | |
int | threadId, | |||
const SgUctGameInfo & | info | |||
) | [virtual] |
Reimplemented from GoUctSearch.
Definition at line 671 of file GoUctGlobalSearch.h.
References GoUctSearch::Board(), GoUctUtil::GfxBestMove(), GoUctUtil::GfxStatus(), GoUctUtil::GfxTerritoryStatistics(), GoUctSearch::LiveGfxInterval(), GoUctGlobalSearch< POLICY, FACTORY >::m_globalSearchLiveGfx, GoUctGlobalSearchState< POLICY >::m_territoryStatistics, GoUctSearch::OnSearchIteration(), SgDebug(), SgUctSearch::ThreadState(), and GoUctSearch::ToPlay().
void GoUctGlobalSearch< POLICY, FACTORY >::OnStartSearch | ( | ) | [virtual] |
Reimplemented from GoUctSearch.
Definition at line 692 of file GoUctGlobalSearch.h.
References GoUctSearch::Board(), SgBWSet::Clear(), SgPointArray< T >::Fill(), GoSafetySolver::FindSafePoints(), GOUCT_USE_SAFETY_SOLVER, GoUctGlobalSearch< POLICY, FACTORY >::m_allSafe, GoUctGlobalSearch< POLICY, FACTORY >::m_globalSearchLiveGfx, GoUctGlobalSearch< POLICY, FACTORY >::m_param, GoUctGlobalSearch< POLICY, FACTORY >::m_regions, GoUctGlobalSearch< POLICY, FACTORY >::m_safe, GoUctGlobalSearchStateParam::m_territoryStatistics, SgBWSet::OneContains(), GoUctSearch::OnStartSearch(), and SgWarning().
void GoUctSearch::SaveGames | ( | const std::string & | fileName | ) | const [inherited] |
See SetKeepGames()
SgException | if KeepGames() was false at last invocation of StartSearch(). |
Definition at line 256 of file GoUctSearch.cpp.
References GoUctSearch::m_root, and SgUctSearch::MpiSynchronizer().
Referenced by GoUctCommands::CmdSaveGames().
void GoUctSearch::SaveTree | ( | std::ostream & | out, | |
int | maxDepth = -1 | |||
) | const [inherited] |
Definition at line 268 of file GoUctSearch.cpp.
References GoUctSearch::m_bd, GoUctSearch::m_stones, GoUctSearch::m_toPlay, GoUctUtil::SaveTree(), GoBoard::Size(), and SgUctSearch::Tree().
Referenced by GoUctCommands::CmdSaveTree().
void GoUctGlobalSearch< POLICY, FACTORY >::SetDefaultParameters | ( | int | boardSize | ) |
Set default search parameters optimized for a board size.
Definition at line 712 of file GoUctGlobalSearch.h.
References GoUctGlobalSearchStateParam::m_lengthModification, GoUctGlobalSearch< POLICY, FACTORY >::m_param, SgUctSearch::SetBiasTermConstant(), SgUctSearch::SetExpandThreshold(), SgUctSearch::SetFirstPlayUrgency(), SgUctSearch::SetMoveSelect(), SgUctSearch::SetRave(), SgUctSearch::SetRaveWeightFinal(), SgUctSearch::SetRaveWeightInitial(), SgUctSearch::SetVirtualLoss(), and SG_UCTMOVESELECT_COUNT.
Referenced by GoUctGlobalSearch< POLICY, FACTORY >::GoUctGlobalSearch().
void GoUctGlobalSearch< POLICY, FACTORY >::SetGlobalSearchLiveGfx | ( | bool | enable | ) |
Definition at line 739 of file GoUctGlobalSearch.h.
References GoUctGlobalSearch< POLICY, FACTORY >::m_globalSearchLiveGfx.
Referenced by GoUctCommands::CmdParamGlobalSearch().
void GoUctSearch::SetKeepGames | ( | bool | enable | ) | [inherited] |
See KeepGames().
Definition at line 314 of file GoUctSearch.h.
References GoUctSearch::m_keepGames.
Referenced by GoUctCommands::CmdParamSearch().
void GoUctSearch::SetLiveGfx | ( | GoUctLiveGfx | mode | ) | [inherited] |
See LiveGfx().
Definition at line 319 of file GoUctSearch.h.
References GoUctSearch::m_liveGfx.
Referenced by GoUctCommands::CmdParamSearch().
void GoUctSearch::SetLiveGfxInterval | ( | int | interval | ) | [inherited] |
See LiveGfxInterval().
Definition at line 324 of file GoUctSearch.h.
References GoUctSearch::m_liveGfxInterval, and SG_ASSERT.
Referenced by GoUctCommands::CmdParamSearch().
void GoUctSearch::SetToPlay | ( | SgBlackWhite | toPlay | ) | [inherited] |
Set initial color to play.
Definition at line 330 of file GoUctSearch.h.
References GoUctSearch::m_bd, GoUctSearch::m_toPlay, and GoBoard::SetToPlay().
SgBlackWhite GoUctSearch::ToPlay | ( | ) | const [inherited] |
Color to play at the root node of the last search.
Definition at line 274 of file GoUctSearch.cpp.
References GoUctSearch::m_toPlay.
Referenced by GoUctCommands::CmdGfx(), GoUctGlobalSearch< POLICY, FACTORY >::OnSearchIteration(), and GoUctSearchUtil::TrompTaylorPassCheck().
float GoUctGlobalSearch< POLICY, FACTORY >::UnknownEval | ( | ) | const [virtual] |
SgPointArray<bool> GoUctGlobalSearch< POLICY, FACTORY >::m_allSafe [private] |
Definition at line 636 of file GoUctGlobalSearch.h.
Referenced by GoUctGlobalSearch< POLICY, FACTORY >::GoUctGlobalSearch(), and GoUctGlobalSearch< POLICY, FACTORY >::OnStartSearch().
bool GoUctGlobalSearch< POLICY, FACTORY >::m_globalSearchLiveGfx [private] |
Definition at line 643 of file GoUctGlobalSearch.h.
Referenced by GoUctGlobalSearch< POLICY, FACTORY >::GlobalSearchLiveGfx(), GoUctGlobalSearch< POLICY, FACTORY >::OnSearchIteration(), GoUctGlobalSearch< POLICY, FACTORY >::OnStartSearch(), and GoUctGlobalSearch< POLICY, FACTORY >::SetGlobalSearchLiveGfx().
GoUctGlobalSearchStateParam GoUctGlobalSearch< POLICY, FACTORY >::m_param |
Definition at line 586 of file GoUctGlobalSearch.h.
Referenced by GoUctCommands::CmdParamGlobalSearch(), GoUctGlobalSearchStateFactory< POLICY, FACTORY >::Create(), GoUctCommands::DoFinalStatusSearch(), GoUctGlobalSearch< POLICY, FACTORY >::OnStartSearch(), and GoUctGlobalSearch< POLICY, FACTORY >::SetDefaultParameters().
boost::scoped_ptr<FACTORY> GoUctGlobalSearch< POLICY, FACTORY >::m_playoutPolicyFactory [private] |
Definition at line 638 of file GoUctGlobalSearch.h.
GoRegionBoard GoUctGlobalSearch< POLICY, FACTORY >::m_regions [private] |
Definition at line 640 of file GoUctGlobalSearch.h.
Referenced by GoUctGlobalSearch< POLICY, FACTORY >::OnStartSearch().
SgBWSet GoUctGlobalSearch< POLICY, FACTORY >::m_safe [private] |
Definition at line 634 of file GoUctGlobalSearch.h.
Referenced by GoUctGlobalSearch< POLICY, FACTORY >::GoUctGlobalSearch(), and GoUctGlobalSearch< POLICY, FACTORY >::OnStartSearch().