#include <GoUctPlayoutPolicy.h>
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 ¶m) | |
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:
| |
void | EndPlayout () |
void | StartPlayout () |
void | OnPlay () |
GoUctPlayoutPolicyType | MoveType () const |
Return the type of the last move generated. | |
Statistics | |
const GoUctPlayoutPolicyStat & | Statistics () 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 GoUctPlayoutPolicyParam & | m_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... |
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.
GoUctPlayoutPolicy< BOARD >::GoUctPlayoutPolicy | ( | const BOARD & | bd, | |
const GoUctPlayoutPolicyParam & | param | |||
) |
Constructor.
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.
void GoUctPlayoutPolicy< BOARD >::ClearStatistics | ( | ) |
Definition at line 372 of file GoUctPlayoutPolicy.h.
References GoUctPlayoutPolicyStat::Clear(), and GoUctPlayoutPolicy< BOARD >::m_statistics.
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().
void GoUctPlayoutPolicy< BOARD >::EndPlayout | ( | ) |
Definition at line 401 of file GoUctPlayoutPolicy.h.
Referenced by GoUctDefaultPriorKnowledge::ProcessPosition().
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().
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().
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().
SG_ATTR_FLATTEN SgPoint GoUctPlayoutPolicy< BOARD >::GenerateMove | ( | ) |
Generate a move Generates a random move in the following order:
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().
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().
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().
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().
bool GoUctPlayoutPolicy< BOARD >::GeneratePatternMove | ( | ) | [private] |
Generate pattern move around last two moves.
Use patterns (only in 3x3 neighborhood of last move)
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().
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().
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().
void GoUctPlayoutPolicy< BOARD >::GeneratePureRandom | ( | ) | [private] |
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().
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().
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().
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().
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().
SgPoint GoUctPlayoutPolicy< BOARD >::SelectRandom | ( | ) | [private] |
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().
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().
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.
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().
const bool GoUctPlayoutPolicy< BOARD >::DEBUG_CORRECT_MOVE = false [static, private] |
Definition at line 208 of file GoUctPlayoutPolicy.h.
Referenced by GoUctPlayoutPolicy< BOARD >::CorrectMove().
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().
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().
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().
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().
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().
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().
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().
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().
const GoUctPlayoutPolicyParam& GoUctPlayoutPolicy< BOARD >::m_param [private] |
Definition at line 212 of file GoUctPlayoutPolicy.h.
Referenced by GoUctPlayoutPolicy< BOARD >::GenerateMove().
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().
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().
SgRandom GoUctPlayoutPolicy< BOARD >::m_random [private] |
Definition at line 239 of file GoUctPlayoutPolicy.h.
Referenced by GoUctPlayoutPolicy< BOARD >::SelectRandom().
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().
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().
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().