MtdfPlayer と AlphaBetaPlayer の共通部分 More...
#include <searchPlayer.h>
Classes | |
struct | Config |
Public Member Functions | |
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 (double new_value) |
void | setNextIterationCoefficient (double new_value) |
double | nextIterationCoefficient () const |
void | enableSavePV (bool enable=true) |
void | enableMultiPV (int width) |
void | addMonitor (const boost::shared_ptr< search::SearchMonitor > &) |
void | resetRecorder (search::CountRecorder *new_recorder) |
所有権移転 More... | |
void | pushMove (Move m) |
void | popMove () |
void | swapTable (SearchPlayer &other) |
other の局面表と取り替える More... | |
const search::SimpleHashTable * | table () const |
const search::CountRecorder & | recorder () const |
bool | stopSearchNow () |
探索をとめる More... | |
bool | canStopSearch () |
const MoveWithComment | selectBestMove (const GameState &, int limit, int elapsed, int byoyomi) |
searchWithSecondsForThisMove を呼び出す More... | |
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 |
template<class Searcher > | |
osl::game_playing::ComputerPlayer * | cloneIt (const Searcher ©) const |
template<class Searcher > | |
int | pawnValue () |
template<class Searcher > | |
int | pawnValueOfTurn (Player turn) |
template<class Searcher > | |
const osl::search::MoveWithComment | search (const GameState &state, const search::TimeAssigned &msec) |
![]() | |
ComputerPlayer () | |
virtual | ~ComputerPlayer () |
virtual ComputerPlayer * | clone () const =0 |
new したものを返す More... | |
virtual bool | isReasonableMove (const GameState &, Move move, int pawn_sacrifice) |
virtual void | setInitialState (const NumEffectState &) |
virtual void | allowSpeculativeSearch (bool value) |
相手時間の探索を許可する (GameManager が操作) More... | |
virtual void | setRootIgnoreMoves (const container::MoveVector *rim, bool prediction) |
![]() | |
virtual | ~ComputerPlayerSelectBestMoveInTime () |
Static Public Member Functions | |
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 Member Functions | |
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 Member Functions | |
template<class Searcher > | |
static int | pawnValue () |
template<class Searcher > | |
static int | pawnValueOfTurn (Player turn) |
Protected Attributes | |
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 |
探索に入る前に止める More... | |
const MoveVector * | root_ignore_moves |
bool | prediction_for_speculative_search |
boost::scoped_ptr< PVHistory > | pv_history |
int | almost_resign_count |
![]() | |
bool | speculative_search_allowed |
MtdfPlayer と AlphaBetaPlayer の共通部分
Definition at line 36 of file searchPlayer.h.
osl::game_playing::SearchPlayer::SearchPlayer | ( | ) |
Definition at line 49 of file searchPlayer.cc.
osl::game_playing::SearchPlayer::SearchPlayer | ( | const SearchPlayer & | copy) |
Definition at line 59 of file searchPlayer.cc.
osl::game_playing::SearchPlayer::~SearchPlayer | ( | ) |
Definition at line 71 of file searchPlayer.cc.
void osl::game_playing::SearchPlayer::addMonitor | ( | const boost::shared_ptr< search::SearchMonitor > & | m) |
Definition at line 233 of file searchPlayer.cc.
|
protected |
Definition at line 110 of file searchPlayer.cc.
References osl::search::SearchTimer::adjustMemoryUseLimit(), osl::search::TimeAssigned::max, osl::eval::min(), and osl::search::TimeAssigned::standard.
|
static |
Definition at line 328 of file searchPlayer.cc.
References osl::eval::max(), and osl::eval::min().
const osl::search::TimeAssigned osl::game_playing::SearchPlayer::assignTime | ( | const GameState & | state, |
int | limit, | ||
int | elapsed, | ||
int | byoyomi | ||
) | const |
Definition at line 320 of file searchPlayer.cc.
bool osl::game_playing::SearchPlayer::canStopSearch | ( | ) |
Definition at line 82 of file searchPlayer.cc.
osl::game_playing::ComputerPlayer* osl::game_playing::SearchPlayer::cloneIt | ( | const Searcher & | copy) | const |
Definition at line 40 of file searchPlayer.tcc.
|
protected |
|
inline |
Definition at line 95 of file searchPlayer.h.
References config, osl::game_playing::SearchPlayer::Config::multi_pv_width, and width.
|
inline |
Definition at line 94 of file searchPlayer.h.
References config, and osl::game_playing::SearchPlayer::Config::save_pv.
|
inline |
Definition at line 147 of file searchPlayer.h.
References config.
|
protected |
Definition at line 146 of file searchPlayer.tcc.
|
inline |
Definition at line 90 of file searchPlayer.h.
References config, and osl::game_playing::SearchPlayer::Config::next_iteration_coefficient.
Referenced by osl::game_playing::SpeculativeAllMoves::SearchAllMoves::setUp().
int osl::game_playing::SearchPlayer::pawnValue | ( | ) |
Definition at line 47 of file searchPlayer.tcc.
References osl::BLACK, osl::newPtypeO(), and osl::PAWN.
|
staticprotected |
int osl::game_playing::SearchPlayer::pawnValueOfTurn | ( | Player | turn) |
Definition at line 54 of file searchPlayer.tcc.
References osl::eval::delta().
|
staticprotected |
|
virtual |
Implements osl::game_playing::ComputerPlayer.
Definition at line 247 of file searchPlayer.cc.
|
virtual |
Implements osl::game_playing::ComputerPlayer.
Definition at line 240 of file searchPlayer.cc.
|
inline |
Definition at line 110 of file searchPlayer.h.
References recorder_ptr.
void osl::game_playing::SearchPlayer::resetRecorder | ( | search::CountRecorder * | new_recorder) |
所有権移転
Definition at line 104 of file searchPlayer.cc.
void osl::game_playing::SearchPlayer::saveSearchResult | ( | const GameState & | state, |
const MoveWithComment & | best_move | ||
) |
Definition at line 359 of file searchPlayer.cc.
References osl::game_playing::GameState::moveHistory(), and osl::container::MoveStack::size().
const osl::search::MoveWithComment osl::game_playing::SearchPlayer::search | ( | const GameState & | state, |
const search::TimeAssigned & | msec | ||
) |
Definition at line 61 of file searchPlayer.tcc.
References osl::Move::isNormal(), osl::eval::min(), osl::game_playing::GameState::moveHistory(), osl::playerToMul(), osl::search::TimeAssigned::standard, and osl::game_playing::GameState::state().
|
protected |
|
pure virtual |
|
static |
Definition at line 263 of file searchPlayer.cc.
References osl::BLACK, osl::eval::max(), osl::eval::min(), osl::game_playing::GameState::moveHistory(), moves, osl::search::TimeControl::secondsForThisMove(), osl::container::MoveStack::size(), osl::game_playing::GameState::state(), and osl::WHITE.
int osl::game_playing::SearchPlayer::secondsForThisMove | ( | const GameState & | state, |
int | limit, | ||
int | elapsed, | ||
int | byoyomi | ||
) | const |
Definition at line 255 of file searchPlayer.cc.
|
virtual |
searchWithSecondsForThisMove を呼び出す
Implements osl::game_playing::ComputerPlayer.
Definition at line 341 of file searchPlayer.cc.
Referenced by main().
|
virtual |
Implements osl::game_playing::ComputerPlayerSelectBestMoveInTime.
Definition at line 348 of file searchPlayer.cc.
References osl::Move::DeclareWin(), osl::search::TimeAssigned::max, osl::search::TimeAssigned::standard, and osl::game_playing::GameState::state().
void osl::game_playing::SearchPlayer::setDepthLimit | ( | int | limit, |
int | initial_limit, | ||
int | deepening_step | ||
) |
Definition at line 188 of file searchPlayer.cc.
|
inline |
Definition at line 88 of file searchPlayer.h.
References config, and osl::game_playing::SearchPlayer::Config::draw_coef.
void osl::game_playing::SearchPlayer::setNextIterationCoefficient | ( | double | new_value) |
Definition at line 225 of file searchPlayer.cc.
Referenced by search().
void osl::game_playing::SearchPlayer::setNodeCountHardLimit | ( | size_t | node_limit) |
Definition at line 202 of file searchPlayer.cc.
void osl::game_playing::SearchPlayer::setNodeLimit | ( | size_t | node_limit) |
Definition at line 196 of file searchPlayer.cc.
|
inline |
Definition at line 141 of file searchPlayer.h.
References prediction_for_speculative_search, and root_ignore_moves.
void osl::game_playing::SearchPlayer::setTableLimit | ( | size_t | size, |
int | record_limit | ||
) |
Definition at line 208 of file searchPlayer.cc.
void osl::game_playing::SearchPlayer::setTimeAssign | ( | const search::TimeAssigned & | new_assign) |
Definition at line 365 of file searchPlayer.cc.
|
protected |
Definition at line 121 of file searchPlayer.cc.
References osl::game_playing::HistoryToTable::adjustTable(), osl::BLACK, osl::game_playing::GameState::counter(), osl::ctime_r(), osl::OslConfig::evalRandom(), osl::game_playing::GameState::moveHistory(), osl::game_playing::HistoryToTable::setPV(), osl::game_playing::GameState::state(), osl::WHITE, and osl::search::FixedEval::winByLoop().
void osl::game_playing::SearchPlayer::setVerbose | ( | int | verbose = 1 ) |
Definition at line 217 of file searchPlayer.cc.
Referenced by search().
const osl::MilliSeconds osl::game_playing::SearchPlayer::startTime | ( | ) | const |
Definition at line 373 of file searchPlayer.cc.
|
virtual |
探索をとめる
Reimplemented from osl::game_playing::ComputerPlayer.
Definition at line 88 of file searchPlayer.cc.
References osl::ctime_r().
void osl::game_playing::SearchPlayer::swapTable | ( | SearchPlayer & | other) |
other の局面表と取り替える
Definition at line 76 of file searchPlayer.cc.
References table_ptr.
Referenced by osl::game_playing::SpeculativeAllMoves::waitResult().
|
inline |
|
protected |
Definition at line 77 of file searchPlayer.h.
|
protected |
Definition at line 68 of file searchPlayer.h.
|
protected |
Definition at line 66 of file searchPlayer.h.
Referenced by enableMultiPV(), enableSavePV(), getConfig(), nextIterationCoefficient(), and setDrawCoef().
|
protected |
探索に入る前に止める
Definition at line 73 of file searchPlayer.h.
|
protected |
Definition at line 75 of file searchPlayer.h.
Referenced by setRootIgnoreMoves().
|
protected |
Definition at line 76 of file searchPlayer.h.
|
protected |
Definition at line 69 of file searchPlayer.h.
Referenced by recorder().
|
protected |
Definition at line 74 of file searchPlayer.h.
Referenced by setRootIgnoreMoves().
|
protected |
Definition at line 71 of file searchPlayer.h.
|
protected |
Definition at line 70 of file searchPlayer.h.
|
protected |
Definition at line 67 of file searchPlayer.h.
Referenced by swapTable(), and table().