クラス osl::game_playing::SearchPlayer

MtdfPlayer と AlphaBetaPlayer の共通部分. [詳細]

#include <searchPlayer.h>

osl::game_playing::SearchPlayerに対する継承グラフ
Inheritance graph
[凡例]
osl::game_playing::SearchPlayerのコラボレーション図
Collaboration graph
[凡例]

すべてのメンバ一覧

構成

struct  Config

Public メソッド

 SearchPlayer ()
 SearchPlayer (const SearchPlayer &)
 ~SearchPlayer ()
void setDepthLimit (int limit, int initial_limit, int deepening_step)
void setNodeLimit (size_t node_limit)
void setNodeCountHardLimit (size_t node_limit)
void setTableLimit (size_t size, int record_limit)
void setVerbose (int verbose=1)
void setDrawCoef (int new_value)
void setNextIterationCoefficient (double new_value)
void enableSavePV (bool enable=true)
void enableMultiPV (int width)
void addMonitor (const boost::shared_ptr< search::SearchMonitor > &)
void resetRecorder (search::CountRecorder *new_recorder)
 所有権移転
void pushMove (Move m)
void popMove ()
void swapTable (SearchPlayer &other)
 other の局面表と取り替える
const search::SimpleHashTable * table () const
const search::CountRecorder & recorder () const
bool stopSearchNow ()
 探索をとめる
bool canStopSearch ()
const MoveWithComment selectBestMove (const GameState &, int, int, int)
 searchWithSecondsForThisMove を呼び出す
const MoveWithComment selectBestMoveInTime (const GameState &, const search::TimeAssigned &)
const search::TimeAssigned assignTime (const GameState &state, int limit, int elapsed, int byoyomi) const
void saveSearchResult (const GameState &, const MoveWithComment &)
virtual const MoveWithComment searchWithSecondsForThisMove (const GameState &, const search::TimeAssigned &)=0
void setRootIgnoreMoves (const MoveVector *rim, bool prediction)
const Config & getConfig () const
int secondsForThisMove (const GameState &state, int limit, int elapsed, int byoyomi) const
void setTimeAssign (const search::TimeAssigned &new_assign)
const MilliSeconds startTime () const

Static Public メソッド

static const search::TimeAssigned assignTime (const GameState &state, int limit, int elapsed, int byoyomi, int verbose)
static int secondsForThisMove (const GameState &state, int limit, int elapsed, int byoyomi, int verboseness)

Protected メソッド

template<class Searcher >
ComputerPlayer * cloneIt (const Searcher &) const
const MilliSeconds::Interval setUpTable (const GameState &, int pawn_value)
template<class Searcher >
const MoveWithComment search (const GameState &, const search::TimeAssigned &)
template<class Searcher >
bool isReasonableMoveBySearch (Searcher &, Move move, int pawn_sacrifice)
const search::TimeAssigned adjust (const search::TimeAssigned &org, const MilliSeconds::Interval &elapsed)

Static Protected メソッド

template<class Searcher >
static int pawnValue ()
template<class Searcher >
static int pawnValueOfTurn (Player turn)

Protected 変数

Config config
boost::shared_ptr
< search::SimpleHashTable > 
table_ptr
boost::shared_ptr
< checkmate::DualDfpn > 
checkmate_ptr
boost::scoped_ptr
< search::CountRecorder > 
recorder_ptr
volatile bool searching
boost::scoped_ptr
< search::SearchTimer > 
searcher
volatile bool plan_stop
 探索に入る前に止める
const MoveVector * root_ignore_moves
bool prediction_for_speculative_search
boost::scoped_ptr< PVHistory > pv_history

説明

MtdfPlayer と AlphaBetaPlayer の共通部分.

searchPlayer.h の 36 行で定義されています。


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

osl::game_playing::SearchPlayer::SearchPlayer (  ) 

searchPlayer.cc の 49 行で定義されています。

osl::game_playing::SearchPlayer::SearchPlayer ( const SearchPlayer &  copy  ) 

searchPlayer.cc の 59 行で定義されています。

osl::game_playing::SearchPlayer::~SearchPlayer (  ) 

searchPlayer.cc の 70 行で定義されています。


関数

void osl::game_playing::SearchPlayer::addMonitor ( const boost::shared_ptr< search::SearchMonitor > &  m  ) 

searchPlayer.cc の 232 行で定義されています。

参照先 config, と osl::game_playing::SearchPlayer::Config::monitors.

const osl::search::TimeAssigned osl::game_playing::SearchPlayer::adjust ( const search::TimeAssigned &  org,
const MilliSeconds::Interval &  elapsed 
) [protected]
const osl::search::TimeAssigned osl::game_playing::SearchPlayer::assignTime ( const GameState &  state,
int  limit,
int  elapsed,
int  byoyomi 
) const

searchPlayer.cc の 316 行で定義されています。

参照先 assignTime(), と table_ptr.

const osl::search::TimeAssigned osl::game_playing::SearchPlayer::assignTime ( const GameState &  state,
int  limit,
int  elapsed,
int  byoyomi,
int  verbose 
) [static]

searchPlayer.cc の 324 行で定義されています。

参照先 osl::eval::max(), osl::eval::min(), と secondsForThisMove().

参照元 assignTime(), と selectBestMove().

bool osl::game_playing::SearchPlayer::canStopSearch (  ) 

searchPlayer.cc の 81 行で定義されています。

参照先 searching.

template<class Searcher >
osl::game_playing::ComputerPlayer * osl::game_playing::SearchPlayer::cloneIt ( const Searcher &  copy  )  const [inline, protected]
void osl::game_playing::SearchPlayer::enableMultiPV ( int  width  )  [inline]

searchPlayer.h の 90 行で定義されています。

参照先 config, と osl::game_playing::SearchPlayer::Config::multi_pv_width.

void osl::game_playing::SearchPlayer::enableSavePV ( bool  enable = true  )  [inline]

searchPlayer.h の 89 行で定義されています。

参照先 config, と osl::game_playing::SearchPlayer::Config::save_pv.

const Config& osl::game_playing::SearchPlayer::getConfig (  )  const [inline]

searchPlayer.h の 141 行で定義されています。

参照先 config.

template<class Searcher >
bool osl::game_playing::SearchPlayer::isReasonableMoveBySearch ( Searcher &  searcher,
Move  move,
int  pawn_sacrifice 
) [inline, protected]
template<class Searcher >
int osl::game_playing::SearchPlayer::pawnValue (  )  [inline, static, protected]

searchPlayer.tcc の 47 行で定義されています。

参照先 osl::BLACK, osl::newPtypeO(), と osl::PAWN.

template<class Searcher >
int osl::game_playing::SearchPlayer::pawnValueOfTurn ( Player  turn  )  [inline, static, protected]

searchPlayer.tcc の 54 行で定義されています。

参照先 osl::eval::delta().

void osl::game_playing::SearchPlayer::popMove (  )  [virtual]
void osl::game_playing::SearchPlayer::pushMove ( Move  m  )  [virtual]
const search::CountRecorder& osl::game_playing::SearchPlayer::recorder (  )  const [inline]

searchPlayer.h の 105 行で定義されています。

参照先 recorder_ptr.

void osl::game_playing::SearchPlayer::resetRecorder ( search::CountRecorder *  new_recorder  ) 

所有権移転

searchPlayer.cc の 103 行で定義されています。

参照先 recorder_ptr.

void osl::game_playing::SearchPlayer::saveSearchResult ( const GameState &  state,
const MoveWithComment &  best_move 
)
template<class Searcher >
const osl::search::MoveWithComment osl::game_playing::SearchPlayer::search ( const GameState &  state,
const search::TimeAssigned &  msec 
) [inline, protected]
virtual const MoveWithComment osl::game_playing::SearchPlayer::searchWithSecondsForThisMove ( const GameState &  ,
const search::TimeAssigned &   
) [pure virtual]
int osl::game_playing::SearchPlayer::secondsForThisMove ( const GameState &  state,
int  limit,
int  elapsed,
int  byoyomi 
) const

searchPlayer.cc の 254 行で定義されています。

参照先 secondsForThisMove(), と table_ptr.

int osl::game_playing::SearchPlayer::secondsForThisMove ( const GameState &  state,
int  limit,
int  elapsed,
int  byoyomi,
int  verboseness 
) [static]
const osl::search::MoveWithComment osl::game_playing::SearchPlayer::selectBestMove ( const GameState &  state,
int  limit,
int  elapsed,
int  byoyomi 
) [virtual]

searchWithSecondsForThisMove を呼び出す

osl::game_playing::ComputerPlayerを実装しています。

searchPlayer.cc の 337 行で定義されています。

参照先 assignTime(), と selectBestMoveInTime().

const osl::search::MoveWithComment osl::game_playing::SearchPlayer::selectBestMoveInTime ( const GameState &  state,
const search::TimeAssigned &  msec 
) [virtual]
void osl::game_playing::SearchPlayer::setDepthLimit ( int  limit,
int  initial_limit,
int  deepening_step 
)
void osl::game_playing::SearchPlayer::setDrawCoef ( int  new_value  )  [inline]

searchPlayer.h の 87 行で定義されています。

参照先 config, と osl::game_playing::SearchPlayer::Config::draw_coef.

void osl::game_playing::SearchPlayer::setNextIterationCoefficient ( double  new_value  ) 
void osl::game_playing::SearchPlayer::setNodeCountHardLimit ( size_t  node_limit  ) 

searchPlayer.cc の 201 行で定義されています。

参照先 config, と osl::game_playing::SearchPlayer::Config::node_count_hard_limit.

void osl::game_playing::SearchPlayer::setNodeLimit ( size_t  node_limit  ) 

searchPlayer.cc の 195 行で定義されています。

参照先 config, と osl::game_playing::SearchPlayer::Config::node_limit.

参照元 search().

void osl::game_playing::SearchPlayer::setRootIgnoreMoves ( const MoveVector *  rim,
bool  prediction 
) [inline]

searchPlayer.h の 135 行で定義されています。

参照先 prediction_for_speculative_search, と root_ignore_moves.

void osl::game_playing::SearchPlayer::setTableLimit ( size_t  size,
int  record_limit 
)
void osl::game_playing::SearchPlayer::setTimeAssign ( const search::TimeAssigned &  new_assign  ) 

searchPlayer.cc の 361 行で定義されています。

参照先 searcher.

const osl::MilliSeconds::Interval osl::game_playing::SearchPlayer::setUpTable ( const GameState &  gs,
int  pawn_value 
) [protected]
void osl::game_playing::SearchPlayer::setVerbose ( int  verbose = 1  ) 

searchPlayer.cc の 216 行で定義されています。

参照先 config, table_ptr, と osl::game_playing::SearchPlayer::Config::verbose.

参照元 search().

const osl::MilliSeconds osl::game_playing::SearchPlayer::startTime (  )  const

searchPlayer.cc の 369 行で定義されています。

参照先 searcher.

bool osl::game_playing::SearchPlayer::stopSearchNow (  )  [virtual]

探索をとめる

osl::game_playing::ComputerPlayerを再定義しています。

searchPlayer.cc の 87 行で定義されています。

参照先 osl::ctime_r(), plan_stop, searcher, と searching.

void osl::game_playing::SearchPlayer::swapTable ( SearchPlayer &  other  ) 

other の局面表と取り替える

searchPlayer.cc の 75 行で定義されています。

参照先 table_ptr.

参照元 osl::game_playing::SpeculativeAllMoves::waitResult().

const search::SimpleHashTable* osl::game_playing::SearchPlayer::table (  )  const [inline]

searchPlayer.h の 104 行で定義されています。

参照先 table_ptr.

参照元 search().


変数

volatile bool osl::game_playing::SearchPlayer::plan_stop [protected]

探索に入る前に止める

searchPlayer.h の 73 行で定義されています。

参照元 search(), と stopSearchNow().

searchPlayer.h の 75 行で定義されています。

参照元 search(), と setRootIgnoreMoves().

searchPlayer.h の 76 行で定義されています。

参照元 saveSearchResult(), と setUpTable().

searchPlayer.h の 74 行で定義されています。

参照元 search(), と setRootIgnoreMoves().

volatile bool osl::game_playing::SearchPlayer::searching [protected]

searchPlayer.h の 70 行で定義されています。

参照元 canStopSearch(), search(), と stopSearchNow().


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