#include <searchPlayer.h>
Public メソッド | |
SearchPlayer () | |
SearchPlayer (const SearchPlayer &) | |
~SearchPlayer () | |
void | setTotalCheckmateLimit (int limit) |
;õפξ | |
void | setDepthLimit (int limit, int initial_limit, int deepening_step) |
void | setNodeLimit (int node_limit) |
void | setTableLimit (int size, int record_limit) |
void | setVerbose (int verbose=1) |
void | setDrawCoef (int new_value) |
void | setNextIterationCoefficient (double new_value) |
void | enableTableStack (bool enable=true) |
void | resetRecorder (search::SearchRecorder *new_recorder) |
ͭž | |
void | pushMove (Move m) |
void | popMove () |
void | swapTable (SearchPlayer &other) |
other ζɽȼؤ | |
const search::SimpleHashTable * | table () const |
const search::SearchRecorder & | recorder () const |
bool | stopSearchNow () |
bool | canStopSearch () |
const MoveWithComment | selectBestMove (const GameState &, int, int) |
searchWithSecondsForThisMove ƤӽФ | |
virtual const MoveWithComment | searchWithSecondsForThisMove (const GameState &, int)=0 |
void | setRootIgnoreMoves (const MoveVector *rim) |
void | pickUpBestMoves (const GameState &state, MoveVector &) const |
state ͭϤʼĤ | |
const Config & | getConfig () const |
const HistoryTable & | historyTable () const |
void | setStopSchedule (const misc::RealTime &new_timer) |
Static Public メソッド | |
static int | secondsForThisMove (const GameState &state, int total_seconds_left, int byoyomi) |
Protected メソッド | |
template<class Searcher> | |
ComputerPlayer * | cloneIt (const Searcher &) const |
int | setUpTable (const GameState &, int pawn_value) |
template<class Searcher> | |
const MoveWithComment | search (const GameState &, int) |
template<class Searcher> | |
bool | isReasonableMoveBySearch (Searcher &, Move move, int pawn_sacrifice) |
Static Protected メソッド | |
template<class Searcher> | |
static int | pawnValue () |
template<class Searcher> | |
static int | pawnValueOfTurn (Player turn) |
Protected 変数 | |
Config | config |
boost::scoped_ptr < search::SimpleHashTable > | table_ptr |
boost::shared_ptr < CheckmateSearcher > | checkmate_ptr |
boost::scoped_ptr < search::SearchRecorder > | recorder_ptr |
boost::scoped_ptr < search::BigramKillerMove > | bigram_ptr |
boost::scoped_ptr< TableStack > | table_stack_ptr |
boost::scoped_ptr< KeyOfMove > | key_of_move |
AlarmSwitch | stop_flag |
HistoryTable | history_table |
boost::scoped_ptr < search::HasTimer > | searcher |
volatile bool | plan_stop |
õ˻ߤ | |
const MoveVector * | root_ignore_moves |
Private メソッド | |
void | fillMoveComment (MoveWithComment &, const GameState &, const search::SimpleHashTable *, int pawn_value) |
構成 | |
struct | CheckmateSearcher |
struct | Config |
struct | KeyOfMove |
searchPlayer.h の 32 行で定義されています。
osl::game_playing::SearchPlayer::SearchPlayer | ( | ) |
searchPlayer.cc の 50 行で定義されています。
osl::game_playing::SearchPlayer::SearchPlayer | ( | const SearchPlayer & | copy | ) |
osl::game_playing::SearchPlayer::~SearchPlayer | ( | ) |
searchPlayer.cc の 75 行で定義されています。
void osl::game_playing::SearchPlayer::setTotalCheckmateLimit | ( | int | limit | ) |
;õפξ
searchPlayer.cc の 122 行で定義されています。
参照先 config, と osl::game_playing::SearchPlayer::Config::total_checkmate_limit.
参照元 main().
void osl::game_playing::SearchPlayer::setDepthLimit | ( | int | limit, | |
int | initial_limit, | |||
int | deepening_step | |||
) |
void osl::game_playing::SearchPlayer::setNodeLimit | ( | int | node_limit | ) |
searchPlayer.cc の 201 行で定義されています。
参照先 config, と osl::game_playing::SearchPlayer::Config::node_limit.
参照元 main().
void osl::game_playing::SearchPlayer::setTableLimit | ( | int | size, | |
int | record_limit | |||
) |
void osl::game_playing::SearchPlayer::setVerbose | ( | int | verbose = 1 |
) |
searchPlayer.cc の 216 行で定義されています。
参照先 config, table_ptr, と osl::game_playing::SearchPlayer::Config::verbose.
void osl::game_playing::SearchPlayer::setDrawCoef | ( | int | new_value | ) | [inline] |
void osl::game_playing::SearchPlayer::setNextIterationCoefficient | ( | double | new_value | ) |
searchPlayer.cc の 224 行で定義されています。
参照先 config, osl::game_playing::SearchPlayer::Config::next_iteration_coefficient, と searcher.
参照元 search(), と selectBestMove().
void osl::game_playing::SearchPlayer::enableTableStack | ( | bool | enable = true |
) |
void osl::game_playing::SearchPlayer::resetRecorder | ( | search::SearchRecorder * | new_recorder | ) |
void osl::game_playing::SearchPlayer::pushMove | ( | Move | m | ) | [virtual] |
osl::game_playing::ComputerPlayerを実装しています。
searchPlayer.cc の 232 行で定義されています。
参照先 enableTableStack(), key_of_move, table_ptr, と table_stack_ptr.
void osl::game_playing::SearchPlayer::popMove | ( | ) | [virtual] |
void osl::game_playing::SearchPlayer::swapTable | ( | SearchPlayer & | other | ) |
other ζɽȼؤ
searchPlayer.cc の 94 行で定義されています。
参照先 table_ptr.
参照元 osl::game_playing::ThreadForEachMove::waitResult(), と osl::game_playing::SpeculativeAllMoves::waitResult().
const search::SimpleHashTable* osl::game_playing::SearchPlayer::table | ( | ) | const [inline] |
const search::SearchRecorder& osl::game_playing::SearchPlayer::recorder | ( | ) | const [inline] |
bool osl::game_playing::SearchPlayer::stopSearchNow | ( | ) |
bool osl::game_playing::SearchPlayer::canStopSearch | ( | ) |
const osl::game_playing::MoveWithComment osl::game_playing::SearchPlayer::selectBestMove | ( | const GameState & | state, | |
int | total_seconds_left, | |||
int | byoyomi | |||
) | [virtual] |
searchWithSecondsForThisMove ƤӽФ
osl::game_playing::ComputerPlayerを実装しています。
searchPlayer.cc の 301 行で定義されています。
参照先 config, osl::Move::DeclareWin(), osl::game_playing::SearchPlayer::Config::next_iteration_coefficient, searchWithSecondsForThisMove(), secondsForThisMove(), setNextIterationCoefficient(), と osl::game_playing::GameState::state().
osl::game_playing::ComputerPlayer * osl::game_playing::SearchPlayer::cloneIt | ( | const Searcher & | copy | ) | const [inline, protected] |
int osl::game_playing::SearchPlayer::setUpTable | ( | const GameState & | gs, | |
int | pawn_value | |||
) | [protected] |
searchPlayer.cc の 134 行で定義されています。
参照先 osl::game_playing::HistoryToTable::adjustTable(), osl::BLACK, checkmate_ptr, config, osl::game_playing::GameState::counter(), osl::game_playing::SearchPlayer::Config::draw_coef, enableTableStack(), osl::misc::RealTime::getConsumedInDouble(), osl::game_playing::GameState::moveHistory(), osl::game_playing::GameState::state(), table_ptr, osl::game_playing::SearchPlayer::Config::table_record_limit, osl::game_playing::SearchPlayer::Config::table_size, table_stack_ptr, osl::game_playing::SearchPlayer::Config::total_checkmate_limit, osl::game_playing::SearchPlayer::Config::verbose, osl::WHITE, と osl::search::FixedEval::winByLoop().
参照元 osl::game_playing::ProgressMtdfPlayer::isReasonableMove(), osl::game_playing::PlainMtdfPlayer::isReasonableMove(), osl::game_playing::AlphaBeta2Player::isReasonableMove(), osl::game_playing::ProgressMtdfPlayer::searchWithSecondsForThisMove(), osl::game_playing::PlainMtdfPlayer::searchWithSecondsForThisMove(), と osl::game_playing::AlphaBeta2Player::searchWithSecondsForThisMove().
const osl::game_playing::MoveWithComment osl::game_playing::SearchPlayer::search | ( | const GameState & | state, | |
int | seconds_for_this_move | |||
) | [inline, protected] |
searchPlayer.tcc の 78 行で定義されています。
参照先 bigram_ptr, config, osl::game_playing::SearchPlayer::Config::deepening_step, fillMoveComment(), osl::game_playing::GameState::getInitialState(), history, osl::game_playing::SearchPlayer::Config::initial_limit, osl::Move::INVALID(), osl::Move::isNormal(), key_of_move, osl::game_playing::SearchPlayer::Config::limit, osl::eval::min(), osl::game_playing::MoveWithComment::move, osl::game_playing::GameState::moveHistory(), osl::game_playing::SearchPlayer::Config::next_iteration_coefficient, osl::game_playing::SearchPlayer::Config::node_limit, plan_stop, root_ignore_moves, searcher, osl::game_playing::GameState::state(), stop_flag, と table().
int osl::game_playing::SearchPlayer::pawnValue | ( | ) | [inline, static, protected] |
int osl::game_playing::SearchPlayer::pawnValueOfTurn | ( | Player | turn | ) | [inline, static, protected] |
virtual const MoveWithComment osl::game_playing::SearchPlayer::searchWithSecondsForThisMove | ( | const GameState & | , | |
int | ||||
) | [pure virtual] |
void osl::game_playing::SearchPlayer::setRootIgnoreMoves | ( | const MoveVector * | rim | ) | [inline] |
void osl::game_playing::SearchPlayer::pickUpBestMoves | ( | const GameState & | state, | |
MoveVector & | out | |||
) | const |
const Config& osl::game_playing::SearchPlayer::getConfig | ( | ) | const [inline] |
int osl::game_playing::SearchPlayer::secondsForThisMove | ( | const GameState & | state, | |
int | total_seconds_left, | |||
int | byoyomi | |||
) | [static] |
const HistoryTable& osl::game_playing::SearchPlayer::historyTable | ( | ) | const [inline] |
void osl::game_playing::SearchPlayer::setStopSchedule | ( | const misc::RealTime & | new_timer | ) |
void osl::game_playing::SearchPlayer::fillMoveComment | ( | MoveWithComment & | , | |
const GameState & | , | |||
const search::SimpleHashTable * | , | |||
int | pawn_value | |||
) | [private] |
参照元 search().
Config osl::game_playing::SearchPlayer::config [protected] |
boost::scoped_ptr<search::SimpleHashTable> osl::game_playing::SearchPlayer::table_ptr [protected] |
searchPlayer.h の 56 行で定義されています。
参照元 osl::game_playing::ProgressMtdfPlayer::isReasonableMove(), osl::game_playing::PlainMtdfPlayer::isReasonableMove(), osl::game_playing::AlphaBeta2Player::isReasonableMove(), pickUpBestMoves(), pushMove(), osl::game_playing::ProgressMtdfPlayer::searchWithSecondsForThisMove(), osl::game_playing::PlainMtdfPlayer::searchWithSecondsForThisMove(), osl::game_playing::AlphaBeta2Player::searchWithSecondsForThisMove(), setTableLimit(), setUpTable(), setVerbose(), swapTable(), と table().
boost::shared_ptr<CheckmateSearcher> osl::game_playing::SearchPlayer::checkmate_ptr [protected] |
searchPlayer.h の 57 行で定義されています。
参照元 osl::game_playing::ProgressMtdfPlayer::isReasonableMove(), osl::game_playing::PlainMtdfPlayer::isReasonableMove(), osl::game_playing::AlphaBeta2Player::isReasonableMove(), osl::game_playing::ProgressMtdfPlayer::searchWithSecondsForThisMove(), osl::game_playing::PlainMtdfPlayer::searchWithSecondsForThisMove(), osl::game_playing::AlphaBeta2Player::searchWithSecondsForThisMove(), と setUpTable().
boost::scoped_ptr<search::SearchRecorder> osl::game_playing::SearchPlayer::recorder_ptr [protected] |
searchPlayer.h の 58 行で定義されています。
参照元 osl::game_playing::ProgressMtdfPlayer::isReasonableMove(), osl::game_playing::PlainMtdfPlayer::isReasonableMove(), osl::game_playing::AlphaBeta2Player::isReasonableMove(), recorder(), resetRecorder(), osl::game_playing::ProgressMtdfPlayer::searchWithSecondsForThisMove(), osl::game_playing::PlainMtdfPlayer::searchWithSecondsForThisMove(), と osl::game_playing::AlphaBeta2Player::searchWithSecondsForThisMove().
boost::scoped_ptr<search::BigramKillerMove> osl::game_playing::SearchPlayer::bigram_ptr [protected] |
boost::scoped_ptr<TableStack> osl::game_playing::SearchPlayer::table_stack_ptr [protected] |
searchPlayer.h の 60 行で定義されています。
参照元 enableTableStack(), popMove(), pushMove(), SearchPlayer(), と setUpTable().
boost::scoped_ptr<KeyOfMove> osl::game_playing::SearchPlayer::key_of_move [protected] |
AlarmSwitch osl::game_playing::SearchPlayer::stop_flag [protected] |
HistoryTable osl::game_playing::SearchPlayer::history_table [protected] |
boost::scoped_ptr<search::HasTimer> osl::game_playing::SearchPlayer::searcher [protected] |
searchPlayer.h の 65 行で定義されています。
参照元 osl::game_playing::ProgressMtdfPlayer::isReasonableMove(), osl::game_playing::PlainMtdfPlayer::isReasonableMove(), osl::game_playing::AlphaBeta2Player::isReasonableMove(), search(), osl::game_playing::ProgressMtdfPlayer::searchWithSecondsForThisMove(), osl::game_playing::PlainMtdfPlayer::searchWithSecondsForThisMove(), osl::game_playing::AlphaBeta2Player::searchWithSecondsForThisMove(), setNextIterationCoefficient(), と setStopSchedule().
volatile bool osl::game_playing::SearchPlayer::plan_stop [protected] |
const MoveVector* osl::game_playing::SearchPlayer::root_ignore_moves [protected] |