Skip to content

Commit ff4c222

Browse files
BM123499snicolet
authored andcommitted
Tuning Search
This patch tunes constant in search.cpp STC: LLR: 2.94 (-2.94,2.94) <-0.50,2.50> Total: 30648 W: 2580 L: 2410 D: 25658 Ptnml(0-2): 80, 1969, 11093, 2065, 117 https://tests.stockfishchess.org/tests/view/60a71d3cce8ea25a3ef03fae LTC: LLR: 2.95 (-2.94,2.94) <0.50,3.50> Total: 52896 W: 1776 L: 1617 D: 49503 Ptnml(0-2): 13, 1462, 23347, 1605, 21 https://tests.stockfishchess.org/tests/view/60a794ddce8ea25a3ef0400a closes official-stockfish/Stockfish#3491 Bench: 4004731
1 parent 49c79aa commit ff4c222

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

src/search.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -66,15 +66,15 @@ namespace {
6666

6767
// Futility margin
6868
Value futility_margin(Depth d, bool improving) {
69-
return Value(231 * (d - improving));
69+
return Value(214 * (d - improving));
7070
}
7171

7272
// Reductions lookup table, initialized at startup
7373
int Reductions[MAX_MOVES]; // [depth or moveNumber]
7474

7575
Depth reduction(bool i, Depth d, int mn) {
7676
int r = Reductions[d] * Reductions[mn];
77-
return (r + 503) / 1024 + (!i && r > 915);
77+
return (r + 534) / 1024 + (!i && r > 904);
7878
}
7979

8080
constexpr int futility_move_count(bool improving, Depth depth) {
@@ -83,7 +83,7 @@ namespace {
8383

8484
// History and stats update bonus, based on depth
8585
int stat_bonus(Depth d) {
86-
return d > 14 ? 66 : 6 * d * d + 231 * d - 206;
86+
return d > 14 ? 73 : 6 * d * d + 229 * d - 215;
8787
}
8888

8989
// Add a small random component to draw evaluations to avoid 3-fold blindness
@@ -798,18 +798,18 @@ namespace {
798798
// Step 8. Null move search with verification search (~40 Elo)
799799
if ( !PvNode
800800
&& (ss-1)->currentMove != MOVE_NULL
801-
&& (ss-1)->statScore < 24185
801+
&& (ss-1)->statScore < 23767
802802
&& eval >= beta
803803
&& eval >= ss->staticEval
804-
&& ss->staticEval >= beta - 22 * depth - 34 * improving + 162 * ss->ttPv + 159
804+
&& ss->staticEval >= beta - 20 * depth - 22 * improving + 168 * ss->ttPv + 159
805805
&& !excludedMove
806806
&& pos.non_pawn_material(us)
807807
&& (ss->ply >= thisThread->nmpMinPly || us != thisThread->nmpColor))
808808
{
809809
assert(eval - beta >= 0);
810810

811811
// Null move dynamic reduction based on depth and value
812-
Depth R = (1062 + 68 * depth) / 256 + std::min(int(eval - beta) / 190, 3);
812+
Depth R = (1090 + 81 * depth) / 256 + std::min(int(eval - beta) / 205, 3);
813813

814814
ss->currentMove = MOVE_NULL;
815815
ss->continuationHistory = &thisThread->continuationHistory[0][0][NO_PIECE][0];
@@ -922,7 +922,7 @@ namespace {
922922
ttCapture = ttMove && pos.capture_or_promotion(ttMove);
923923

924924
// Step 11. A small Probcut idea, when we are in check
925-
probCutBeta = beta + 400;
925+
probCutBeta = beta + 409;
926926
if ( ss->inCheck
927927
&& !PvNode
928928
&& depth >= 4
@@ -1073,7 +1073,7 @@ namespace {
10731073
{
10741074
extension = 1;
10751075
singularQuietLMR = !ttCapture;
1076-
if (!PvNode && value < singularBeta - 140)
1076+
if (!PvNode && value < singularBeta - 93)
10771077
extension = 2;
10781078
}
10791079

@@ -1165,11 +1165,11 @@ namespace {
11651165
+ (*contHist[0])[movedPiece][to_sq(move)]
11661166
+ (*contHist[1])[movedPiece][to_sq(move)]
11671167
+ (*contHist[3])[movedPiece][to_sq(move)]
1168-
- 4791;
1168+
- 4923;
11691169

11701170
// Decrease/increase reduction for moves with a good/bad history (~30 Elo)
11711171
if (!ss->inCheck)
1172-
r -= ss->statScore / 14790;
1172+
r -= ss->statScore / 14721;
11731173
}
11741174

11751175
// In general we want to cap the LMR depth search at newDepth. But if

0 commit comments

Comments
 (0)