mirror of
https://github.com/sockspls/badfish
synced 2025-04-29 16:23:09 +00:00
Lower SingularExtensionDepth to 7 plies for non-pv
To compensate for the extra work skip singular searches deemed to fail because excluded node failed high already in the past. After 1200 games at 1+0 Mod vs Orig +387 =1274 -339 (+8 ELO) Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
935fc09fd4
commit
9645e8e4e7
1 changed files with 12 additions and 1 deletions
|
@ -198,7 +198,7 @@ namespace {
|
||||||
Depth PassedPawnExtension[2], PawnEndgameExtension[2], MateThreatExtension[2];
|
Depth PassedPawnExtension[2], PawnEndgameExtension[2], MateThreatExtension[2];
|
||||||
|
|
||||||
// Minimum depth for use of singular extension
|
// Minimum depth for use of singular extension
|
||||||
const Depth SingularExtensionDepth[2] = { 8 * OnePly /* non-PV */, 6 * OnePly /* PV */};
|
const Depth SingularExtensionDepth[2] = { 7 * OnePly /* non-PV */, 6 * OnePly /* PV */};
|
||||||
|
|
||||||
// If the TT move is at least SingularExtensionMargin better then the
|
// If the TT move is at least SingularExtensionMargin better then the
|
||||||
// remaining ones we will extend it.
|
// remaining ones we will extend it.
|
||||||
|
@ -1213,6 +1213,17 @@ namespace {
|
||||||
&& is_lower_bound(tte->type())
|
&& is_lower_bound(tte->type())
|
||||||
&& tte->depth() >= depth - 3 * OnePly;
|
&& tte->depth() >= depth - 3 * OnePly;
|
||||||
|
|
||||||
|
// Avoid to do an expensive singular extension search on nodes where
|
||||||
|
// such search had already failed in the past.
|
||||||
|
if ( !PvNode
|
||||||
|
&& singularExtensionNode
|
||||||
|
&& depth < SingularExtensionDepth[PvNode] + 5 * OnePly)
|
||||||
|
{
|
||||||
|
TTEntry* ttx = TT.retrieve(pos.get_exclusion_key());
|
||||||
|
if (ttx && is_lower_bound(ttx->type()))
|
||||||
|
singularExtensionNode = false;
|
||||||
|
}
|
||||||
|
|
||||||
// Step 10. Loop through moves
|
// Step 10. Loop through moves
|
||||||
// Loop through all legal moves until no moves remain or a beta cutoff occurs
|
// Loop through all legal moves until no moves remain or a beta cutoff occurs
|
||||||
while ( bestValue < beta
|
while ( bestValue < beta
|
||||||
|
|
Loading…
Add table
Reference in a new issue