mirror of
https://github.com/sockspls/badfish
synced 2025-07-12 12:09:14 +00:00
Reduction instead of cutoff
In master, during singular move analysis, when both the transposition value and a reduced search for the other moves seem to indicate a fail high, we heuristically prune the whole subtree and return an fail high score. This patch is a little bit more cautious in this case, and instead of the risky cutoff, we now search the ttMove with a reduced depth (by two plies). STC: https://tests.stockfishchess.org/tests/view/614dafe07bdc23e77ceb8a89 LLR: 2.94 (-2.94,2.94) <-0.50,2.50> Total: 46728 W: 11909 L: 11666 D: 23153 Ptnml(0-2): 181, 5288, 12168, 5561, 166 LTC: https://tests.stockfishchess.org/tests/view/614dc84abe4c07e0ecac3c95 LLR: 2.94 (-2.94,2.94) <0.50,3.50> Total: 74520 W: 18809 L: 18450 D: 37261 Ptnml(0-2): 45, 7735, 21346, 8084, 50 closes https://github.com/official-stockfish/Stockfish/pull/3718 Bench: 5499262
This commit is contained in:
parent
00e34a758f
commit
919da65d70
1 changed files with 3 additions and 2 deletions
|
@ -1125,7 +1125,8 @@ moves_loop: // When in check, search starts here
|
|||
return singularBeta;
|
||||
|
||||
// If the eval of ttMove is greater than beta we try also if there is another
|
||||
// move that pushes it over beta, if so also produce a cutoff.
|
||||
// move that pushes it over beta, if so the position also has probably multiple
|
||||
// moves giving fail highs. We will then reduce the ttMove (negative extension).
|
||||
else if (ttValue >= beta)
|
||||
{
|
||||
ss->excludedMove = move;
|
||||
|
@ -1133,7 +1134,7 @@ moves_loop: // When in check, search starts here
|
|||
ss->excludedMove = MOVE_NONE;
|
||||
|
||||
if (value >= beta)
|
||||
return beta;
|
||||
extension = -2;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue