mirror of
https://github.com/sockspls/badfish
synced 2025-07-11 19:49:14 +00:00
Use evaluation margins also in main search
For now keep FutilityMarginsMatrix[] unchanged, in future we are going to reduce to compensate for extra margin. At this moment it is enough we don't have regressions. After 9694 games on russian cluster Mod - Orig 1608 - 1578 - 6508 ELO +1 (+- 2.8) Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
d9dc9dbd65
commit
b177e6dd91
1 changed files with 3 additions and 2 deletions
|
@ -982,7 +982,7 @@ namespace {
|
||||||
Move ttMove, move, excludedMove, threatMove;
|
Move ttMove, move, excludedMove, threatMove;
|
||||||
Depth ext, newDepth;
|
Depth ext, newDepth;
|
||||||
Value bestValue, value, oldAlpha;
|
Value bestValue, value, oldAlpha;
|
||||||
Value refinedValue, nullValue, futilityValueScaled; // Non-PV specific
|
Value refinedValue, nullValue, futilityBase, futilityValueScaled; // Non-PV specific
|
||||||
bool isCheck, singleEvasion, singularExtensionNode, moveIsCheck, captureOrPromotion, dangerous;
|
bool isCheck, singleEvasion, singularExtensionNode, moveIsCheck, captureOrPromotion, dangerous;
|
||||||
bool mateThreat = false;
|
bool mateThreat = false;
|
||||||
int moveCount = 0;
|
int moveCount = 0;
|
||||||
|
@ -1182,6 +1182,7 @@ namespace {
|
||||||
CheckInfo ci(pos);
|
CheckInfo ci(pos);
|
||||||
ss->bestMove = MOVE_NONE;
|
ss->bestMove = MOVE_NONE;
|
||||||
singleEvasion = isCheck && mp.number_of_evasions() == 1;
|
singleEvasion = isCheck && mp.number_of_evasions() == 1;
|
||||||
|
futilityBase = ss->eval + margins[pos.side_to_move()];
|
||||||
singularExtensionNode = depth >= SingularExtensionDepth[PvNode]
|
singularExtensionNode = depth >= SingularExtensionDepth[PvNode]
|
||||||
&& tte
|
&& tte
|
||||||
&& tte->move()
|
&& tte->move()
|
||||||
|
@ -1253,7 +1254,7 @@ namespace {
|
||||||
// We illogically ignore reduction condition depth >= 3*ONE_PLY for predicted depth,
|
// We illogically ignore reduction condition depth >= 3*ONE_PLY for predicted depth,
|
||||||
// but fixing this made program slightly weaker.
|
// but fixing this made program slightly weaker.
|
||||||
Depth predictedDepth = newDepth - reduction<NonPV>(depth, moveCount);
|
Depth predictedDepth = newDepth - reduction<NonPV>(depth, moveCount);
|
||||||
futilityValueScaled = ss->eval + futility_margin(predictedDepth, moveCount)
|
futilityValueScaled = futilityBase + futility_margin(predictedDepth, moveCount)
|
||||||
+ H.gain(pos.piece_on(move_from(move)), move_to(move));
|
+ H.gain(pos.piece_on(move_from(move)), move_to(move));
|
||||||
|
|
||||||
if (futilityValueScaled < beta)
|
if (futilityValueScaled < beta)
|
||||||
|
|
Loading…
Add table
Reference in a new issue