Index   Main   Namespaces   Classes   Hierarchy   Annotated   Files   Compound   Global   Pages  

Handling of pass-moves in GoUctGlobalSearch

Play-out phase

Pass moves are not played in the play-out phase of the simulations as long as there are still moves for which GoUctUtil::GeneratePoint returns true, which are mainly moves that don't fill single point eyes (see GoUctUtil::GeneratePoint and GoBoardUtil::IsCompletelySurrounded for an exact definition). Therefore, it is a requirement on GoUctPlayoutPolicy::GenerateMove, not to return pass moves earlier.

This requirement ensures that all simulated games terminate (as long as there is no super-ko cycle, because for speed reasons only simple ko's are checked) and that the terminal position after two passes in a row is a position that can be quickly evaluated with GoBoardUtil::ScoreSimpleEndPosition.

In-tree phase

In the in-tree-phase of the game, pass moves are always allowed to avoid zugzwang situations, if there is a seki on the board. After two passes the game is terminated and scored with GoBoardUtil::TrompTaylorScore.


17 Jun 2010 Doxygen 1.4.7