クラス osl::brinkmate::Searcher

brinkmate searcher with iterative deepening [詳細]

#include <searcher.h>

osl::brinkmate::Searcherのコラボレーション図

Collaboration graph
[凡例]

すべてのメンバ一覧

Public メソッド

 Searcher (Player attack, size_t capacity, int verbose)
 ~Searcher ()
const Move search (HashEffectState &, int max_depth)
 iterative deepening, widening
BrinkmateResult search (HashEffectState &, int depth, int tnode, int cnode, int dcm, int rnode)
BrinkmateResult attack ()
BrinkmateResult defense ()
void setStopFlag (volatile int *flag)
int depthLeft () const
bool provedByRecord (const BrinkmateRecord &) const
bool disprovedByRecord (const BrinkmateRecord &) const
void showBestMoves () const
void showTree (const HashKey &, int depth=1) const
int getCount () const

Static Public メソッド

static bool threatmateCandidate (const BrinkmateState &, Move)
static bool threatmateCandidate (const BrinkmateState &, Move, Position centered_king)

Private メソッド

bool attack (BrinkmateRecord *, Move)
bool defense (BrinkmateRecord *, Move)
void setUpAttack (BrinkmateRecord *record)
void setUpDefense (BrinkmateRecord *record)

Private 変数

BrinkmateTable table
BrinkmateState state
BrinkmateState::checkmate_t checkmator
Configuration root_conf
ThreatmatePool pool
search::BigramKillerMove killer_moves
volatile int * stop_flag
int count
int max_depth
int verbose


説明

brinkmate searcher with iterative deepening

searcher.h20 行で定義されています。


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

Searcher::Searcher ( Player  attack,
size_t  capacity,
int  verbose 
)

searcher.cc22 行で定義されています。

参照先 checkmator, osl::brinkmate::BrinkmateState::init(), と state.

Searcher::~Searcher (  ) 

searcher.cc32 行で定義されています。


関数

const osl::Move Searcher::search ( HashEffectState &  state,
int  max_depth 
)

iterative deepening, widening

戻り値:
move to brinkmate if exists, Move::INVALID() otherwise.

searcher.cc37 行で定義されています。

参照先 osl::brinkmate::BrinkmateRecord::best_move, count, osl::Move::INVALID(), osl::brinkmate::isAttackSuccess(), max_depth, max_threshold, showBestMoves(), table, osl::brinkmate::UNKNOWN, と verbose.

osl::brinkmate::BrinkmateResult Searcher::search ( HashEffectState &  state,
int  depth,
int  tnode,
int  cnode,
int  dcm,
int  rnode 
)

osl::brinkmate::BrinkmateResult Searcher::attack (  ) 

osl::brinkmate::BrinkmateResult Searcher::defense (  ) 

void osl::brinkmate::Searcher::setStopFlag ( volatile int *  flag  )  [inline]

searcher.h48 行で定義されています。

参照先 stop_flag.

int osl::brinkmate::Searcher::depthLeft (  )  const [inline]

bool Searcher::provedByRecord ( const BrinkmateRecord record  )  const

bool Searcher::disprovedByRecord ( const BrinkmateRecord record  )  const

void Searcher::showBestMoves (  )  const

void Searcher::showTree ( const HashKey &  key,
int  depth = 1 
) const

int osl::brinkmate::Searcher::getCount (  )  const [inline]

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

参照先 count.

static bool osl::brinkmate::Searcher::threatmateCandidate ( const BrinkmateState ,
Move   
) [static]

参照元 setUpAttack().

bool Searcher::threatmateCandidate ( const BrinkmateState state,
Move  move,
Position  centered_king 
) [static]

bool Searcher::attack ( BrinkmateRecord record,
Move  todo 
) [private]

bool Searcher::defense ( BrinkmateRecord record,
Move  todo 
) [private]

void Searcher::setUpAttack ( BrinkmateRecord record  )  [private]

void Searcher::setUpDefense ( BrinkmateRecord record  )  [private]


変数

searcher.h22 行で定義されています。

参照元 attack(), defense(), search(), showBestMoves(), と showTree().

searcher.h23 行で定義されています。

参照元 attack(), defense(), depthLeft(), Searcher(), setUpAttack(), setUpDefense(), と showBestMoves().

searcher.h24 行で定義されています。

参照元 Searcher().

searcher.h26 行で定義されています。

参照元 setUpAttack().

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

参照元 attack(), defense(), と search().

volatile int* osl::brinkmate::Searcher::stop_flag [private]

searcher.h28 行で定義されています。

参照元 attack(), と setStopFlag().

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

参照元 attack(), defense(), getCount(), と search().

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

参照元 search(), showBestMoves(), と showTree().

searcher.h31 行で定義されています。

参照元 attack(), defense(), と search().


このクラスの説明は次のファイルから生成されました:

Thu Oct 8 05:01:15 2009に生成されました。  doxygen 1.5.6