mirror of
https://github.com/sockspls/badfish
synced 2025-07-12 03:59:15 +00:00
Try razoring only for depth > OnePly
Because razoring verification after qsearch() cuts more then 40% of candidates, do not waste a costly qsearch for nodes at depth one that will be probably discarded anyway by futility. Also tight razoring conditions to keep dangerous false negatives below 0,05%. Still not clear if it is enough. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
2feb9d5100
commit
8cd5cb930d
1 changed files with 5 additions and 2 deletions
|
@ -1239,10 +1239,13 @@ namespace {
|
||||||
// Null move search not allowed, try razoring
|
// Null move search not allowed, try razoring
|
||||||
else if ( !value_is_mate(beta)
|
else if ( !value_is_mate(beta)
|
||||||
&& approximateEval < beta - RazorMargin
|
&& approximateEval < beta - RazorMargin
|
||||||
&& depth < RazorDepth)
|
&& depth < RazorDepth
|
||||||
|
&& depth > OnePly
|
||||||
|
&& ttMove == MOVE_NONE
|
||||||
|
&& !pos.has_pawn_on_7th(pos.side_to_move()))
|
||||||
{
|
{
|
||||||
Value v = qsearch(pos, ss, beta-1, beta, Depth(0), ply, threadID);
|
Value v = qsearch(pos, ss, beta-1, beta, Depth(0), ply, threadID);
|
||||||
if (v < beta - RazorMargin / 2)
|
if (v < beta - RazorMargin / 2 - int(depth - OnePly) * RazorMargin / 8)
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue