Skip to content

Commit 999b7ec

Browse files
authored
3.1.8: futility pruning improvements (#262)
http://chess.grantnet.us/test/29572/ ELO | 8.87 +- 4.84 (95%) SPRT | 10.0+0.10s Threads=1 Hash=8MB LLR | 2.97 (-2.94, 2.94) [0.00, 3.00] GAMES | N: 10656 W: 3012 L: 2740 D: 4904 http://chess.grantnet.us/test/29573/ ELO | 4.63 +- 3.20 (95%) SPRT | 60.0+0.60s Threads=1 Hash=64MB LLR | 2.95 (-2.94, 2.94) [0.00, 3.00] GAMES | N: 22448 W: 5711 L: 5412 D: 11325 BENCH: 3700833
1 parent a16069b commit 999b7ec

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

src/search.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,8 @@ EVAL Search::abSearch(EVAL alpha, EVAL beta, int depth, int ply, bool isNull, bo
266266
bestScore = ttScore;
267267
}
268268

269+
auto improving = ply >= 2 && staticEval > m_evalStack[ply - 2];
270+
269271
//
270272
// apply prunning when we are not in check and not on PV
271273
//
@@ -283,7 +285,7 @@ EVAL Search::abSearch(EVAL alpha, EVAL beta, int depth, int ply, bool isNull, bo
283285
// static null move pruning
284286
//
285287

286-
if (depth <= 8 && bestScore - 85 * depth > beta)
288+
if (depth <= 8 && bestScore - 85 * (depth - improving) >= beta)
287289
return bestScore;
288290

289291
//
@@ -351,7 +353,6 @@ EVAL Search::abSearch(EVAL alpha, EVAL beta, int depth, int ply, bool isNull, bo
351353
auto mvSize = mvlist.Size();
352354

353355
std::vector<Move> quietMoves;
354-
auto improving = ply >= 2 && staticEval > m_evalStack[ply - 2];
355356
m_killerMoves[ply + 1][0] = m_killerMoves[ply + 1][1] = 0;
356357
auto quietsTried = 0;
357358
auto skipQuiets = false;

src/uci.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
#include <iostream>
3131
#include <sstream>
3232

33-
const std::string VERSION = "3.1.7";
33+
const std::string VERSION = "3.1.8";
3434

3535
#if defined(ENV64BIT)
3636
#if defined(_BTYPE)

0 commit comments

Comments
 (0)