Change ttmove reduction logic, and values

Passed STC:
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 38112 W: 10024 L: 9708 D: 18380
Ptnml(0-2): 104, 4365, 9830, 4625, 132
https://tests.stockfishchess.org/tests/view/69dd25a33ca80bdf151d4b33

Passed LTC:
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 256926 W: 65744 L: 64977 D: 126205
Ptnml(0-2): 126, 27919, 71612, 28674, 132
https://tests.stockfishchess.org/tests/view/69de48645c67bee7d241ff4e

Passed VLTC non-reg:
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 174386 W: 44640 L: 44578 D: 85168
Ptnml(0-2): 26, 17847, 51384, 17911, 25
https://tests.stockfishchess.org/tests/view/69e767370e9667dd5a76551b

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

Bench: 2788824
This commit is contained in:
FauziAkram
2026-05-04 08:30:47 +02:00
committed by Joost VandeVondele
parent 7bd32a51f5
commit 2be0b2cdb4
+5 -5
View File
@@ -1228,8 +1228,8 @@ moves_loop: // When in check, search starts here
// Decrease reduction for PvNodes (*Scaler) // Decrease reduction for PvNodes (*Scaler)
if (ss->ttPv) if (ss->ttPv)
r -= 2819 + PvNode * 973 + (ttData.value > alpha) * 905 r -= 2617 + PvNode * 912 + (ttData.value > alpha) * 934
+ (ttData.depth >= depth) * (935 + cutNode * 959); + (ttData.depth >= depth) * (988 + cutNode * 889);
r += 691; // Base reduction offset to compensate for other tweaks r += 691; // Base reduction offset to compensate for other tweaks
r -= moveCount * 65; r -= moveCount * 65;
@@ -1237,7 +1237,7 @@ moves_loop: // When in check, search starts here
// Increase reduction for cut nodes // Increase reduction for cut nodes
if (cutNode) if (cutNode)
r += 3611 + 985 * !ttData.move; r += 3274 + 1006 * !ttData.move;
// Increase reduction if ttMove is a capture // Increase reduction if ttMove is a capture
if (ttCapture) if (ttCapture)
@@ -1248,8 +1248,8 @@ moves_loop: // When in check, search starts here
r += 251 + 1124 * ((ss + 1)->cutoffCnt > 2) + 1042 * allNode; r += 251 + 1124 * ((ss + 1)->cutoffCnt > 2) + 1042 * allNode;
// For first picked move (ttMove) reduce reduction // For first picked move (ttMove) reduce reduction
if (move == ttData.move) else if (move == ttData.move)
r -= 2239; r = std::max(-10, r - 2016 + 150 * cutNode);
if (capture) if (capture)
ss->statScore = 863 * int(PieceValue[pos.captured_piece()]) / 128 ss->statScore = 863 * int(PieceValue[pos.captured_piece()]) / 128