From: lucasart Date: Fri, 7 Nov 2014 21:40:24 +0000 (+0000) Subject: Prune ttMove like any other X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=7ebb872409d23b7c745d71ce5c21bea786d81aa0;ds=sidebyside Prune ttMove like any other This should reduce search inconsistencies, and doesn't seem to have a measurable ELO Impact: STC with Hash=16 LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 49264 W: 10076 L: 10007 D: 29181 LTC with Hash=64 LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 82149 W: 14044 L: 14023 D: 54082 Plus an extra test, to make sure it doesn't regress with strong hash pressure: STC with Hash=4 LLR: 2.95 (-2.94,2.94) [-4.00,0.00] Total: 21498 W: 4327 L: 4246 D: 12925 Bench: 7302735 Resolves #100 --- diff --git a/src/search.cpp b/src/search.cpp index fedad432..44eb4ccc 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -747,7 +747,6 @@ moves_loop: // When in check and at SpNode search starts from here && !captureOrPromotion && !inCheck && !dangerous - /* && move != ttMove Already implicit in the next condition */ && bestValue > VALUE_MATED_IN_MAX_PLY) { // Move count based pruning @@ -813,9 +812,8 @@ moves_loop: // When in check and at SpNode search starts from here // Step 15. Reduced depth search (LMR). If the move fails high it will be // re-searched at full depth. if ( depth >= 3 * ONE_PLY - && !pvMove + && moveCount > 1 && !captureOrPromotion - && move != ttMove && move != ss->killers[0] && move != ss->killers[1]) { @@ -1111,7 +1109,6 @@ moves_loop: // When in check and at SpNode search starts from here if ( !PvNode && !InCheck && !givesCheck - && move != ttMove && futilityBase > -VALUE_KNOWN_WIN && !pos.advanced_pawn_push(move)) { @@ -1141,7 +1138,6 @@ moves_loop: // When in check and at SpNode search starts from here // Don't search moves with negative SEE values if ( !PvNode && (!InCheck || evasionPrunable) - && move != ttMove && type_of(move) != PROMOTION && pos.see_sign(move) < VALUE_ZERO) continue;