詰までの手数を数える. More...
#include <proofTreeDepthDfpn.h>
Classes | |
struct | Table |
深さを記憶するテーブル. More... | |
Public Member Functions | |
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 Member Functions | |
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 Attributes | |
boost::scoped_ptr< Table > | table |
詰までの手数を数える.
詰将棋ルーチン次第で,無駄合なども含まれるため 人間の感覚と一致するとは限らない.
Definition at line 24 of file proofTreeDepthDfpn.h.
|
explicit |
Definition at line 76 of file proofTreeDepthDfpn.cc.
osl::checkmate::ProofTreeDepthDfpn::~ProofTreeDepthDfpn | ( | ) |
Definition at line 82 of file proofTreeDepthDfpn.cc.
|
private |
Definition at line 178 of file proofTreeDepthDfpn.cc.
References osl::alt(), osl::BLACK, depth, moves, and result.
int osl::checkmate::ProofTreeDepthDfpn::depth | ( | const HashKey & | key, |
const state::NumEffectState & | state, | ||
bool | is_or_node | ||
) | const |
Definition at line 87 of file proofTreeDepthDfpn.cc.
|
private |
Definition at line 117 of file proofTreeDepthDfpn.cc.
References osl::checkmate::DfpnRecordBase::best_move, depth, osl::checkmate::FixedDepthSearcher::hasCheckmateMoveOfTurn(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), osl::Move::isNormal(), osl::PieceStand::nextStand(), osl::checkmate::DfpnRecordBase::proof_disproof, and osl::WHITE.
void osl::checkmate::ProofTreeDepthDfpn::retrievePV | ( | const state::NumEffectState & | state, |
bool | is_or_node, | ||
vector< Move > & | pv | ||
) | const |
Definition at line 96 of file proofTreeDepthDfpn.cc.
References osl::Move::isNormal().
Referenced by osl::checkmate::Dfpn::hasCheckmateMove().
|
private |
Definition at line 26 of file proofTreeDepthDfpn.h.