From: lucasart Date: Mon, 10 Nov 2014 11:14:16 +0000 (+0800) Subject: Use quiet ttMove in qsearch() (7962287) X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=234344500f4d6e35c6992a07e0b1adb59aea209e Use quiet ttMove in qsearch() (7962287) Daniel Jose reported that it was an elo gain in his engine: http://www.talkchess.com/forum/viewtopic.php?t=54290 STC: Hash=16 LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 33067 W: 6670 L: 6571 D: 19826 LTC: Hash=64 LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 41181 W: 7008 L: 6920 D: 27253 And another one to verify no regression with hash pressure: STC: Hash=4 LLR: 2.96 (-2.94,2.94) [-4.00,0.00] Total: 25085 W: 5059 L: 4991 D: 15035 Verified that qsearch does not explode after this patch (recapture threshold). Bench 7962287 Resolves #112 --- diff --git a/src/movepick.cpp b/src/movepick.cpp index 84f26dbf..b5727f10 100644 --- a/src/movepick.cpp +++ b/src/movepick.cpp @@ -103,15 +103,8 @@ MovePicker::MovePicker(const Position& p, Move ttm, Depth d, const HistoryStats& stage = QSEARCH_0; else if (d > DEPTH_QS_RECAPTURES) - { stage = QSEARCH_1; - // Skip TT move if is not a capture or a promotion. This avoids qsearch - // tree explosion due to a possible perpetual check or similar rare cases - // when TT table is full. - if (ttm && !pos.capture_or_promotion(ttm)) - ttm = MOVE_NONE; - } else { stage = RECAPTURE;