mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 08:43:09 +00:00
Change multi-cut pruning condition
Use comparison of eval with beta to predict potential cutNodes. This allows multi-cut pruning to also prune possibly mislabeled Pv and NonPv nodes. STC: LLR: 2.95 (-2.94,2.94) [0.50,4.50] Total: 54305 W: 12302 L: 11867 D: 30136 http://tests.stockfishchess.org/tests/view/5d048ba50ebc5925cf0a15e8 LTC: LLR: 2.95 (-2.94,2.94) [0.00,3.50] Total: 189512 W: 32620 L: 31904 D: 124988 http://tests.stockfishchess.org/tests/view/5d04bf740ebc5925cf0a17f0 Normally I would think such changes are risky, specially for PvNodes, but after trying a few other versions, it seems this version is more sound than I initially thought. Aside from this, a small funtional change is made to return singularBeta instead of beta to be more consistent with the fail-soft logic used in other parts of search. ============================= How to continue from there ? We could try to audit other parts of the search where the "cutNode" variable is used, and try to use dynamic info based on heuristic eval rather than on this variable, to check if the idea behind this patch could also be applied successfuly. Bench: 3503788
This commit is contained in:
parent
297c40291a
commit
8bf21a723e
1 changed files with 5 additions and 4 deletions
|
@ -913,10 +913,11 @@ moves_loop: // When in check, search starts from here
|
|||
// Multi-cut pruning
|
||||
// Our ttMove is assumed to fail high, and now we failed high also on a reduced
|
||||
// search without the ttMove. So we assume this expected Cut-node is not singular,
|
||||
// that is multiple moves fail high, and we can prune the whole subtree by returning
|
||||
// the hard beta bound.
|
||||
else if (cutNode && singularBeta > beta)
|
||||
return beta;
|
||||
// that multiple moves fail high, and we can prune the whole subtree by returning
|
||||
// a soft bound.
|
||||
else if ( eval >= beta
|
||||
&& singularBeta >= beta)
|
||||
return singularBeta;
|
||||
}
|
||||
|
||||
// Check extension (~2 Elo)
|
||||
|
|
Loading…
Add table
Reference in a new issue