クラス 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::SimpleHashTabletable () const
const search::CountRecorderrecorder () 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 ConfiggetConfig () 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 >
ComputerPlayercloneIt (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< PVHistorypv_history

説明

MtdfPlayer と AlphaBetaPlayer の共通部分.

searchPlayer.h36 行で定義されています。


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

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

searchPlayer.cc49 行で定義されています。

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

searchPlayer.cc59 行で定義されています。

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

searchPlayer.cc70 行で定義されています。


関数

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

searchPlayer.cc232 行で定義されています。

参照先 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.cc316 行で定義されています。

参照先 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.cc324 行で定義されています。

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

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

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

searchPlayer.cc81 行で定義されています。

参照先 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.h90 行で定義されています。

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

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

searchPlayer.h89 行で定義されています。

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

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

searchPlayer.h141 行で定義されています。

参照先 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.tcc47 行で定義されています。

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

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

searchPlayer.tcc54 行で定義されています。

参照先 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.h105 行で定義されています。

参照先 recorder_ptr.

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

所有権移転

searchPlayer.cc103 行で定義されています。

参照先 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.cc254 行で定義されています。

参照先 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.cc337 行で定義されています。

参照先 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.h87 行で定義されています。

参照先 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.cc201 行で定義されています。

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

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

searchPlayer.cc195 行で定義されています。

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

参照元 search().

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

searchPlayer.h135 行で定義されています。

参照先 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.cc361 行で定義されています。

参照先 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.cc216 行で定義されています。

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

参照元 search().

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

searchPlayer.cc369 行で定義されています。

参照先 searcher.

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

探索をとめる

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

searchPlayer.cc87 行で定義されています。

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

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

other の局面表と取り替える

searchPlayer.cc75 行で定義されています。

参照先 table_ptr.

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

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

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

参照先 table_ptr.

参照元 search().


変数

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

探索に入る前に止める

searchPlayer.h73 行で定義されています。

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

searchPlayer.h75 行で定義されています。

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

searchPlayer.h76 行で定義されています。

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

searchPlayer.h74 行で定義されています。

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

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

searchPlayer.h70 行で定義されています。

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


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