1threadで全ての手を順番に投機的探索をする [詳細]
#include <speculativeAllMoves.h>
構成 | |
class | ResultVector |
struct | Runner |
class | SearchAllMoves |
指手を生成し,結果をresultsにためる. run を別threadで動かすことを想定しているが,逐次でもテスト可 [詳細] | |
Public メソッド | |
SpeculativeAllMoves () | |
~SpeculativeAllMoves () | |
void | startSpeculative (const boost::shared_ptr< GameState > state, const SearchPlayer &main_player) |
void | stopOtherThan (Move) |
void | stopAll () |
void | setMaxThreads (int new_max_threads) |
const MoveWithComment | waitResult (Move last_move, search::TimeAssigned wait_for, SearchPlayer &main_player, int byoyomi) |
void | selectBestMoveCleanUp () |
void | clearResource () |
const HashKey | searchState () const |
Private 変数 | |
boost::shared_ptr< SearchAllMoves > | searcher |
boost::scoped_ptr< boost::thread > | thread |
boost::scoped_ptr< ResultVector > | results |
boost::mutex | mutex |
int | last_search_seconds |
bool | has_byoyomi |
bool | allowed |
HashKey | search_state |
1threadで全ての手を順番に投機的探索をする
speculativeAllMoves.h の 32 行で定義されています。
osl::game_playing::SpeculativeAllMoves::SpeculativeAllMoves | ( | ) |
speculativeAllMoves.cc の 371 行で定義されています。
osl::game_playing::SpeculativeAllMoves::~SpeculativeAllMoves | ( | ) |
speculativeAllMoves.cc の 378 行で定義されています。
参照先 selectBestMoveCleanUp(), と stopAll().
void osl::game_playing::SpeculativeAllMoves::clearResource | ( | ) |
osl::game_playing::SpeculativeModelを再定義しています。
speculativeAllMoves.cc の 408 行で定義されています。
const HashKey osl::game_playing::SpeculativeAllMoves::searchState | ( | ) | const [inline, virtual] |
osl::game_playing::SpeculativeModelを実装しています。
speculativeAllMoves.h の 66 行で定義されています。
参照先 search_state.
void osl::game_playing::SpeculativeAllMoves::selectBestMoveCleanUp | ( | ) | [virtual] |
osl::game_playing::SpeculativeModelを実装しています。
speculativeAllMoves.cc の 529 行で定義されています。
void osl::game_playing::SpeculativeAllMoves::setMaxThreads | ( | int | new_max_threads | ) | [inline, virtual] |
osl::game_playing::SpeculativeModelを再定義しています。
speculativeAllMoves.h の 55 行で定義されています。
void osl::game_playing::SpeculativeAllMoves::startSpeculative | ( | const boost::shared_ptr< GameState > | state, | |
const SearchPlayer & | main_player | |||
) | [virtual] |
osl::game_playing::SpeculativeModelを実装しています。
speculativeAllMoves.cc の 385 行で定義されています。
参照先 allowed, has_byoyomi, last_search_seconds, mutex, results, search_state, searcher, と thread.
void osl::game_playing::SpeculativeAllMoves::stopAll | ( | ) | [virtual] |
osl::game_playing::SpeculativeModelを実装しています。
speculativeAllMoves.cc の 424 行で定義されています。
void osl::game_playing::SpeculativeAllMoves::stopOtherThan | ( | Move | the_move | ) | [virtual] |
osl::game_playing::SpeculativeModelを実装しています。
speculativeAllMoves.cc の 416 行で定義されています。
const osl::search::MoveWithComment osl::game_playing::SpeculativeAllMoves::waitResult | ( | Move | last_move, | |
search::TimeAssigned | , | |||
SearchPlayer & | main_player, | |||
int | byoyomi | |||
) | [virtual] |
byoyomi | 対局条件を伝えるために利用 |
osl::game_playing::SpeculativeModelを実装しています。
speculativeAllMoves.cc の 433 行で定義されています。
参照先 allowed, osl::BLACK, osl::ctime_r(), has_byoyomi, osl::Move::INVALID(), osl::Move::isNormal(), last_search_seconds, osl::search::TimeAssigned::max, mutex, osl::Move::player(), result, results, searcher, osl::search::UsiReporter::showPV(), osl::search::TimeAssigned::standard, osl::game_playing::SearchPlayer::swapTable(), と osl::OslConfig::usiMode().
bool osl::game_playing::SpeculativeAllMoves::allowed [private] |
speculativeAllMoves.h の 44 行で定義されています。
bool osl::game_playing::SpeculativeAllMoves::has_byoyomi [private] |
speculativeAllMoves.h の 42 行で定義されています。
参照元 startSpeculative(), と waitResult().
boost::mutex osl::game_playing::SpeculativeAllMoves::mutex [private] |
speculativeAllMoves.h の 41 行で定義されています。
参照元 clearResource(), osl::game_playing::SpeculativeAllMoves::SearchAllMoves::Generator::pickUpMove(), selectBestMoveCleanUp(), setMaxThreads(), startSpeculative(), osl::game_playing::SpeculativeAllMoves::SearchAllMoves::StatusLock::StatusLock(), stopAll(), stopOtherThan(), と waitResult().
boost::scoped_ptr<ResultVector> osl::game_playing::SpeculativeAllMoves::results [private] |
speculativeAllMoves.h の 40 行で定義されています。
参照元 startSpeculative(), と waitResult().
HashKey osl::game_playing::SpeculativeAllMoves::search_state [private] |
speculativeAllMoves.h の 45 行で定義されています。
参照元 searchState(), と startSpeculative().
boost::shared_ptr<SearchAllMoves> osl::game_playing::SpeculativeAllMoves::searcher [private] |
speculativeAllMoves.h の 36 行で定義されています。
参照元 clearResource(), selectBestMoveCleanUp(), startSpeculative(), stopAll(), stopOtherThan(), と waitResult().
boost::scoped_ptr<boost::thread> osl::game_playing::SpeculativeAllMoves::thread [private] |
speculativeAllMoves.h の 39 行で定義されています。
参照元 clearResource(), selectBestMoveCleanUp(), と startSpeculative().