From: VoyagerOne Date: Sat, 28 Mar 2015 21:15:49 +0000 (+0000) Subject: Use CounterMoveHistory when calculating LMR for cut nodes X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=ac8e6ff000d3d990ae07297ec60e33a9cfb513b1;hp=3a6753328cb18b043c36f8f7c1faeb4b88a2cdc0 Use CounterMoveHistory when calculating LMR for cut nodes If the sum of CounterMoveHistory heuristic and History heuristic is below zero, then reduce an extra ply in cut nodes LTC: LLR: 2.96 (-2.94,2.94) [0.00,6.00] Total: 6479 W: 1099 L: 967 D: 4413 Bench: 7773299 Resolves #315 --- diff --git a/src/search.cpp b/src/search.cpp index 085bca3a..c5da0d4f 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -964,7 +964,9 @@ moves_loop: // When in check and at SpNode search starts from here ss->reduction = reduction(improving, depth, moveCount); if ( (!PvNode && cutNode) - || History[pos.piece_on(to_sq(move))][to_sq(move)] < VALUE_ZERO) + || History[pos.piece_on(to_sq(move))][to_sq(move)] < VALUE_ZERO + || CounterMovesHistory[pos.piece_on(prevMoveSq)][prevMoveSq][pos.piece_on(to_sq(move))][to_sq(move)] + + History[pos.piece_on(to_sq(move))][to_sq(move)] < VALUE_ZERO) ss->reduction += ONE_PLY; if (move == countermoves[0] || move == countermoves[1])