From: Marco Costalba Date: Mon, 13 Jul 2009 12:35:29 +0000 (+0100) Subject: Combine increased LMR horizont and fixed null move reduction X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=2a203d8d6fb067461db55bcf3ade747dca9492b7 Combine increased LMR horizont and fixed null move reduction Set null move reduction to R=4, but increase the LMR horizon to 3 plies. The two tweaks are related and should compensate the combined effect of null move + LMR reduction at shallow depths. Idea from Tord. After 999 games at 1+0 Mod vs Orig +251 =522 -225 51.30% + 9 ELO On Tord iMac Core 2 Duo 2.8 GHz, one thread, Mac OS X 10.6, at 1+0 time control we have: Mod vs Orig 994-1006 -1.4 ELO But Orig version is pgo compiled and Mod is not. The PGO compiled version is about 8% faster, which corresponds to about 7 Elo points. This means that results are reasonably consistent. Signed-off-by: Marco Costalba --- diff --git a/src/search.cpp b/src/search.cpp index 4449b1be..c8c8d4bd 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1243,9 +1243,8 @@ 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-R*OnePly, ply+1, false, threadID); + Value nullValue = -search(pos, ss, -(beta-1), depth-4*OnePly, ply+1, false, threadID); pos.undo_null_move(); @@ -1364,7 +1363,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 >= 2*OnePly + if ( depth >= 3*OnePly && moveCount >= LMRNonPVMoves && !dangerous && !moveIsCapture