My Project
proofTreeDepthDfpn.h
Go to the documentation of this file.
1/* proofTreeDepthDfpn.h
2 */
3#ifndef OSL_PROOFTREEDEPTHDFPN_H
4#define OSL_PROOFTREEDEPTHDFPN_H
5
7#include "osl/hashKey.h"
8#include <vector>
9
10namespace 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:
圧縮していない moveの表現 .
利きを持つ局面
詰探索局面表 – 並列でも共有する部分
Definition dfpn.h:30
詰までの手数を数える.
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
int orNode(const HashKey &key, Move &best_move, int height=0) const
int andNode(const HashKey &key, Move &best_move, int height=0) const
深さを記憶するテーブル.