駒の価値ベースの評価関数. [詳細]
#include <pieceEval.h>
Public メソッド | |
PieceEval (const NumEffectState &state) | |
PieceEval (int v) | |
void | changeTurn () |
int | value () const |
const Move | suggestMove (const NumEffectState &) const |
int | expect (const NumEffectState &, Move move) const |
state でmoveを指した後の評価値を予測 | |
const Progress32 | progress32 () const |
const Progress16 | progress16 () const |
void | update (const NumEffectState &, Move last_move) |
const PieceMask | pins (Player) const |
template<osl::Player P> | |
int | computeDiffAfterMove (const NumEffectState &state, Move move) |
Static Public メソッド | |
static bool | initialized () |
static int | diffWithMove (const NumEffectState &, Move move) |
static int | infty () |
template<Player P> | |
static int | computeDiffAfterMove (const NumEffectState &state, Move move) |
move による取り返し値の変化 (SOMA) | |
static int | computeDiffAfterMove (const NumEffectState &state, Move move) |
template<Player P> | |
static int | computeDiffAfterMoveForRP (const NumEffectState &state, Move move) |
実現確率探索用取り返し値 | |
static int | computeDiffAfterMoveForRP (const NumEffectState &state, Move move) |
static int | seeScale () |
static int | captureValue (PtypeO ptypeO) |
QuiescenceSearch の枝刈で使用. | |
static int | value (PtypeO ptypeO) |
Private メソッド | |
void | addVal (int d) |
Private 変数 | |
int | val |
駒の価値ベースの評価関数.
必ず偶数 先手有利 +, 後手有利 - 歩 PtypeEvalTraits<PAWN>::val 点
pieceEval.h の 67 行で定義されています。
osl::eval::PieceEval::PieceEval | ( | const NumEffectState & | state | ) | [explicit] |
osl::eval::PieceEval::PieceEval | ( | int | v | ) | [inline, explicit] |
pieceEval.h の 72 行で定義されています。
void osl::eval::PieceEval::addVal | ( | int | d | ) | [inline, private] |
static int osl::eval::PieceEval::captureValue | ( | PtypeO | ptypeO | ) | [inline, static] |
QuiescenceSearch の枝刈で使用.
pieceEval.h の 161 行で定義されています。
参照先 osl::eval::PtypeEvalTable::captureValue(), と osl::eval::Ptype_Eval_Table.
void osl::eval::PieceEval::changeTurn | ( | ) | [inline] |
pieceEval.h の 74 行で定義されています。
int osl::eval::PieceEval::computeDiffAfterMove | ( | const NumEffectState & | state, | |
Move | move | |||
) | [inline] |
move.to() に利きのある駒を集める
moveの結果, 延びる効きがあるか
現状で自分を除くすべての駒
pieceEval.tcc の 209 行で定義されています。
参照先 diffWithMove(), osl::Move::from(), osl::Position::isPieceStand(), osl::Move::ptypeO(), osl::Move::to(), と val.
static int osl::eval::PieceEval::computeDiffAfterMove | ( | const NumEffectState & | state, | |
Move | move | |||
) | [inline, static] |
pieceEval.h の 104 行で定義されています。
参照先 osl::BLACK, と osl::Move::player().
static int osl::eval::PieceEval::computeDiffAfterMove | ( | const NumEffectState & | state, | |
Move | move | |||
) | [inline, static] |
move による取り返し値の変化 (SOMA)
static int osl::eval::PieceEval::computeDiffAfterMoveForRP | ( | const NumEffectState & | state, | |
Move | move | |||
) | [inline, static] |
pieceEval.h の 125 行で定義されています。
参照先 osl::BLACK, と osl::Move::player().
static int osl::eval::PieceEval::computeDiffAfterMoveForRP | ( | const NumEffectState & | state, | |
Move | move | |||
) | [inline, static] |
実現確率探索用取り返し値
現在の局面の評価値と move 後の局面の差分(Pが得する場合が正とな るよう符号を補正)を返す.
pieceEval.h の 119 行で定義されています。
参照先 osl::BLACK, と osl::Move::player().
static int osl::eval::PieceEval::diffWithMove | ( | const NumEffectState & | , | |
Move | move | |||
) | [inline, static] |
int osl::eval::PieceEval::expect | ( | const NumEffectState & | , | |
Move | move | |||
) | const [inline] |
state でmoveを指した後の評価値を予測
pieceEval.h の 140 行で定義されています。
参照先 osl::captured(), osl::Move::capturePtypeOSafe(), osl::getPtype(), osl::Move::isDrop(), osl::Move::isPass(), osl::Move::oldPtypeO(), osl::PTYPE_EMPTY, osl::eval::Ptype_Eval_Table, osl::Move::ptypeO(), result, val, osl::eval::PtypeEvalTable::value(), と value().
static int osl::eval::PieceEval::infty | ( | ) | [inline, static] |
pieceEval.h の 89 行で定義されています。
static bool osl::eval::PieceEval::initialized | ( | ) | [inline, static] |
pieceEval.h の 73 行で定義されています。
const PieceMask osl::eval::PieceEval::pins | ( | Player | ) | const [inline] |
pieceEval.h の 183 行で定義されています。
const Progress16 osl::eval::PieceEval::progress16 | ( | ) | const [inline] |
pieceEval.h の 156 行で定義されています。
const Progress32 osl::eval::PieceEval::progress32 | ( | ) | const [inline] |
pieceEval.h の 155 行で定義されています。
static int osl::eval::PieceEval::seeScale | ( | ) | [inline, static] |
pieceEval.h の 157 行で定義されています。
const Move osl::eval::PieceEval::suggestMove | ( | const NumEffectState & | ) | const [inline] |
pieceEval.h の 135 行で定義されています。
void osl::eval::PieceEval::update | ( | const NumEffectState & | , | |
Move | last_move | |||
) | [inline] |
static int osl::eval::PieceEval::value | ( | PtypeO | ptypeO | ) | [inline, static] |
pieceEval.h の 165 行で定義されています。
参照先 osl::eval::Ptype_Eval_Table, と osl::eval::PtypeEvalTable::value().
int osl::eval::PieceEval::value | ( | ) | const [inline] |
int osl::eval::PieceEval::val [private] |
pieceEval.h の 69 行で定義されています。
参照元 addVal(), computeDiffAfterMove(), expect(), と value().