From: Marco Costalba Date: Thu, 16 Jul 2009 06:05:54 +0000 (+0100) Subject: Reintroduce null move dynamic reduction X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=620cfbb6760911a9f2ce188cd7244d86a76953c2 Reintroduce null move dynamic reduction Test extension of LMR horizon to 3 plies alone, without touching null move search. To keep the patch minimal we still don't change LMR horizon in PV search. This will be the object of the next patch. Result seems good after 998 games: Mod vs Orig +252/=518/-228 51.20% 511.0/998 +8 ELO So dynamic null move reduction seems a bit stronger then fixed reduction even with LMR horizon set to 3. Signed-off-by: Marco Costalba --- diff --git a/src/search.cpp b/src/search.cpp index 08e3a997..b4e9b14c 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1243,8 +1243,9 @@ namespace { StateInfo st; pos.do_null_move(st); + int R = (depth >= 5 * OnePly ? 4 : 3); // Null move dynamic reduction - Value nullValue = -search(pos, ss, -(beta-1), depth-4*OnePly, ply+1, false, threadID); + Value nullValue = -search(pos, ss, -(beta-1), depth-R*OnePly, ply+1, false, threadID); pos.undo_null_move(); @@ -1363,7 +1364,7 @@ namespace { // Try to reduce non-pv search depth by one ply if move seems not problematic, // if the move fails high will be re-searched at full depth. - if ( depth >= (ss[ply-1].currentMove == MOVE_NULL ? 3 : 2) * OnePly + if ( depth >= 3*OnePly && moveCount >= LMRNonPVMoves && !dangerous && !moveIsCapture