Skip to content

Commit 27428a6

Browse files
Vizvezdenecvondele
authored andcommitted
Allow some nodes to spawn even deeper lmr searches
This includes nodes that were PvNode on a previous ply and only for non cutNodes and movecounts < 8. Passed STC: https://tests.stockfishchess.org/tests/view/680cdf2e3629b02d74b15576 LLR: 2.94 (-2.94,2.94) <0.00,2.00> Total: 123552 W: 31979 L: 31539 D: 60034 Ptnml(0-2): 322, 14449, 31803, 14871, 331 Passed LTC: https://tests.stockfishchess.org/tests/view/680cf09a3629b02d74b15599 LLR: 2.94 (-2.94,2.94) <0.50,2.50> Total: 114306 W: 29310 L: 28837 D: 56159 Ptnml(0-2): 51, 12247, 32090, 12708, 57 closes #6022 bench: 1585741
1 parent 4b58079 commit 27428a6

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

src/search.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -708,6 +708,7 @@ Value Search::Worker::search(
708708
(ss + 2)->cutoffCnt = 0;
709709
Square prevSq = ((ss - 1)->currentMove).is_ok() ? ((ss - 1)->currentMove).to_sq() : SQ_NONE;
710710
ss->statScore = 0;
711+
ss->isPvNode = PvNode;
711712

712713
// Step 4. Transposition table lookup
713714
excludedMove = ss->excludedMove;
@@ -1281,8 +1282,9 @@ Value Search::Worker::search(
12811282
// std::clamp has been replaced by a more robust implementation.
12821283

12831284

1284-
Depth d = std::max(
1285-
1, std::min(newDepth - r / 1024, newDepth + !allNode + (PvNode && !bestMove)));
1285+
Depth d = std::max(1, std::min(newDepth - r / 1024,
1286+
newDepth + !allNode + (PvNode && !bestMove)))
1287+
+ (!cutNode && (ss - 1)->isPvNode && moveCount < 8);
12861288

12871289
ss->reduction = newDepth - d;
12881290

src/search.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ struct Stack {
7676
int cutoffCnt;
7777
int reduction;
7878
bool isTTMove;
79+
bool isPvNode;
7980
};
8081

8182

0 commit comments

Comments
 (0)