Index   Main   Namespaces   Classes   Hierarchy   Annotated   Files   Compound   Global   Pages  

GoUctGlobalSearch< POLICY, FACTORY > Class Template Reference

#include <GoUctGlobalSearch.h>

Inheritance diagram for GoUctGlobalSearch< POLICY, FACTORY >:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<class POLICY, class FACTORY>
class GoUctGlobalSearch< POLICY, FACTORY >

Full board Monte-Carlo tree search.

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)
SgUctThreadStateThreadState (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 SgUctNodeFindBestChild (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 SgUctGameInfoLastGameInfo () const
std::string LastGameSummaryLine () const
bool WasEarlyAbort () const
const SgUctTreeTree () const
SgUctTreeGetTempTree ()
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 SgUctSearchStatStatistics () 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
GoBoardBoard ()
const GoBoardBoard () const
void SaveGames (const std::string &fileName) const
 See SetKeepGames()
Exceptions:
SgException if KeepGames() was false at last invocation of StartSearch().

void SaveTree (std::ostream &out, int maxDepth=-1) const
 See GoUctUtil::SaveTree().
void SetToPlay (SgBlackWhite toPlay)
 Set initial color to play.
const GoBoardHistoryBoardHistory () 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().


Constructor & Destructor Documentation

template<class POLICY, class FACTORY>
GoUctGlobalSearch< POLICY, FACTORY >::GoUctGlobalSearch ( GoBoard bd,
FACTORY *  playoutPolicyFactory,
const GoUctPlayoutPolicyParam policyParam 
)

Constructor.

Parameters:
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().


Member Function Documentation

const GoBoard & GoUctSearch::Board (  )  const [inherited]

Definition at line 289 of file GoUctSearch.h.

References GoUctSearch::m_bd.

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.

template<class POLICY, class FACTORY>
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.

See also:
GoUctSearch::LiveGfxInterval()

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].

See also:
GoUctLiveGfxMode, LiveGfxInterval()

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.

See also:
LiveGfx()

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().

template<class POLICY, class FACTORY>
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().

template<class POLICY, class FACTORY>
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()

Exceptions:
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]

See GoUctUtil::SaveTree().

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().

template<class POLICY, class FACTORY>
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().

template<class POLICY, class FACTORY>
void GoUctGlobalSearch< POLICY, FACTORY >::SetGlobalSearchLiveGfx ( bool  enable  ) 

See GlobalSearchLiveGfx().

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().

template<class POLICY, class FACTORY>
float GoUctGlobalSearch< POLICY, FACTORY >::UnknownEval (  )  const [virtual]

Implements SgUctSearch.

Definition at line 746 of file GoUctGlobalSearch.h.


Member Data Documentation

template<class POLICY, class FACTORY>
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().

template<class POLICY, class FACTORY>
bool GoUctGlobalSearch< POLICY, FACTORY >::m_globalSearchLiveGfx [private]

See GlobalSearchLiveGfx().

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().

template<class POLICY, class FACTORY>
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().

template<class POLICY, class FACTORY>
boost::scoped_ptr<FACTORY> GoUctGlobalSearch< POLICY, FACTORY >::m_playoutPolicyFactory [private]

Definition at line 638 of file GoUctGlobalSearch.h.

template<class POLICY, class FACTORY>
GoRegionBoard GoUctGlobalSearch< POLICY, FACTORY >::m_regions [private]

Definition at line 640 of file GoUctGlobalSearch.h.

Referenced by GoUctGlobalSearch< POLICY, FACTORY >::OnStartSearch().

template<class POLICY, class FACTORY>
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().


The documentation for this class was generated from the following file:


17 Jun 2010 Doxygen 1.4.7