単純なkiller move [詳細]
#include <killerMoveTable.h>
Public メソッド | |
KillerMoveTable () | |
~KillerMoveTable () | |
void | clear () |
void | setMove (size_t depth, const Move &move) |
void | getMove (const NumEffectState &state, size_t depth, MoveVector &out) const |
Static Public 変数 | |
static const int | KillerMoveMax = 64 |
Private 変数 | |
CArray< LRUMoves, KillerMoveMax > | killer_moves |
単純なkiller move
深さごとの最善手を登録する.テーブルに登録されていない局面で, 「自分が何を指そうが相手からこう指されると困る」と言うときに有 効.最善の判定はいい加減で,その深さで最後にbestMoveとして発見されたmove
killerMoveTable.h の 22 行で定義されています。
osl::search::KillerMoveTable::KillerMoveTable | ( | ) |
killerMoveTable.cc の 7 行で定義されています。
参照先 clear().
osl::search::KillerMoveTable::~KillerMoveTable | ( | ) |
killerMoveTable.cc の 13 行で定義されています。
void osl::search::KillerMoveTable::clear | ( | ) |
killerMoveTable.cc の 18 行で定義されています。
参照先 osl::search::LRUMoves::clear(), と killer_moves.
参照元 KillerMoveTable().
void osl::search::KillerMoveTable::getMove | ( | const NumEffectState & | state, | |
size_t | depth, | |||
MoveVector & | out | |||
) | const [inline] |
killerMoveTable.h の 37 行で定義されています。
参照先 osl::Move::isNormal(), killer_moves, moves, と osl::search::LRUMoves::size().
void osl::search::KillerMoveTable::setMove | ( | size_t | depth, | |
const Move & | move | |||
) | [inline] |
killerMoveTable.h の 32 行で定義されています。
参照先 osl::Move::isValid(), と killer_moves.
CArray<LRUMoves,KillerMoveMax> osl::search::KillerMoveTable::killer_moves [private] |
killerMoveTable.h の 27 行で定義されています。
const int osl::search::KillerMoveTable::KillerMoveMax = 64 [static] |
killerMoveTable.h の 25 行で定義されています。