proofTreeDepthDfpn.h
Go to the documentation of this file.
1 /* proofTreeDepthDfpn.h
2  */
3 #ifndef OSL_PROOFTREEDEPTHDFPN_H
4 #define OSL_PROOFTREEDEPTHDFPN_H
5 
6 #include "osl/numEffectState.h"
7 #include "osl/hashKey.h"
8 #include <vector>
9 
10 namespace osl
11 {
12  namespace checkmate
13  {
14  class CheckHashRecord;
15  class DfpnTable;
22  {
23  struct Table;
24  std::unique_ptr<Table> table;
25  public:
26  explicit ProofTreeDepthDfpn(const DfpnTable& table);
28  int depth(const HashKey& key, const NumEffectState& state, bool is_or_node) const;
29 
30  void retrievePV(const NumEffectState& state, bool is_or_node,
31  std::vector<Move>& pv) const;
32  private:
33  int orNode(const HashKey& key, Move& best_move, int height=0) const;
34  int andNode(const HashKey& key, Move& best_move, int height=0) const;
35  };
36  } // namespace checkmate
37 }
38 
39 
40 #endif /* OSL_PROOFTREEDEPTHDFPN_H */
41 // ;;; Local Variables:
42 // ;;; mode:c++
43 // ;;; c-basic-offset:2
44 // ;;; End:
int orNode(const HashKey &key, Move &best_move, int height=0) const
int depth(const HashKey &key, const NumEffectState &state, bool is_or_node) const
詰までの手数を数える.
詰探索局面表 – 並列でも共有する部分
Definition: dfpn.h:29
int andNode(const HashKey &key, Move &best_move, int height=0) const
圧縮していない moveの表現 .
Definition: basic_type.h:1051
深さを記憶するテーブル.
利きを持つ局面
void retrievePV(const NumEffectState &state, bool is_or_node, std::vector< Move > &pv) const
ProofTreeDepthDfpn(const DfpnTable &table)