mirror of
https://github.com/sockspls/badfish
synced 2025-04-29 16:23:09 +00:00
Retire NullMoveMargin
A code semplification that could even be a slight increase, anyhow is a reducing pruning patch, so it is good even at equal strenght. After 6342 games Mod - Orig: 1040 - 974 - 4328 ELO +3 (+- 3.5) Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
debc815352
commit
9ab0e1bb13
1 changed files with 1 additions and 10 deletions
|
@ -188,12 +188,6 @@ namespace {
|
||||||
// Dynamic razoring margin based on depth
|
// Dynamic razoring margin based on depth
|
||||||
inline Value razor_margin(Depth d) { return Value(0x200 + 0x10 * int(d)); }
|
inline Value razor_margin(Depth d) { return Value(0x200 + 0x10 * int(d)); }
|
||||||
|
|
||||||
// Step 8. Null move search with verification search
|
|
||||||
|
|
||||||
// Null move margin. A null move search will not be done if the static
|
|
||||||
// evaluation of the position is more than NullMoveMargin below beta.
|
|
||||||
const Value NullMoveMargin = Value(0x200);
|
|
||||||
|
|
||||||
// Maximum depth for use of dynamic threat detection when null move fails low
|
// Maximum depth for use of dynamic threat detection when null move fails low
|
||||||
const Depth ThreatDepth = 5 * ONE_PLY;
|
const Depth ThreatDepth = 5 * ONE_PLY;
|
||||||
|
|
||||||
|
@ -1094,14 +1088,11 @@ namespace {
|
||||||
return refinedValue - futility_margin(depth, 0);
|
return refinedValue - futility_margin(depth, 0);
|
||||||
|
|
||||||
// Step 8. Null move search with verification search (is omitted in PV nodes)
|
// Step 8. Null move search with verification search (is omitted in PV nodes)
|
||||||
// When we jump directly to qsearch() we do a null move only if static value is
|
|
||||||
// at least beta. Otherwise we do a null move if static value is not more than
|
|
||||||
// NullMoveMargin under beta.
|
|
||||||
if ( !PvNode
|
if ( !PvNode
|
||||||
&& !ss->skipNullMove
|
&& !ss->skipNullMove
|
||||||
&& depth > ONE_PLY
|
&& depth > ONE_PLY
|
||||||
&& !isCheck
|
&& !isCheck
|
||||||
&& refinedValue >= beta - (depth >= 4 * ONE_PLY ? NullMoveMargin : 0)
|
&& refinedValue >= beta
|
||||||
&& !value_is_mate(beta)
|
&& !value_is_mate(beta)
|
||||||
&& pos.non_pawn_material(pos.side_to_move()))
|
&& pos.non_pawn_material(pos.side_to_move()))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue