Main   Namespaces   Classes   Hierarchy   Annotated   Files   Compound   Global   Pages  

HexUctState.cpp File Reference

#include "SgSystem.h"
#include "SgException.h"
#include "SgMove.h"
#include "BoardUtils.hpp"
#include "BitsetIterator.hpp"
#include "HexUctPolicy.hpp"
#include "HexUctUtil.hpp"
#include "PatternState.hpp"
#include "EndgameUtils.hpp"
#include "SequenceHash.hpp"

Go to the source code of this file.

Variables

static const bool DEBUG_KNOWLEDGE = false
 Prints output during knowledge computation.
static const bool TRACK_KNOWLEDGE = false
 Prints hash sequence before computing knowledge.

Detailed Description

Note:
Use SG_ASSERT so that the assertion handler is used to dump the state of each thread when an assertion fails.
Bug:
Running with assertions and a non-zero knowledge threshold in lock-free mode will cause some assertions to fail. In particular, the way we handle terminal states (by deleting all children) can cause SgUctChildIterator to discover it has no children (in SgUctSearch::UpdateRaveValues and SgUctSearch::SelectChild) which it asserts is not true. It is also possible for threads to play into filled-in cells during the in-tree phase.

Definition in file HexUctState.cpp.


Variable Documentation

const bool DEBUG_KNOWLEDGE = false [static]

Prints output during knowledge computation.

Definition at line 33 of file HexUctState.cpp.

Referenced by HexUctState::ComputeKnowledge().

const bool TRACK_KNOWLEDGE = false [static]

Prints hash sequence before computing knowledge.

Use to see what threads are doing knowledge computations.

Definition at line 37 of file HexUctState.cpp.

Referenced by HexUctState::GenerateAllMoves().


6 Jan 2011 Doxygen 1.6.3