From 7c91e9b6b4d7d48290a79ee348b54f173632ce61 Mon Sep 17 00:00:00 2001 From: CalciteM Team Date: Sun, 18 Aug 2019 12:40:06 +0800 Subject: [PATCH] =?UTF-8?q?hash:=20=E6=96=B0=E5=A2=9E=20HASH=5FMAP=5FDEBUG?= =?UTF-8?q?=20=E5=AE=8F=E5=8F=AF=E5=9C=A8=E9=9C=80=E8=A6=81=E6=97=B6?= =?UTF-8?q?=E5=90=AF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 此宏相关代码尚未完善。 --- NineChess/include/config.h | 5 +++-- NineChess/src/ninechessai_ab.cpp | 6 ++++++ NineChess/src/ninechessai_ab.h | 2 ++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/NineChess/include/config.h b/NineChess/include/config.h index 4d6d7371..a5481cd6 100644 --- a/NineChess/include/config.h +++ b/NineChess/include/config.h @@ -59,11 +59,12 @@ //define DEEPER_IF_ONLY_ONE_LEGAL_MOVE #define HASH_MAP_ENABLE -#define CLEAR_HASH_MAP #ifdef HASH_MAP_ENABLE +#define CLEAR_HASH_MAP #define HASH_MAP_CUTDOWN -#endif /* HASH_MAP_ENABLE */ +//#define HASH_MAP_DEBUG +#endif #define MEMORY_POOL diff --git a/NineChess/src/ninechessai_ab.cpp b/NineChess/src/ninechessai_ab.cpp index e412388d..16990b87 100644 --- a/NineChess/src/ninechessai_ab.cpp +++ b/NineChess/src/ninechessai_ab.cpp @@ -53,12 +53,14 @@ NineChessAi_ab::NineChessAi_ab() : nodeCount(0), evaluatedNodeCount(0), #ifdef HASH_MAP_ENABLE +#ifdef HASH_MAP_DEBUG hashEntryCount(0), hashHitCount(0), hashInsertNewCount(0), hashAddrHitCount(0), hashReplaceCozDepthCount(0), hashReplaceCozHashCount(0), +#endif #endif requiredQuit(false) { @@ -834,7 +836,9 @@ int NineChessAi_ab::alphaBetaPruning(depth_t depth, value_t alpha, value_t beta, value_t probeVal = probeHash(hash, depth, alpha, beta, bestMove, type); if (probeVal != INT16_MIN /* TODO: valUNKOWN */ && node != rootNode) { +#ifdef HASH_MAP_DEBUG hashHitCount++; +#endif #ifdef DEBUG_AB_TREE node->isHash = true; #endif @@ -1118,7 +1122,9 @@ const char* NineChessAi_ab::bestMove() evaluatedNodeCount = 0; #ifdef HASH_MAP_ENABLE +#ifdef HASH_MAP_DEBUG qDebug() << "Hash hit count:" << hashHitCount; +#endif #endif //qDebug() << "sizeof(Node) = " << sizeof(Node); diff --git a/NineChess/src/ninechessai_ab.h b/NineChess/src/ninechessai_ab.h index 95fe7df3..0039052a 100644 --- a/NineChess/src/ninechessai_ab.h +++ b/NineChess/src/ninechessai_ab.h @@ -248,6 +248,7 @@ private: size_t evaluatedNodeCount; #ifdef HASH_MAP_ENABLE +#ifdef HASH_MAP_DEBUG // Hash 统计数据 size_t hashEntryCount; size_t hashHitCount; @@ -255,6 +256,7 @@ private: size_t hashAddrHitCount; size_t hashReplaceCozDepthCount; size_t hashReplaceCozHashCount; +#endif #endif // 局面数据栈