Index   Main   Namespaces   Classes   Hierarchy   Annotated   Files   Compound   Global   Pages  

GoUctPlayoutPolicy< BOARD > Class Template Reference

#include <GoUctPlayoutPolicy.h>

List of all members.


Detailed Description

template<class BOARD>
class GoUctPlayoutPolicy< BOARD >

Default playout policy for usage in GoUctGlobalSearch.

Parametrized by the board class to make it usable with both GoBoard and GoUctBoard. If all heuristics are disabled, the policy plays purely random moves. The order and types of the heuristics are inspired by the first technical report about the MoGo program. Instances of this class must be thread-safe during a search.

Definition at line 110 of file GoUctPlayoutPolicy.h.

Public Member Functions

 GoUctPlayoutPolicy (const BOARD &bd, const GoUctPlayoutPolicyParam &param)
 Constructor.
GoPointList GetEquivalentBestMoves () const
 Return the list of equivalent best moves from last move generation.
const GoUctPatterns< BOARD > & Patterns () const
 Make pattern matcher available for other uses.
Functions needed by all playout policies.
SgPoint GenerateMove ()
 Generate a move Generates a random move in the following order:
  1. Atari heuristic (if enabled)
  2. Proximity heuristic (if enabled) (using patterns if enabled)
  3. Capture heuristic (if enabled)
  4. Purely random.

void EndPlayout ()
void StartPlayout ()
void OnPlay ()
GoUctPlayoutPolicyType MoveType () const
 Return the type of the last move generated.
Statistics
const GoUctPlayoutPolicyStatStatistics () const
 Return current statistics.
void ClearStatistics ()

Private Types

typedef bool Corrector (const BOARD &, SgPoint &)
 A function that possibly corrects a given point.

Private Member Functions

bool CorrectMove (GoUctPlayoutPolicy< BOARD >::Corrector &corrFunction, SgPoint &mv, GoUctPlayoutPolicyType moveType)
 Try to correct the proposed move, typically by moving it to a 'better' point such as other liberty or neighbor.
bool GenerateAtariCaptureMove ()
 Captures if last move was self-atari.
bool GenerateAtariDefenseMove ()
 Generate escapes if last move was atari.
bool GenerateLowLibMove (SgPoint lastMove)
 Generate low lib moves around lastMove.
bool GenerateNakadeMove ()
 Nakade heuristic.
void GenerateNakadeMove (SgPoint p)
bool GeneratePatternMove ()
 Generate pattern move around last two moves.
void GeneratePatternMove (SgPoint p)
void GeneratePatternMove2 (SgPoint p, SgPoint lastMove)
void GeneratePureRandom ()
bool GeneratePoint (SgPoint p) const
void PlayGoodLiberties (SgPoint block)
 Does playing on a liberty increase number of liberties for block? If yes, add to m_moves.
SgPoint SelectRandom ()
 see GoUctUtil::SelectRandom
void UpdateStatistics ()
 Add statistics for most recently played move.

Private Attributes

const BOARD & m_bd
const GoUctPlayoutPolicyParamm_param
GoUctPatterns< BOARD > m_patterns
bool m_checked
 m_moves have already been checked, skip GeneratePoint test.
GoUctPlayoutPolicyType m_moveType
 Type of the last generated move.
std::size_t m_nonRandLen
 See GoUctPlayoutPolicyStat::m_nonRandLen.
SgPoint m_lastMove
 Last move.
GoPointList m_moves
 List of equivalent best moves generated by the policy.
SgRandom m_random
SgBalancer m_balancer
 Balancer for GoUctUtil::IsMutualAtari().
CaptureGenerator m_captureGenerator
GoUctPureRandomGenerator<
BOARD > 
m_pureRandomGenerator
GoUctPlayoutPolicyStat m_statistics

Static Private Attributes

static const bool SECOND_LAST_MOVE_PATTERNS = true
 Use patterns around last own move, too.
static const bool USE_CLUMP_CORRECTION = false
 Shift move to neighbor if it would make an ugly clump.
static const bool DEBUG_CORRECT_MOVE = false

Classes

class  CaptureGenerator
 Incrementally keeps track of blocks in atari. More...


Member Typedef Documentation

template<class BOARD>
typedef bool GoUctPlayoutPolicy< BOARD >::Corrector(const BOARD &, SgPoint &) [private]

A function that possibly corrects a given point.

Definition at line 175 of file GoUctPlayoutPolicy.h.


Constructor & Destructor Documentation

template<class BOARD>
GoUctPlayoutPolicy< BOARD >::GoUctPlayoutPolicy ( const BOARD &  bd,
const GoUctPlayoutPolicyParam param 
)

Constructor.

Parameters:
bd 
param The parameters. The policy stores a reference to param to allow changing the parameters of a group of playout policies later. Therefore the lifetime of param must exceed the lifetime of the policy.

Definition at line 359 of file GoUctPlayoutPolicy.h.


Member Function Documentation

template<class BOARD>
void GoUctPlayoutPolicy< BOARD >::ClearStatistics (  ) 

Definition at line 372 of file GoUctPlayoutPolicy.h.

References GoUctPlayoutPolicyStat::Clear(), and GoUctPlayoutPolicy< BOARD >::m_statistics.

template<class BOARD>
bool GoUctPlayoutPolicy< BOARD >::CorrectMove ( GoUctPlayoutPolicy< BOARD >::Corrector corrFunction,
SgPoint mv,
GoUctPlayoutPolicyType  moveType 
) [private]

Try to correct the proposed move, typically by moving it to a 'better' point such as other liberty or neighbor.

Examples implemented: self-ataries, clumps.

Definition at line 378 of file GoUctPlayoutPolicy.h.

References GoUctPlayoutPolicy< BOARD >::DEBUG_CORRECT_MOVE, GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_moves, GoUctPlayoutPolicy< BOARD >::m_moveType, SgSList< T, SIZE >::SetTo(), and SgDebug().

Referenced by GoUctPlayoutPolicy< BOARD >::GenerateMove().

template<class BOARD>
void GoUctPlayoutPolicy< BOARD >::EndPlayout (  ) 

Definition at line 401 of file GoUctPlayoutPolicy.h.

Referenced by GoUctDefaultPriorKnowledge::ProcessPosition().

template<class BOARD>
bool GoUctPlayoutPolicy< BOARD >::GenerateAtariCaptureMove (  )  [private]

Captures if last move was self-atari.

Definition at line 406 of file GoUctPlayoutPolicy.h.

References GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_lastMove, GoUctPlayoutPolicy< BOARD >::m_moves, SgSList< T, SIZE >::PushBack(), SG_ASSERT, and SgIsSpecialMove().

Referenced by GoUctPlayoutPolicy< BOARD >::GenerateMove().

template<class BOARD>
bool GoUctPlayoutPolicy< BOARD >::GenerateAtariDefenseMove (  )  [private]

Generate escapes if last move was atari.

Definition at line 419 of file GoUctPlayoutPolicy.h.

References SgSList< T, SIZE >::Contains(), SgSList< T, SIZE >::IsEmpty(), GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_lastMove, GoUctPlayoutPolicy< BOARD >::m_moves, SgSList< T, SIZE >::PushBack(), GoBoardUtil::SelfAtari(), SG_ASSERT, and SgIsSpecialMove().

Referenced by GoUctPlayoutPolicy< BOARD >::GenerateMove().

template<class BOARD>
bool GoUctPlayoutPolicy< BOARD >::GenerateLowLibMove ( SgPoint  lastMove  )  [private]

Generate low lib moves around lastMove.

Definition at line 471 of file GoUctPlayoutPolicy.h.

References SgSList< T, SIZE >::IsEmpty(), GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_moves, GoUctPlayoutPolicy< BOARD >::PlayGoodLiberties(), SG_ASSERT, and SgIsSpecialMove().

Referenced by GoUctPlayoutPolicy< BOARD >::GenerateMove().

template<class BOARD>
SG_ATTR_FLATTEN SgPoint GoUctPlayoutPolicy< BOARD >::GenerateMove (  ) 

Generate a move Generates a random move in the following order:

  1. Atari heuristic (if enabled)
  2. Proximity heuristic (if enabled) (using patterns if enabled)
  3. Capture heuristic (if enabled)
  4. Purely random.

Definition at line 507 of file GoUctPlayoutPolicy.h.

References SgSList< T, SIZE >::Clear(), GoUctPlayoutPolicy< BOARD >::CorrectMove(), GoUctUtil::DoClumpCorrection(), GoUctUtil::DoSelfAtariCorrection(), GoUctPlayoutPolicy< BOARD >::CaptureGenerator::Generate(), GoUctPlayoutPolicy< BOARD >::GenerateAtariCaptureMove(), GoUctPlayoutPolicy< BOARD >::GenerateAtariDefenseMove(), GoUctPlayoutPolicy< BOARD >::GenerateLowLibMove(), GoUctPlayoutPolicy< BOARD >::GenerateNakadeMove(), GoUctPlayoutPolicy< BOARD >::GeneratePatternMove(), GOUCT_ATARI_CAPTURE, GOUCT_ATARI_DEFEND, GOUCT_CAPTURE, GOUCT_CLUMP_CORRECTION, GOUCT_FILLBOARD, GOUCT_LOWLIB, GOUCT_NAKADE, GOUCT_PASS, GOUCT_PATTERN, GOUCT_RANDOM, GOUCT_SELFATARI_CORRECTION, GoUctPlayoutPolicy< BOARD >::m_balancer, GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_captureGenerator, GoUctPlayoutPolicy< BOARD >::m_checked, GoUctPlayoutPolicyParam::m_fillboardTries, GoUctPlayoutPolicy< BOARD >::m_lastMove, GoUctPlayoutPolicy< BOARD >::m_moves, GoUctPlayoutPolicy< BOARD >::m_moveType, GoUctPlayoutPolicy< BOARD >::m_param, GoUctPlayoutPolicy< BOARD >::m_pureRandomGenerator, GoUctPlayoutPolicyParam::m_statisticsEnabled, GoUctPlayoutPolicyParam::m_useNakadeHeuristic, GoUctPlayoutPolicy< BOARD >::SelectRandom(), SG_ASSERT, SG_NULLMOVE, SG_PASS, SgIsSpecialMove(), GoUctPlayoutPolicy< BOARD >::UpdateStatistics(), and GoUctPlayoutPolicy< BOARD >::USE_CLUMP_CORRECTION.

Referenced by GoUctCommands::CmdPolicyMoves(), and GoUctDefaultPriorKnowledge::ProcessPosition().

template<class BOARD>
void GoUctPlayoutPolicy< BOARD >::GenerateNakadeMove ( SgPoint  p  )  [private]

Definition at line 606 of file GoUctPlayoutPolicy.h.

References GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_moves, and SgSList< T, SIZE >::PushBack().

template<class BOARD>
bool GoUctPlayoutPolicy< BOARD >::GenerateNakadeMove (  )  [private]

Nakade heuristic.

If there is a region of three empty points adjacent to last move, play in the center of the region.

Definition at line 593 of file GoUctPlayoutPolicy.h.

References SgSList< T, SIZE >::IsEmpty(), GoUctPlayoutPolicy< BOARD >::m_lastMove, GoUctPlayoutPolicy< BOARD >::m_moves, SG_ASSERT, SG_NS, SG_WE, and SgIsSpecialMove().

Referenced by GoUctPlayoutPolicy< BOARD >::GenerateMove().

template<class BOARD>
void GoUctPlayoutPolicy< BOARD >::GeneratePatternMove ( SgPoint  p  )  [private]

Definition at line 685 of file GoUctPlayoutPolicy.h.

References GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_moves, GoUctPlayoutPolicy< BOARD >::m_patterns, SgSList< T, SIZE >::PushBack(), and GoBoardUtil::SelfAtari().

template<class BOARD>
bool GoUctPlayoutPolicy< BOARD >::GeneratePatternMove (  )  [private]

Generate pattern move around last two moves.

Use patterns (only in 3x3 neighborhood of last move)

See also:
GoUctPatterns

Definition at line 654 of file GoUctPlayoutPolicy.h.

References GoUctPlayoutPolicy< BOARD >::GeneratePatternMove2(), SgSList< T, SIZE >::IsEmpty(), GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_lastMove, GoUctPlayoutPolicy< BOARD >::m_moves, GoUctPlayoutPolicy< BOARD >::SECOND_LAST_MOVE_PATTERNS, SG_ASSERT, SG_NS, SG_WE, and SgIsSpecialMove().

Referenced by GoUctPlayoutPolicy< BOARD >::GenerateMove().

template<class BOARD>
void GoUctPlayoutPolicy< BOARD >::GeneratePatternMove2 ( SgPoint  p,
SgPoint  lastMove 
) [private]

Definition at line 694 of file GoUctPlayoutPolicy.h.

References SgPointUtil::In8Neighborhood(), GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_moves, GoUctPlayoutPolicy< BOARD >::m_patterns, SgSList< T, SIZE >::PushBack(), and GoBoardUtil::SelfAtari().

Referenced by GoUctPlayoutPolicy< BOARD >::GeneratePatternMove().

template<class BOARD>
bool GoUctPlayoutPolicy< BOARD >::GeneratePoint ( SgPoint  p  )  const [private]

Definition at line 705 of file GoUctPlayoutPolicy.h.

References GoUctUtil::GeneratePoint(), GoUctPlayoutPolicy< BOARD >::m_balancer, and GoUctPlayoutPolicy< BOARD >::m_bd.

Referenced by GoUctPlayoutPolicy< BOARD >::GetEquivalentBestMoves().

template<class BOARD>
void GoUctPlayoutPolicy< BOARD >::GeneratePureRandom (  )  [private]

template<class BOARD>
GoPointList GoUctPlayoutPolicy< BOARD >::GetEquivalentBestMoves (  )  const

Return the list of equivalent best moves from last move generation.

The played move was randomly selected from this list.

Definition at line 711 of file GoUctPlayoutPolicy.h.

References GoUctPlayoutPolicy< BOARD >::GeneratePoint(), GOUCT_RANDOM, SgSList< T, SIZE >::Iterator, GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_checked, GoUctPlayoutPolicy< BOARD >::m_moves, GoUctPlayoutPolicy< BOARD >::m_moveType, and SgSList< T, SIZE >::PushBack().

Referenced by GoUctCommands::CmdPolicyMoves(), GoUctDefaultPriorKnowledge::ProcessPosition(), and GoUctPlayoutPolicy< BOARD >::UpdateStatistics().

template<class BOARD>
GoUctPlayoutPolicyType GoUctPlayoutPolicy< BOARD >::MoveType (  )  const

Return the type of the last move generated.

Definition at line 728 of file GoUctPlayoutPolicy.h.

References GoUctPlayoutPolicy< BOARD >::m_moveType.

Referenced by GoUctCommands::CmdPolicyMoves(), and GoUctDefaultPriorKnowledge::ProcessPosition().

template<class BOARD>
void GoUctPlayoutPolicy< BOARD >::OnPlay (  ) 

Definition at line 735 of file GoUctPlayoutPolicy.h.

References GoUctPlayoutPolicy< BOARD >::m_captureGenerator, GoUctPlayoutPolicy< BOARD >::m_pureRandomGenerator, and GoUctPlayoutPolicy< BOARD >::CaptureGenerator::OnPlay().

template<class BOARD>
const GoUctPatterns< BOARD > & GoUctPlayoutPolicy< BOARD >::Patterns (  )  const

Make pattern matcher available for other uses.

Avoids that a user of the playout policy who also wants to use the pattern matcher for other purposes needs to allocate a second matcher (Use case: prior knowledge)

Definition at line 743 of file GoUctPlayoutPolicy.h.

References GoUctPlayoutPolicy< BOARD >::m_patterns.

Referenced by GoUctDefaultPriorKnowledge::FindGlobalPatternAndAtariMoves().

template<class BOARD>
void GoUctPlayoutPolicy< BOARD >::PlayGoodLiberties ( SgPoint  block  )  [private]

Does playing on a liberty increase number of liberties for block? If yes, add to m_moves.

Disabled if both liberties are simple chain libs, e.g. bamboo.

Definition at line 459 of file GoUctPlayoutPolicy.h.

References GoUctUtil::GainsLiberties(), GoBoardUtil::IsSimpleChain(), GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_moves, SgSList< T, SIZE >::PushBack(), and GoBoardUtil::SelfAtari().

Referenced by GoUctPlayoutPolicy< BOARD >::GenerateLowLibMove().

template<class BOARD>
SgPoint GoUctPlayoutPolicy< BOARD >::SelectRandom (  )  [private]

see GoUctUtil::SelectRandom

Definition at line 750 of file GoUctPlayoutPolicy.h.

References GoUctPlayoutPolicy< BOARD >::m_balancer, GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_moves, GoUctPlayoutPolicy< BOARD >::m_random, and GoUctUtil::SelectRandom().

Referenced by GoUctPlayoutPolicy< BOARD >::GenerateMove().

template<class BOARD>
void GoUctPlayoutPolicy< BOARD >::StartPlayout (  ) 

Definition at line 764 of file GoUctPlayoutPolicy.h.

References GoUctPlayoutPolicy< BOARD >::m_captureGenerator, GoUctPlayoutPolicy< BOARD >::m_nonRandLen, GoUctPlayoutPolicy< BOARD >::m_pureRandomGenerator, and GoUctPlayoutPolicy< BOARD >::CaptureGenerator::StartPlayout().

Referenced by GoUctCommands::CmdPolicyMoves(), and GoUctDefaultPriorKnowledge::ProcessPosition().

template<class BOARD>
const GoUctPlayoutPolicyStat & GoUctPlayoutPolicy< BOARD >::Statistics (  )  const

Return current statistics.

The statistics are only collected, if enabled with EnableStatistics().

Definition at line 758 of file GoUctPlayoutPolicy.h.

References GoUctPlayoutPolicy< BOARD >::m_statistics.

template<class BOARD>
void GoUctPlayoutPolicy< BOARD >::UpdateStatistics (  )  [private]

Add statistics for most recently played move.

Definition at line 772 of file GoUctPlayoutPolicy.h.

References SgStatistics< VALUE, COUNT >::Add(), GoUctPlayoutPolicy< BOARD >::GetEquivalentBestMoves(), GOUCT_RANDOM, GoUctPlayoutPolicyStat::m_moveListLen, GoUctPlayoutPolicy< BOARD >::m_moveType, GoUctPlayoutPolicyStat::m_nonRandLen, GoUctPlayoutPolicy< BOARD >::m_nonRandLen, GoUctPlayoutPolicyStat::m_nuMoves, GoUctPlayoutPolicyStat::m_nuMoveType, and GoUctPlayoutPolicy< BOARD >::m_statistics.

Referenced by GoUctPlayoutPolicy< BOARD >::GenerateMove().


Member Data Documentation

template<class BOARD>
const bool GoUctPlayoutPolicy< BOARD >::DEBUG_CORRECT_MOVE = false [static, private]

Definition at line 208 of file GoUctPlayoutPolicy.h.

Referenced by GoUctPlayoutPolicy< BOARD >::CorrectMove().

template<class BOARD>
SgBalancer GoUctPlayoutPolicy< BOARD >::m_balancer [mutable, private]

Balancer for GoUctUtil::IsMutualAtari().

Definition at line 242 of file GoUctPlayoutPolicy.h.

Referenced by GoUctPlayoutPolicy< BOARD >::GenerateMove(), GoUctPlayoutPolicy< BOARD >::GeneratePoint(), and GoUctPlayoutPolicy< BOARD >::SelectRandom().

template<class BOARD>
const BOARD& GoUctPlayoutPolicy< BOARD >::m_bd [private]

Definition at line 210 of file GoUctPlayoutPolicy.h.

Referenced by GoUctPlayoutPolicy< BOARD >::CorrectMove(), GoUctPlayoutPolicy< BOARD >::GenerateAtariCaptureMove(), GoUctPlayoutPolicy< BOARD >::GenerateAtariDefenseMove(), GoUctPlayoutPolicy< BOARD >::GenerateLowLibMove(), GoUctPlayoutPolicy< BOARD >::GenerateMove(), GoUctPlayoutPolicy< BOARD >::GenerateNakadeMove(), GoUctPlayoutPolicy< BOARD >::GeneratePatternMove(), GoUctPlayoutPolicy< BOARD >::GeneratePatternMove2(), GoUctPlayoutPolicy< BOARD >::GeneratePoint(), GoUctPlayoutPolicy< BOARD >::GetEquivalentBestMoves(), GoUctPlayoutPolicy< BOARD >::PlayGoodLiberties(), and GoUctPlayoutPolicy< BOARD >::SelectRandom().

template<class BOARD>
CaptureGenerator GoUctPlayoutPolicy< BOARD >::m_captureGenerator [private]

Definition at line 244 of file GoUctPlayoutPolicy.h.

Referenced by GoUctPlayoutPolicy< BOARD >::GenerateMove(), GoUctPlayoutPolicy< BOARD >::OnPlay(), and GoUctPlayoutPolicy< BOARD >::StartPlayout().

template<class BOARD>
bool GoUctPlayoutPolicy< BOARD >::m_checked [private]

m_moves have already been checked, skip GeneratePoint test.

Definition at line 217 of file GoUctPlayoutPolicy.h.

Referenced by GoUctPlayoutPolicy< BOARD >::GenerateMove(), and GoUctPlayoutPolicy< BOARD >::GetEquivalentBestMoves().

template<class BOARD>
SgPoint GoUctPlayoutPolicy< BOARD >::m_lastMove [private]

Last move.

Stored in member variable to avoid multiple calls to GoBoard::GetLastMove during GenerateMove.

Definition at line 229 of file GoUctPlayoutPolicy.h.

Referenced by GoUctPlayoutPolicy< BOARD >::GenerateAtariCaptureMove(), GoUctPlayoutPolicy< BOARD >::GenerateAtariDefenseMove(), GoUctPlayoutPolicy< BOARD >::GenerateMove(), GoUctPlayoutPolicy< BOARD >::GenerateNakadeMove(), and GoUctPlayoutPolicy< BOARD >::GeneratePatternMove().

template<class BOARD>
GoPointList GoUctPlayoutPolicy< BOARD >::m_moves [private]

List of equivalent best moves generated by the policy.

The highest priority heuristic will generate all moves in this list. Moves in this list are not yet checked, if they are legal. This list is not used in GenerateMove(), if a pure random move is generated.

Definition at line 237 of file GoUctPlayoutPolicy.h.

Referenced by GoUctPlayoutPolicy< BOARD >::CorrectMove(), GoUctPlayoutPolicy< BOARD >::GenerateAtariCaptureMove(), GoUctPlayoutPolicy< BOARD >::GenerateAtariDefenseMove(), GoUctPlayoutPolicy< BOARD >::GenerateLowLibMove(), GoUctPlayoutPolicy< BOARD >::GenerateMove(), GoUctPlayoutPolicy< BOARD >::GenerateNakadeMove(), GoUctPlayoutPolicy< BOARD >::GeneratePatternMove(), GoUctPlayoutPolicy< BOARD >::GeneratePatternMove2(), GoUctPlayoutPolicy< BOARD >::GetEquivalentBestMoves(), GoUctPlayoutPolicy< BOARD >::PlayGoodLiberties(), and GoUctPlayoutPolicy< BOARD >::SelectRandom().

template<class BOARD>
GoUctPlayoutPolicyType GoUctPlayoutPolicy< BOARD >::m_moveType [private]

Type of the last generated move.

Definition at line 220 of file GoUctPlayoutPolicy.h.

Referenced by GoUctPlayoutPolicy< BOARD >::CorrectMove(), GoUctPlayoutPolicy< BOARD >::GenerateMove(), GoUctPlayoutPolicy< BOARD >::GetEquivalentBestMoves(), GoUctPlayoutPolicy< BOARD >::MoveType(), and GoUctPlayoutPolicy< BOARD >::UpdateStatistics().

template<class BOARD>
std::size_t GoUctPlayoutPolicy< BOARD >::m_nonRandLen [private]

See GoUctPlayoutPolicyStat::m_nonRandLen.

Definition at line 223 of file GoUctPlayoutPolicy.h.

Referenced by GoUctPlayoutPolicy< BOARD >::StartPlayout(), and GoUctPlayoutPolicy< BOARD >::UpdateStatistics().

template<class BOARD>
const GoUctPlayoutPolicyParam& GoUctPlayoutPolicy< BOARD >::m_param [private]

Definition at line 212 of file GoUctPlayoutPolicy.h.

Referenced by GoUctPlayoutPolicy< BOARD >::GenerateMove().

template<class BOARD>
GoUctPatterns<BOARD> GoUctPlayoutPolicy< BOARD >::m_patterns [private]

Definition at line 214 of file GoUctPlayoutPolicy.h.

Referenced by GoUctPlayoutPolicy< BOARD >::GeneratePatternMove(), GoUctPlayoutPolicy< BOARD >::GeneratePatternMove2(), and GoUctPlayoutPolicy< BOARD >::Patterns().

template<class BOARD>
GoUctPureRandomGenerator<BOARD> GoUctPlayoutPolicy< BOARD >::m_pureRandomGenerator [private]

Definition at line 246 of file GoUctPlayoutPolicy.h.

Referenced by GoUctPlayoutPolicy< BOARD >::GenerateMove(), GoUctPlayoutPolicy< BOARD >::OnPlay(), and GoUctPlayoutPolicy< BOARD >::StartPlayout().

template<class BOARD>
SgRandom GoUctPlayoutPolicy< BOARD >::m_random [private]

Definition at line 239 of file GoUctPlayoutPolicy.h.

Referenced by GoUctPlayoutPolicy< BOARD >::SelectRandom().

template<class BOARD>
GoUctPlayoutPolicyStat GoUctPlayoutPolicy< BOARD >::m_statistics [private]

Definition at line 248 of file GoUctPlayoutPolicy.h.

Referenced by GoUctPlayoutPolicy< BOARD >::ClearStatistics(), GoUctPlayoutPolicy< BOARD >::Statistics(), and GoUctPlayoutPolicy< BOARD >::UpdateStatistics().

template<class BOARD>
const bool GoUctPlayoutPolicy< BOARD >::SECOND_LAST_MOVE_PATTERNS = true [static, private]

Use patterns around last own move, too.

Definition at line 201 of file GoUctPlayoutPolicy.h.

Referenced by GoUctPlayoutPolicy< BOARD >::GeneratePatternMove().

template<class BOARD>
const bool GoUctPlayoutPolicy< BOARD >::USE_CLUMP_CORRECTION = false [static, private]

Shift move to neighbor if it would make an ugly clump.

See GoUctUtil::DoClumpCorrection

Definition at line 206 of file GoUctPlayoutPolicy.h.

Referenced by GoUctPlayoutPolicy< BOARD >::GenerateMove().


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


17 Jun 2010 Doxygen 1.4.7