1
0
Fork 0

Simplify multi-cut condition

Now that the multi-cut condition is safer, we can avoid the cost of the sub-search.

STC:
https://tests.stockfishchess.org/tests/view/6165fd9283dd501a05b0b2fe
LLR: 2.93 (-2.94,2.94) <-2.50,0.50>
Total: 18648 W: 4745 L: 4600 D: 9303
Ptnml(0-2): 47, 2111, 4887, 2208, 71

LTC:
https://tests.stockfishchess.org/tests/view/616629ea83dd501a05b0b320
LLR: 2.96 (-2.94,2.94) <-2.50,0.50>
Total: 41704 W: 10407 L: 10302 D: 20995
Ptnml(0-2): 35, 4425, 11823, 4538, 31

closes https://github.com/official-stockfish/Stockfish/pull/3738

Bench: 5905086
pull/3739/head
Joseph Ellis 2021-10-13 11:10:50 -05:00 committed by Stéphane Nicolet
parent c8459b18ba
commit 673841301b
1 changed files with 2 additions and 11 deletions

View File

@ -1123,18 +1123,9 @@ moves_loop: // When in check, search starts here
else if (singularBeta >= beta)
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 the position also has probably multiple
// moves giving fail highs. We will then reduce the ttMove (negative extension).
// If the eval of ttMove is greater than beta, we reduce it (negative extension)
else if (ttValue >= beta)
{
ss->excludedMove = move;
value = search<NonPV>(pos, ss, beta - 1, beta, (depth + 3) / 2, cutNode);
ss->excludedMove = MOVE_NONE;
if (value >= beta)
extension = -2;
}
extension = -2;
}
// Capture extensions for PvNodes and cutNodes