玉の動ける場所を基本としたHの推定. [詳細]
#include <libertyEstimator.h>
Static Public メソッド | |
template<class State > | |
static void | attackH (Player attacker, const State &, King8Info, Move move, unsigned int &proof_number, unsigned int &disproof_number) |
攻撃側の move に対する proof_number と disproof_number を予想する | |
template<class State > | |
static void | defenseH (Player attacker, const State &, Move move, unsigned int &proof_number, unsigned int &disproof_number) |
防御側の move に対する proof_number と disproof_number を予想する |
玉の動ける場所を基本としたHの推定.
駒を取る/捨てるなども多少考慮する.
libertyEstimator.h の 42 行で定義されています。
void osl::checkmate::LibertyEstimator::attackH | ( | Player | attacker, | |
const State & | state, | |||
King8Info | info, | |||
Move | move, | |||
unsigned int & | proof_number, | |||
unsigned int & | disproof_number | |||
) | [static] |
攻撃側の move に対する proof_number と disproof_number を予想する
効きが上回っていれば先にやってみる
駒を取る
libertyEstimator.h の 61 行で定義されています。
参照先 osl::alt(), osl::Move::capturePtype(), osl::Move::from(), osl::Square::isPieceStand(), osl::SILVER, osl::Move::to(), と osl::unpromote().
void osl::checkmate::LibertyEstimator::defenseH | ( | Player | attacker, | |
const State & | state, | |||
Move | move, | |||
unsigned int & | proof_number, | |||
unsigned int & | disproof_number | |||
) | [static] |
防御側の move に対する proof_number と disproof_number を予想する
captureは価値が高い
libertyEstimator.h の 105 行で定義されています。
参照先 osl::alt(), osl::Move::capturePtype(), osl::Move::isDrop(), osl::Move::ptype(), と osl::Move::to().