From: protonspring Date: Thu, 8 Feb 2018 09:45:45 +0000 (+0100) Subject: Obey skipQuiets strictly in MovePicker X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=69067e1988ea945977d586a1442a22be0b55671a;ds=sidebyside Obey skipQuiets strictly in MovePicker The current logic in master is to continue return quiet moves if their history score is above 0. It appears as though this check can be removed, which is also more logically consistent with the “skipQuiets” semantics used in search.cpp. This patch may open new opportunitiesto get Elo by changing or tuning the definition of 'moveCountPruning' in line 830 of search.cpp, because obeying skipQuiets without checking the history scores makes the search more sensitive to 'moveCountPruning'. STC LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 34780 W: 7680 L: 7584 D: 19516 http://tests.stockfishchess.org/tests/view/5a79f8d80ebc5902971a99db LTC LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 38757 W: 6732 L: 6641 D: 25384 http://tests.stockfishchess.org/tests/view/5a7afebe0ebc5902971a9a46 Bench 4954595 --- diff --git a/src/movepick.cpp b/src/movepick.cpp index 74da3205..b4cae3a0 100644 --- a/src/movepick.cpp +++ b/src/movepick.cpp @@ -221,17 +221,17 @@ Move MovePicker::next_move(bool skipQuiets) { /* fallthrough */ case QUIET: - while ( cur < endMoves - && (!skipQuiets || cur->value >= VALUE_ZERO)) - { - move = *cur++; - - if ( move != ttMove - && move != killers[0] - && move != killers[1] - && move != countermove) - return move; - } + if (!skipQuiets) + while (cur < endMoves) + { + move = *cur++; + + if ( move != ttMove + && move != killers[0] + && move != killers[1] + && move != countermove) + return move; + } ++stage; cur = moves; // Point to beginning of bad captures /* fallthrough */