Skip to content

Commit 54a9899

Browse files
committed
Capping stat bonus at 2000
This patch updates the stat_bonus() function (used in the history tables to help move ordering), keeping the same quadratic for small depths but changing the values for depth >= 9: The old bonus formula was increasing from zero at depth 1 to 4100 at depth 14, then used the strange, small value of 73 for all depths >= 15. The new bonus formula increases from 0 at depth 1 to 2000 at depth 8, then keeps 2000 for all depths >= 8. passed STC: LLR: 2.94 (-2.94,2.94) <-0.50,2.50> Total: 169624 W: 42875 L: 42454 D: 84295 Ptnml(0-2): 585, 19340, 44557, 19729, 601 https://tests.stockfishchess.org/tests/view/615bd69e9d256038a969b97c passed LTC: LLR: 3.07 (-2.94,2.94) <0.50,3.50> Total: 37336 W: 9456 L: 9191 D: 18689 Ptnml(0-2): 20, 3810, 10747, 4067, 24 https://tests.stockfishchess.org/tests/view/615c75d99d256038a969b9b2 closes #3731 Bench: 6261865
1 parent 329bdbd commit 54a9899

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/search.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ namespace {
8080

8181
// History and stats update bonus, based on depth
8282
int stat_bonus(Depth d) {
83-
return d > 14 ? 73 : 6 * d * d + 229 * d - 215;
83+
return std::min((6 * d + 229) * d - 215 , 2000);
8484
}
8585

8686
// Add a small random component to draw evaluations to avoid 3-fold blindness
@@ -1709,8 +1709,8 @@ namespace {
17091709
PieceType captured = type_of(pos.piece_on(to_sq(bestMove)));
17101710

17111711
bonus1 = stat_bonus(depth + 1);
1712-
bonus2 = bestValue > beta + PawnValueMg ? bonus1 // larger bonus
1713-
: std::min(bonus1, stat_bonus(depth)); // smaller bonus
1712+
bonus2 = bestValue > beta + PawnValueMg ? bonus1 // larger bonus
1713+
: stat_bonus(depth); // smaller bonus
17141714

17151715
if (!pos.capture_or_promotion(bestMove))
17161716
{

0 commit comments

Comments
 (0)