詰までの手数を数える. [詳細]
#include <proofTreeDepthDfpn.h>
構成 | |
struct | Table |
深さを記憶するテーブル. [詳細] | |
Public メソッド | |
ProofTreeDepthDfpn (const DfpnTable &table) | |
~ProofTreeDepthDfpn () | |
int | depth (const HashKey &key, const state::NumEffectState &state, bool is_or_node) const |
void | retrievePV (const state::NumEffectState &state, bool is_or_node, vector< Move > &pv) const |
Private メソッド | |
int | orNode (const HashKey &key, Move &best_move, int height=0) const |
int | andNode (const HashKey &key, Move &best_move, int height=0) const |
Private 変数 | |
boost::scoped_ptr< Table > | table |
詰までの手数を数える.
詰将棋ルーチン次第で,無駄合なども含まれるため 人間の感覚と一致するとは限らない.
proofTreeDepthDfpn.h の 24 行で定義されています。
osl::checkmate::ProofTreeDepthDfpn::ProofTreeDepthDfpn | ( | const DfpnTable & | table | ) | [explicit] |
proofTreeDepthDfpn.cc の 76 行で定義されています。
osl::checkmate::ProofTreeDepthDfpn::~ProofTreeDepthDfpn | ( | ) |
proofTreeDepthDfpn.cc の 82 行で定義されています。
int osl::checkmate::ProofTreeDepthDfpn::andNode | ( | const HashKey & | key, | |
Move & | best_move, | |||
int | height = 0 | |||
) | const [private] |
proofTreeDepthDfpn.cc の 180 行で定義されています。
参照先 osl::alt(), osl::BLACK, depth(), osl::checkmate::Dfpn::MaxDepth, moves, orNode(), result, table, と osl::WHITE.
参照元 orNode().
int osl::checkmate::ProofTreeDepthDfpn::depth | ( | const HashKey & | key, | |
const state::NumEffectState & | state, | |||
bool | is_or_node | |||
) | const |
int osl::checkmate::ProofTreeDepthDfpn::orNode | ( | const HashKey & | key, | |
Move & | best_move, | |||
int | height = 0 | |||
) | const [private] |
proofTreeDepthDfpn.cc の 119 行で定義されています。
参照先 andNode(), osl::checkmate::DfpnRecordBase::best_move, depth(), osl::checkmate::FixedDepthSearcher::hasCheckmateMoveOfTurn(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), osl::Move::isNormal(), osl::checkmate::Dfpn::MaxDepth, osl::PieceStand::nextStand(), osl::checkmate::DfpnRecordBase::proof_disproof, table, と osl::WHITE.
参照元 andNode().
void osl::checkmate::ProofTreeDepthDfpn::retrievePV | ( | const state::NumEffectState & | state, | |
bool | is_or_node, | |||
vector< Move > & | pv | |||
) | const |
proofTreeDepthDfpn.cc の 96 行で定義されています。
参照先 depth, osl::Move::isNormal(), と osl::checkmate::Dfpn::MaxDepth.
boost::scoped_ptr<Table> osl::checkmate::ProofTreeDepthDfpn::table [private] |
proofTreeDepthDfpn.h の 26 行で定義されています。