Decrease all stats malus according to move count

Passed STC:
https://tests.stockfishchess.org/tests/view/6794c4634f7de645171fb341
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 28096 W: 7412 L: 7106 D: 13578
Ptnml(0-2): 97, 3194, 7148, 3524, 85

Passed LTC:
https://tests.stockfishchess.org/tests/view/6794ea13406a4efe9eb7d06b
LLR: 2.95 (-2.94,2.94) <0.50,2.50>
Total: 58086 W: 15049 L: 14684 D: 28353
Ptnml(0-2): 27, 6344, 15957, 6667, 48

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

Bench: 1711170
This commit is contained in:
Nonlinear2
2025-01-26 01:16:09 +01:00
committed by Disservin
parent 831cb01cea
commit a016abd698
+6 -4
View File
@@ -125,7 +125,8 @@ void update_all_stats(const Position& pos,
ValueList<Move, 32>& quietsSearched, ValueList<Move, 32>& quietsSearched,
ValueList<Move, 32>& capturesSearched, ValueList<Move, 32>& capturesSearched,
Depth depth, Depth depth,
bool isTTMove); bool isTTMove,
int moveCount);
} // namespace } // namespace
@@ -1372,7 +1373,7 @@ moves_loop: // When in check, search starts here
// we update the stats of searched moves. // we update the stats of searched moves.
else if (bestMove) else if (bestMove)
update_all_stats(pos, ss, *this, bestMove, prevSq, quietsSearched, capturesSearched, depth, update_all_stats(pos, ss, *this, bestMove, prevSq, quietsSearched, capturesSearched, depth,
bestMove == ttData.move); bestMove == ttData.move, moveCount);
// Bonus for prior countermove that caused the fail low // Bonus for prior countermove that caused the fail low
else if (!priorCapture && prevSq != SQ_NONE) else if (!priorCapture && prevSq != SQ_NONE)
@@ -1792,14 +1793,15 @@ void update_all_stats(const Position& pos,
ValueList<Move, 32>& quietsSearched, ValueList<Move, 32>& quietsSearched,
ValueList<Move, 32>& capturesSearched, ValueList<Move, 32>& capturesSearched,
Depth depth, Depth depth,
bool isTTMove) { bool isTTMove,
int moveCount) {
CapturePieceToHistory& captureHistory = workerThread.captureHistory; CapturePieceToHistory& captureHistory = workerThread.captureHistory;
Piece moved_piece = pos.moved_piece(bestMove); Piece moved_piece = pos.moved_piece(bestMove);
PieceType captured; PieceType captured;
int bonus = stat_bonus(depth) + 300 * isTTMove; int bonus = stat_bonus(depth) + 300 * isTTMove;
int malus = stat_malus(depth); int malus = stat_malus(depth) - 34 * (moveCount - 1);
if (!pos.capture_stage(bestMove)) if (!pos.capture_stage(bestMove))
{ {