All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Private Attributes | List of all members
osl::search::CountRecorder Class Reference

recorder of MTDF/AlphaBeta More...

#include <searchRecorder.h>

Inheritance diagram for osl::search::CountRecorder:
Inheritance graph
[legend]

Public Member Functions

 CountRecorder ()
 以下を定義すると詰将棋に入った時の局面を別ファイルに保存する More...
 
virtual ~CountRecorder ()
 
void addNodeCount (int count=1)
 探索の途中終了で使えるように必ず数える More...
 
void addQuiescenceCount (int count=1)
 
void addCheckmateCount (int count=1)
 
void setCheckmateCount (int count)
 
void resetNodeCount ()
 
size_t nodeCount () const
 
size_t quiescenceCount () const
 
size_t checkmateCount () const
 
size_t searchNodeCount () const
 
size_t allNodeCount () const
 
double checkmateRatio () const
 
void tryMove (const MoveLogProb &, int, int) const
 recordValue とセットで呼ぶ More...
 
void retryMove (const MoveLogProb &, int, int, int) const
 recordValue とセットで呼ぶ More...
 
void recordValue (const MoveLogProb &, int, bool, int) const
 tryMove とセットで呼ぶ More...
 
void recordTopLevelLowFail (const MoveLogProb &, int) const
 主に数の記録用 More...
 
void recordTopLevelHighFail (const MoveLogProb &, int) const
 
void tableHitLowerBound (Player, int, int, int) const
 
void tableHitUpperBound (Player, int, int, int) const
 
void tableStoreLowerBound (Player, const MoveLogProb &, int, int) const
 
void tableStoreUpperBound (Player, const MoveLogProb &, int, int) const
 
void startSearch (int) const
 
virtual void finishSearch (Move best, double seconds_consumed, bool verbose) const
 これは遅くても気にしない More...
 
void recordInvalidMoveInTable (const state::SimpleState &, const MoveLogProb &, int limit) const
 
void newCategory (const char *, int) const
 
void gotoCheckmateSearch (const state::SimpleState &, int) const
 詰将棋無限ループ発見用 More...
 
void backFromCheckmateSearch () const
 
void reportCount (std::ostream &, double seconds) const
 
void reportCount (std::ostream &) const
 

Private Attributes

size_t node_count
 
size_t quiescence_count
 
size_t checkmate_count
 

Detailed Description

recorder of MTDF/AlphaBeta

destructor はvirtualにすることで管理を容易にする. method はvirtualに*しない*ことで,キャストしたら上位クラスとして 振る舞うようにする.

Definition at line 27 of file searchRecorder.h.

Constructor & Destructor Documentation

osl::search::CountRecorder::CountRecorder ( )

以下を定義すると詰将棋に入った時の局面を別ファイルに保存する

Definition at line 28 of file searchRecorder.cc.

osl::search::CountRecorder::~CountRecorder ( )
virtual

Definition at line 33 of file searchRecorder.cc.

Member Function Documentation

void osl::search::CountRecorder::addCheckmateCount ( int  count = 1)
inline

Definition at line 52 of file searchRecorder.h.

References checkmate_count, count, and SCOPED_LOCK.

void osl::search::CountRecorder::addNodeCount ( int  count = 1)
inline

探索の途中終了で使えるように必ず数える

Definition at line 40 of file searchRecorder.h.

References count, node_count, and SCOPED_LOCK.

void osl::search::CountRecorder::addQuiescenceCount ( int  count = 1)
inline

Definition at line 46 of file searchRecorder.h.

References count, quiescence_count, and SCOPED_LOCK.

size_t osl::search::CountRecorder::allNodeCount ( ) const
inline
void osl::search::CountRecorder::backFromCheckmateSearch ( ) const
inline

Definition at line 134 of file searchRecorder.h.

size_t osl::search::CountRecorder::checkmateCount ( ) const
inline

Definition at line 78 of file searchRecorder.h.

References checkmate_count, and SCOPED_LOCK.

Referenced by checkmateRatio().

double osl::search::CountRecorder::checkmateRatio ( ) const
inline

Definition at line 97 of file searchRecorder.h.

References checkmateCount(), search(), and searchNodeCount().

void osl::search::CountRecorder::finishSearch ( Move  best,
double  seconds_consumed,
bool  verbose 
) const
virtual

これは遅くても気にしない

Reimplemented in osl::search::SearchRecorder.

Definition at line 52 of file searchRecorder.cc.

Referenced by osl::search::SearchRecorder::finishSearch().

void osl::search::CountRecorder::gotoCheckmateSearch ( const state::SimpleState ,
int   
) const
inline

詰将棋無限ループ発見用

Definition at line 133 of file searchRecorder.h.

void osl::search::CountRecorder::newCategory ( const char *  ,
int   
) const
inline

Definition at line 130 of file searchRecorder.h.

size_t osl::search::CountRecorder::nodeCount ( ) const
inline

Definition at line 66 of file searchRecorder.h.

References node_count, and SCOPED_LOCK.

size_t osl::search::CountRecorder::quiescenceCount ( ) const
inline

Definition at line 72 of file searchRecorder.h.

References quiescence_count, and SCOPED_LOCK.

void osl::search::CountRecorder::recordInvalidMoveInTable ( const state::SimpleState ,
const MoveLogProb ,
int  limit 
) const

Definition at line 38 of file searchRecorder.cc.

References osl::MoveLogProb::logProb(), and osl::MoveLogProb::move().

void osl::search::CountRecorder::recordTopLevelHighFail ( const MoveLogProb ,
int   
) const
inline

Definition at line 114 of file searchRecorder.h.

void osl::search::CountRecorder::recordTopLevelLowFail ( const MoveLogProb ,
int   
) const
inline

主に数の記録用

Definition at line 113 of file searchRecorder.h.

void osl::search::CountRecorder::recordValue ( const MoveLogProb ,
int  ,
bool  ,
int   
) const
inline

tryMove とセットで呼ぶ

Definition at line 109 of file searchRecorder.h.

Referenced by osl::search::SearchRecorder::recordValue().

void osl::search::CountRecorder::reportCount ( std::ostream &  os,
double  seconds 
) const

Definition at line 68 of file searchRecorder.cc.

void osl::search::CountRecorder::reportCount ( std::ostream &  os) const

Definition at line 60 of file searchRecorder.cc.

void osl::search::CountRecorder::resetNodeCount ( )

Definition at line 46 of file searchRecorder.cc.

void osl::search::CountRecorder::retryMove ( const MoveLogProb ,
int  ,
int  ,
int   
) const
inline

recordValue とセットで呼ぶ

Definition at line 106 of file searchRecorder.h.

size_t osl::search::CountRecorder::searchNodeCount ( ) const
inline

Definition at line 84 of file searchRecorder.h.

References node_count, quiescence_count, and SCOPED_LOCK.

Referenced by checkmateRatio().

void osl::search::CountRecorder::setCheckmateCount ( int  count)
inline

Definition at line 58 of file searchRecorder.h.

References checkmate_count, count, and SCOPED_LOCK.

void osl::search::CountRecorder::startSearch ( int  ) const
inline

Definition at line 123 of file searchRecorder.h.

Referenced by osl::search::SearchRecorder::startSearch().

void osl::search::CountRecorder::tableHitLowerBound ( Player  ,
int  ,
int  ,
int   
) const
inline

Definition at line 116 of file searchRecorder.h.

void osl::search::CountRecorder::tableHitUpperBound ( Player  ,
int  ,
int  ,
int   
) const
inline

Definition at line 117 of file searchRecorder.h.

void osl::search::CountRecorder::tableStoreLowerBound ( Player  ,
const MoveLogProb ,
int  ,
int   
) const
inline

Definition at line 119 of file searchRecorder.h.

void osl::search::CountRecorder::tableStoreUpperBound ( Player  ,
const MoveLogProb ,
int  ,
int   
) const
inline

Definition at line 120 of file searchRecorder.h.

void osl::search::CountRecorder::tryMove ( const MoveLogProb ,
int  ,
int   
) const
inline

recordValue とセットで呼ぶ

Definition at line 104 of file searchRecorder.h.

Member Data Documentation

size_t osl::search::CountRecorder::checkmate_count
private
size_t osl::search::CountRecorder::node_count
private

Definition at line 29 of file searchRecorder.h.

Referenced by addNodeCount(), allNodeCount(), nodeCount(), and searchNodeCount().

size_t osl::search::CountRecorder::quiescence_count
private

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