Skip to content

Commit 5ea1cbc

Browse files
Vizvezdenecvondele
authored andcommitted
Do more futility pruning for cutNodes that are not in TT
This is somewhat similar to IIR for cutnodes but instead of reducing depth for cutnodes that don't have tt move we reduce margin multiplier in futility pruning for cutnodes that are not in TT. Passed STC: https://tests.stockfishchess.org/tests/view/64b244b90cdec37b95734c5b LLR: 2.95 (-2.94,2.94) <0.00,2.00> Total: 75552 W: 19404 L: 19029 D: 37119 Ptnml(0-2): 233, 8806, 19378, 9071, 288 Passed LTC: https://tests.stockfishchess.org/tests/view/64b3ae5a0cdec37b95736516 LLR: 2.95 (-2.94,2.94) <0.50,2.50> Total: 104988 W: 27152 L: 26697 D: 51139 Ptnml(0-2): 41, 11259, 29446, 11700, 48 closes #4700 bench 1727577
1 parent 1444837 commit 5ea1cbc

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
@@ -63,8 +63,8 @@ namespace {
6363
enum NodeType { NonPV, PV, Root };
6464

6565
// Futility margin
66-
Value futility_margin(Depth d, bool improving) {
67-
return Value(140 * (d - improving));
66+
Value futility_margin(Depth d, bool noTtCutNode, bool improving) {
67+
return Value((140 - 40 * noTtCutNode) * (d - improving));
6868
}
6969

7070
// Reductions lookup table initialized at startup
@@ -767,7 +767,7 @@ namespace {
767767
// The depth condition is important for mate finding.
768768
if ( !ss->ttPv
769769
&& depth < 9
770-
&& eval - futility_margin(depth, improving) - (ss-1)->statScore / 306 >= beta
770+
&& eval - futility_margin(depth, cutNode && !ss->ttHit, improving) - (ss-1)->statScore / 306 >= beta
771771
&& eval >= beta
772772
&& eval < 24923) // larger than VALUE_KNOWN_WIN, but smaller than TB wins
773773
return eval;

0 commit comments

Comments
 (0)