summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
aedc6c6)
Add also the possibility to razor at ply one.
It is disable dby default but it seems stronger
against Stockfish itself. It is still not clear if
is stronger against other engines. By now leave
disabled.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Value(0x2A0), Value(0x340), Value(0x3A0) };
// Razoring
Value(0x2A0), Value(0x340), Value(0x3A0) };
// Razoring
+ const bool RazorAtDepthOne = false;
Depth RazorDepth = 4*OnePly;
Value RazorMargin = Value(0x300);
Depth RazorDepth = 4*OnePly;
Value RazorMargin = Value(0x300);
UseFutilityPruning = get_option_value_bool("Futility Pruning (Main Search)");
FutilityMarginQS = value_from_centipawns(get_option_value_int("Futility Margin (Quiescence Search)"));
UseFutilityPruning = get_option_value_bool("Futility Pruning (Main Search)");
FutilityMarginQS = value_from_centipawns(get_option_value_int("Futility Margin (Quiescence Search)"));
- int fmScale = get_option_value_int("Futility Margin (Main Serach)");
+ int fmScale = get_option_value_int("Futility Margin Scale Factor (Main Search)");
for (int i = 0; i < 6; i++)
FutilityMargins[i] = (FutilityMargins[i] * fmScale) / 100;
for (int i = 0; i < 6; i++)
FutilityMargins[i] = (FutilityMargins[i] * fmScale) / 100;
else if ( !value_is_mate(beta)
&& approximateEval < beta - RazorMargin
&& depth < RazorDepth
else if ( !value_is_mate(beta)
&& approximateEval < beta - RazorMargin
&& depth < RazorDepth
+ && (RazorAtDepthOne || 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);
&& ttMove == MOVE_NONE
&& !pos.has_pawn_on_7th(pos.side_to_move()))
{
Value v = qsearch(pos, ss, beta-1, beta, Depth(0), ply, threadID);
- if (v < beta - RazorMargin / 2 - int(depth - OnePly) * RazorMargin / 8)
+ if ( (v < beta - RazorMargin - RazorMargin / 4)
+ || (depth <= 2*OnePly && v < beta - RazorMargin)
+ || (depth <= OnePly && v < beta - RazorMargin / 2))
o.push_back(Option("Futility Pruning (Main Search)", true));
o.push_back(Option("Futility Pruning (Quiescence Search)", true));
o.push_back(Option("Futility Margin (Quiescence Search)", 50, 0, 1000));
o.push_back(Option("Futility Pruning (Main Search)", true));
o.push_back(Option("Futility Pruning (Quiescence Search)", true));
o.push_back(Option("Futility Margin (Quiescence Search)", 50, 0, 1000));
- o.push_back(Option("Futility Margin (Main Serach)", 100, 0, 1000));
+ o.push_back(Option("Futility Margin Scale Factor (Main Search)", 100, 0, 1000));
o.push_back(Option("Maximum Razoring Depth", 3, 0, 4));
o.push_back(Option("Razoring Margin", 300, 150, 600));
o.push_back(Option("LSN filtering", true));
o.push_back(Option("Maximum Razoring Depth", 3, 0, 4));
o.push_back(Option("Razoring Margin", 300, 150, 600));
o.push_back(Option("LSN filtering", true));