|
My Project
|
詰までの手数を数える. More...
#include <proofTreeDepthDfpn.h>
Classes | |
| struct | Table |
| 深さを記憶するテーブル. More... | |
Public Member Functions | |
| ProofTreeDepthDfpn (const DfpnTable &table) | |
| ~ProofTreeDepthDfpn () | |
| int | depth (const HashKey &key, const NumEffectState &state, bool is_or_node) const |
| void | retrievePV (const NumEffectState &state, bool is_or_node, std::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 | |
| std::unique_ptr< Table > | table |
詰までの手数を数える.
詰将棋ルーチン次第で,無駄合なども含まれるため 人間の感覚と一致するとは限らない.
Definition at line 21 of file proofTreeDepthDfpn.h.
|
explicit |
Definition at line 73 of file proofTreeDepthDfpn.cc.
References table.
| osl::checkmate::ProofTreeDepthDfpn::~ProofTreeDepthDfpn | ( | ) |
Definition at line 79 of file proofTreeDepthDfpn.cc.
|
private |
Definition at line 175 of file proofTreeDepthDfpn.cc.
References osl::alt(), osl::BLACK, depth(), osl::checkmate::Dfpn::generateEscape(), osl::hash::HashKey::newHashWithMove(), orNode(), and table.
Referenced by depth(), orNode(), and retrievePV().
| int osl::checkmate::ProofTreeDepthDfpn::depth | ( | const HashKey & | key, |
| const NumEffectState & | state, | ||
| bool | is_or_node ) const |
Definition at line 84 of file proofTreeDepthDfpn.cc.
References andNode(), orNode(), and table.
Referenced by andNode(), osl::checkmate::ProofTreeDepthDfpn::Table::expectMoreDepth(), osl::checkmate::ProofTreeDepthDfpn::Table::find(), orNode(), and osl::checkmate::ProofTreeDepthDfpn::Table::store().
|
private |
Definition at line 114 of file proofTreeDepthDfpn.cc.
References andNode(), depth(), osl::checkmate::FixedDepthSearcher::hasCheckmateMoveOfTurn(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), osl::hash::HashKey::newHashWithMove(), osl::PieceStand::nextStand(), osl::checkmate::DfpnRecordBase::proof_disproof, table, and osl::WHITE.
Referenced by andNode(), depth(), and retrievePV().
| void osl::checkmate::ProofTreeDepthDfpn::retrievePV | ( | const NumEffectState & | state, |
| bool | is_or_node, | ||
| std::vector< Move > & | pv ) const |
Definition at line 92 of file proofTreeDepthDfpn.cc.
References andNode(), osl::Move::isNormal(), osl::hash::HashKey::newMakeMove(), orNode(), and table.
Referenced by osl::checkmate::Dfpn::hasCheckmateMove().
|
private |
Definition at line 24 of file proofTreeDepthDfpn.h.
Referenced by andNode(), depth(), orNode(), ProofTreeDepthDfpn(), and retrievePV().