クラス osl::search::CountRecorder

recorder of MTDF/AlphaBeta [詳細]

#include <searchRecorder.h>

osl::search::CountRecorderに対する継承グラフ
Inheritance graph
[凡例]

すべてのメンバ一覧

Public メソッド

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

Private 変数

size_t node_count
size_t quiescence_count
size_t checkmate_count

説明

recorder of MTDF/AlphaBeta

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

searchRecorder.h27 行で定義されています。


コンストラクタとデストラクタ

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

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

searchRecorder.cc28 行で定義されています。

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

searchRecorder.cc33 行で定義されています。


関数

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

searchRecorder.h52 行で定義されています。

参照先 checkmate_count, と SCOPED_LOCK.

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

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

searchRecorder.h40 行で定義されています。

参照先 node_count, と SCOPED_LOCK.

参照元 osl::search::AlphaBeta2Tree< EvalT >::alphaBetaSearch(), と osl::search::AlphaBeta3::search().

void osl::search::CountRecorder::addQuiescenceCount ( int  count = 1  )  [inline]
size_t osl::search::CountRecorder::allNodeCount (  )  const [inline]
void osl::search::CountRecorder::backFromCheckmateSearch (  )  const [inline]
size_t osl::search::CountRecorder::checkmateCount (  )  const [inline]

searchRecorder.h78 行で定義されています。

参照先 checkmate_count, と SCOPED_LOCK.

参照元 reportCount().

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

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

osl::search::SearchRecorderで再定義されています。

searchRecorder.cc52 行で定義されています。

参照先 reportCount().

参照元 osl::search::AlphaBeta3::computeBestMoveIteratively(), と osl::search::AlphaBeta2< EvalT >::computeBestMoveIteratively().

void osl::search::CountRecorder::gotoCheckmateSearch ( const state::SimpleState ,
int   
) const [inline]
void osl::search::CountRecorder::newCategory ( const char *  ,
int   
) const [inline]

osl::search::SearchRecorderで再定義されています。

searchRecorder.h117 行で定義されています。

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

searchRecorder.h66 行で定義されています。

参照先 node_count, と SCOPED_LOCK.

参照元 osl::search::AlphaBeta2< EvalT >::computeBestMoveIteratively(), と reportCount().

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

searchRecorder.h72 行で定義されています。

参照先 quiescence_count, と SCOPED_LOCK.

参照元 reportCount().

void osl::search::CountRecorder::recordInvalidMoveInTable ( const state::SimpleState ,
const MoveLogProb ,
int  limit 
) const
void osl::search::CountRecorder::recordTopLevelHighFail ( const MoveLogProb ,
int   
) const [inline]

osl::search::SearchRecorderで再定義されています。

searchRecorder.h101 行で定義されています。

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

主に数の記録用

osl::search::SearchRecorderで再定義されています。

searchRecorder.h100 行で定義されています。

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

tryMove とセットで呼ぶ

osl::search::SearchRecorderで再定義されています。

searchRecorder.h96 行で定義されています。

参照元 osl::search::AlphaBeta2Tree< EvalT >::searchAllMoves().

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

searchRecorder.cc60 行で定義されています。

参照先 checkmateCount(), nodeCount(), と quiescenceCount().

void osl::search::CountRecorder::reportCount ( std::ostream &  os,
double  seconds 
) const
void osl::search::CountRecorder::resetNodeCount (  ) 
void osl::search::CountRecorder::retryMove ( const MoveLogProb ,
int  ,
int  ,
int   
) const [inline]

recordValue とセットで呼ぶ

osl::search::SearchRecorderで再定義されています。

searchRecorder.h93 行で定義されています。

void osl::search::CountRecorder::setCheckmateCount ( int  count = 1  )  [inline]

searchRecorder.h58 行で定義されています。

参照先 checkmate_count, と SCOPED_LOCK.

参照元 osl::search::AlphaBeta2Tree< EvalT >::updateCheckmateCount().

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

osl::search::SearchRecorderで再定義されています。

searchRecorder.h110 行で定義されています。

参照元 osl::search::AlphaBeta2< EvalT >::computeBestMoveIteratively().

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

osl::search::SearchRecorderで再定義されています。

searchRecorder.h103 行で定義されています。

参照元 osl::search::AlphaBeta2Tree< EvalT >::searchAllMoves().

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

osl::search::SearchRecorderで再定義されています。

searchRecorder.h104 行で定義されています。

参照元 osl::search::AlphaBeta2Tree< EvalT >::searchAllMoves().

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

osl::search::SearchRecorderで再定義されています。

searchRecorder.h106 行で定義されています。

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

osl::search::SearchRecorderで再定義されています。

searchRecorder.h107 行で定義されています。

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

recordValue とセットで呼ぶ

osl::search::SearchRecorderで再定義されています。

searchRecorder.h91 行で定義されています。

参照元 osl::search::AlphaBeta2Tree< EvalT >::searchAllMoves().


変数

searchRecorder.h29 行で定義されています。

参照元 addNodeCount(), allNodeCount(), nodeCount(), と resetNodeCount().

searchRecorder.h30 行で定義されています。

参照元 addQuiescenceCount(), allNodeCount(), quiescenceCount(), と resetNodeCount().


このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義
Sun May 16 09:58:55 2010に生成されました。  doxygen 1.6.3