Default playout policy for usage in GoUctGlobalSearch. More...
#include <GoUctPlayoutPolicy.h>
Classes | |
class | CaptureGenerator |
Incrementally keeps track of blocks in atari. More... | |
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 (SgBlackWhite color) 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 (typename 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 generated 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 |
SgBWArray< 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 |
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 104 of file GoUctPlayoutPolicy.h.
typedef bool GoUctPlayoutPolicy< BOARD >::Corrector(const BOARD &, SgPoint &) [private] |
A function that possibly corrects a given point.
Definition at line 164 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 342 of file GoUctPlayoutPolicy.h.
References GoUctPlayoutPolicy< BOARD >::ClearStatistics().
void GoUctPlayoutPolicy< BOARD >::ClearStatistics | ( | ) |
Definition at line 356 of file GoUctPlayoutPolicy.h.
References GoUctPlayoutPolicy< BOARD >::m_statistics, SG_BLACK, and SG_WHITE.
Referenced by GoUctPlayoutPolicy< BOARD >::GoUctPlayoutPolicy().
bool GoUctPlayoutPolicy< BOARD >::CorrectMove | ( | typename 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 363 of file GoUctPlayoutPolicy.h.
References GoUctPlayoutPolicy< BOARD >::DEBUG_CORRECT_MOVE, GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_moves, GoUctPlayoutPolicy< BOARD >::m_moveType, SgArrayList< T, SIZE >::SetTo(), and SgDebug().
Referenced by GoUctPlayoutPolicy< BOARD >::GenerateMove().
void GoUctPlayoutPolicy< BOARD >::EndPlayout | ( | ) |
Definition at line 386 of file GoUctPlayoutPolicy.h.
Referenced by GoUctDefaultPriorKnowledge::ProcessPosition().
bool GoUctPlayoutPolicy< BOARD >::GenerateAtariCaptureMove | ( | ) | [private] |
Captures if last move was self-atari.
Definition at line 391 of file GoUctPlayoutPolicy.h.
References GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_lastMove, GoUctPlayoutPolicy< BOARD >::m_moves, SgArrayList< 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 404 of file GoUctPlayoutPolicy.h.
References SgArrayList< T, SIZE >::Contains(), SgArrayList< T, SIZE >::IsEmpty(), GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_lastMove, GoUctPlayoutPolicy< BOARD >::m_moves, SgArrayList< 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 456 of file GoUctPlayoutPolicy.h.
References SgArrayList< T, SIZE >::Contains(), SgArrayList< T, SIZE >::IsEmpty(), GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_moves, GoUctPlayoutPolicy< BOARD >::PlayGoodLiberties(), SgArrayList< T, SIZE >::PushBack(), 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 494 of file GoUctPlayoutPolicy.h.
References SgArrayList< 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_CLUMP_CORRECTION, 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_ATTR_FLATTEN, SG_NULLMOVE, SG_PASS, SgIsSpecialMove(), GoUctPlayoutPolicy< BOARD >::UpdateStatistics(), and GoUctPlayoutPolicy< BOARD >::USE_CLUMP_CORRECTION.
Referenced by GoUctCommands::CmdPolicyMoves(), and GoUctDefaultPriorKnowledge::ProcessPosition().
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 579 of file GoUctPlayoutPolicy.h.
References SgArrayList< 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 >::GenerateNakadeMove | ( | SgPoint | p | ) | [private] |
Definition at line 592 of file GoUctPlayoutPolicy.h.
References GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_moves, and SgArrayList< T, SIZE >::PushBack().
bool GoUctPlayoutPolicy< BOARD >::GeneratePatternMove | ( | ) | [private] |
Generate pattern move around last two moves.
Pattern heuristic.
Use patterns (only in 3x3 neighborhood of last move)
Definition at line 639 of file GoUctPlayoutPolicy.h.
References GoUctPlayoutPolicy< BOARD >::GeneratePatternMove2(), SgArrayList< 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 >::GeneratePatternMove | ( | SgPoint | p | ) | [private] |
Definition at line 670 of file GoUctPlayoutPolicy.h.
References GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_moves, GoUctPlayoutPolicy< BOARD >::m_patterns, SgArrayList< T, SIZE >::PushBack(), and GoBoardUtil::SelfAtari().
void GoUctPlayoutPolicy< BOARD >::GeneratePatternMove2 | ( | SgPoint | p, | |
SgPoint | lastMove | |||
) | [private] |
Definition at line 679 of file GoUctPlayoutPolicy.h.
References SgPointUtil::In8Neighborhood(), GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_moves, GoUctPlayoutPolicy< BOARD >::m_patterns, SgArrayList< T, SIZE >::PushBack(), and GoBoardUtil::SelfAtari().
Referenced by GoUctPlayoutPolicy< BOARD >::GeneratePatternMove().
bool GoUctPlayoutPolicy< BOARD >::GeneratePoint | ( | SgPoint | p | ) | const [private] |
Definition at line 690 of file GoUctPlayoutPolicy.h.
References 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 696 of file GoUctPlayoutPolicy.h.
References GoUctPlayoutPolicy< BOARD >::GeneratePoint(), GOUCT_RANDOM, SgArrayList< SgPoint, SG_MAX_ONBOARD+1 >::Iterator, GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_checked, GoUctPlayoutPolicy< BOARD >::m_moves, GoUctPlayoutPolicy< BOARD >::m_moveType, and SgArrayList< 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 713 of file GoUctPlayoutPolicy.h.
References GoUctPlayoutPolicy< BOARD >::m_moveType.
Referenced by GoUctCommands::CmdPolicyMoves(), and GoUctDefaultPriorKnowledge::ProcessPosition().
void GoUctPlayoutPolicy< BOARD >::OnPlay | ( | ) |
Definition at line 720 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 728 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 444 of file GoUctPlayoutPolicy.h.
References GoUctUtil::GainsLiberties(), GoBoardUtil::IsSimpleChain(), GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_moves, SgArrayList< T, SIZE >::PushBack(), and GoBoardUtil::SelfAtari().
Referenced by GoUctPlayoutPolicy< BOARD >::GenerateLowLibMove().
SgPoint GoUctPlayoutPolicy< BOARD >::SelectRandom | ( | ) | [private] |
Definition at line 735 of file GoUctPlayoutPolicy.h.
References GoUctPlayoutPolicy< BOARD >::m_balancer, GoUctPlayoutPolicy< BOARD >::m_bd, GoUctPlayoutPolicy< BOARD >::m_moves, and GoUctPlayoutPolicy< BOARD >::m_random.
Referenced by GoUctPlayoutPolicy< BOARD >::GenerateMove().
void GoUctPlayoutPolicy< BOARD >::StartPlayout | ( | ) |
Definition at line 757 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 | ( | SgBlackWhite | color | ) | const |
Return current statistics.
The statistics are only collected, if enabled with EnableStatistics().
Definition at line 751 of file GoUctPlayoutPolicy.h.
References GoUctPlayoutPolicy< BOARD >::m_statistics.
void GoUctPlayoutPolicy< BOARD >::UpdateStatistics | ( | ) | [private] |
Add statistics for most recently generated move.
Definition at line 765 of file GoUctPlayoutPolicy.h.
References SgStatisticsBase< VALUE, COUNT >::Add(), GoUctPlayoutPolicy< BOARD >::GetEquivalentBestMoves(), GOUCT_RANDOM, GoUctPlayoutPolicy< BOARD >::m_bd, 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 195 of file GoUctPlayoutPolicy.h.
Referenced by GoUctPlayoutPolicy< BOARD >::CorrectMove().
SgBalancer GoUctPlayoutPolicy< BOARD >::m_balancer [mutable, private] |
Balancer for GoUctUtil::IsMutualAtari().
Definition at line 227 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 197 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(), GoUctPlayoutPolicy< BOARD >::SelectRandom(), and GoUctPlayoutPolicy< BOARD >::UpdateStatistics().
CaptureGenerator GoUctPlayoutPolicy< BOARD >::m_captureGenerator [private] |
Definition at line 229 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 204 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 215 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 222 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 207 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 210 of file GoUctPlayoutPolicy.h.
Referenced by GoUctPlayoutPolicy< BOARD >::StartPlayout(), and GoUctPlayoutPolicy< BOARD >::UpdateStatistics().
const GoUctPlayoutPolicyParam& GoUctPlayoutPolicy< BOARD >::m_param [private] |
Definition at line 199 of file GoUctPlayoutPolicy.h.
Referenced by GoUctPlayoutPolicy< BOARD >::GenerateMove().
GoUctPatterns<BOARD> GoUctPlayoutPolicy< BOARD >::m_patterns [private] |
Definition at line 201 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 231 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 224 of file GoUctPlayoutPolicy.h.
Referenced by GoUctPlayoutPolicy< BOARD >::SelectRandom().
SgBWArray<GoUctPlayoutPolicyStat> GoUctPlayoutPolicy< BOARD >::m_statistics [private] |
Definition at line 233 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 189 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 193 of file GoUctPlayoutPolicy.h.
Referenced by GoUctPlayoutPolicy< BOARD >::GenerateMove().