mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 08:43:09 +00:00
Allowing singular extension in mate positions
Drop useless condition abs(ttValue) < VALUE_KNOWN_WIN And extend singular extension search to cases when ttValue stores a mate score. This improves mate finding and does not introduce any regression. Yery tested this patch against current master on the 6500+ Chest mate suite with 200K fixed nodes: shortest mates found: master: 1206 patch:1205 any mate found: master: 1903 patch: 2003 with 1 sec time: shortest mates found: master: 2667 patch: 2628 any mate found: master: 3585 patch: 3646 Verified for no regression: STC LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 25655 W: 4578 L: 4465 D: 16612 LTC LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 66247 W: 8618 L: 8557 D: 49072 bench: 6335042
This commit is contained in:
parent
8662bdfa12
commit
351844061e
1 changed files with 2 additions and 3 deletions
|
@ -845,8 +845,7 @@ moves_loop: // When in check search starts from here
|
||||||
singularExtensionNode = !rootNode
|
singularExtensionNode = !rootNode
|
||||||
&& depth >= 8 * ONE_PLY
|
&& depth >= 8 * ONE_PLY
|
||||||
&& ttMove != MOVE_NONE
|
&& ttMove != MOVE_NONE
|
||||||
/* && ttValue != VALUE_NONE Already implicit in the next condition */
|
&& ttValue != VALUE_NONE
|
||||||
&& abs(ttValue) < VALUE_KNOWN_WIN
|
|
||||||
&& !excludedMove // Recursive singular search is not allowed
|
&& !excludedMove // Recursive singular search is not allowed
|
||||||
&& (tte->bound() & BOUND_LOWER)
|
&& (tte->bound() & BOUND_LOWER)
|
||||||
&& tte->depth() >= depth - 3 * ONE_PLY;
|
&& tte->depth() >= depth - 3 * ONE_PLY;
|
||||||
|
@ -904,7 +903,7 @@ moves_loop: // When in check search starts from here
|
||||||
&& !extension
|
&& !extension
|
||||||
&& pos.legal(move))
|
&& pos.legal(move))
|
||||||
{
|
{
|
||||||
Value rBeta = ttValue - 2 * depth / ONE_PLY;
|
Value rBeta = std::max(ttValue - 2 * depth / ONE_PLY, -VALUE_MATE);
|
||||||
Depth d = (depth / (2 * ONE_PLY)) * ONE_PLY;
|
Depth d = (depth / (2 * ONE_PLY)) * ONE_PLY;
|
||||||
ss->excludedMove = move;
|
ss->excludedMove = move;
|
||||||
ss->skipEarlyPruning = true;
|
ss->skipEarlyPruning = true;
|
||||||
|
|
Loading…
Add table
Reference in a new issue