mirror of
https://github.com/sockspls/badfish
synced 2025-07-11 19:49:14 +00:00
Simplification: do razoring only for depth 1
The razoring heuristic is quite a drastic pruning technique, using a depth 0 search at internal nodes of the search tree to estimate the true value of depth n nodes. This patch limits this razoring to the case of internal nodes of depth 1. Author: Jarrod Torriero (DU-jdto) STC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 8043 W: 1865 L: 1716 D: 4462 http://tests.stockfishchess.org/tests/view/5a90a9290ebc590297cc86c1 LTC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 32890 W: 5577 L: 5476 D: 21837 http://tests.stockfishchess.org/tests/view/5a90c8510ebc590297cc86d5 Opportunities opened by this patch: it would be interesting to know if it brings Elo to re-introduce razoring or soft razoring at depth >= 2, maybe using a larger margin to compensate for the increased pruning effect. Bench: 5227124
This commit is contained in:
parent
9246e4a6f9
commit
5d57bb467a
1 changed files with 2 additions and 10 deletions
|
@ -667,17 +667,9 @@ namespace {
|
|||
|
||||
// Step 7. Razoring (skipped when in check)
|
||||
if ( !PvNode
|
||||
&& depth < 3 * ONE_PLY
|
||||
&& depth <= ONE_PLY
|
||||
&& eval + RazorMargin <= alpha)
|
||||
{
|
||||
if (depth <= ONE_PLY)
|
||||
return qsearch<NonPV, false>(pos, ss, alpha, alpha+1);
|
||||
|
||||
Value ralpha = alpha - RazorMargin;
|
||||
Value v = qsearch<NonPV, false>(pos, ss, ralpha, ralpha+1);
|
||||
if (v <= ralpha)
|
||||
return v;
|
||||
}
|
||||
return qsearch<NonPV, false>(pos, ss, alpha, alpha+1);
|
||||
|
||||
// Step 8. Futility pruning: child node (skipped when in check)
|
||||
if ( !rootNode
|
||||
|
|
Loading…
Add table
Reference in a new issue