mirror of
https://github.com/sockspls/badfish
synced 2025-05-01 01:03:09 +00:00
Retire asymmThreshold
Verified with 40K games at long TC does not regress: ELO: 1.74 +-1.9 (95%) LOS: 96.2% Total: 39624 W: 6402 L: 6203 D: 27019 bench: 7762310
This commit is contained in:
parent
59a9bc9351
commit
f7742669cb
3 changed files with 3 additions and 15 deletions
|
@ -1029,7 +1029,7 @@ int Position::see_sign(Move m) const {
|
||||||
return see(m);
|
return see(m);
|
||||||
}
|
}
|
||||||
|
|
||||||
int Position::see(Move m, int asymmThreshold) const {
|
int Position::see(Move m) const {
|
||||||
|
|
||||||
Square from, to;
|
Square from, to;
|
||||||
Bitboard occupied, attackers, stmAttackers;
|
Bitboard occupied, attackers, stmAttackers;
|
||||||
|
@ -1096,15 +1096,6 @@ int Position::see(Move m, int asymmThreshold) const {
|
||||||
|
|
||||||
} while (stmAttackers);
|
} while (stmAttackers);
|
||||||
|
|
||||||
// If we are doing asymmetric SEE evaluation and the same side does the first
|
|
||||||
// and the last capture, it loses a tempo and gain must be at least worth
|
|
||||||
// 'asymmThreshold', otherwise we replace the score with a very low value,
|
|
||||||
// before negamaxing.
|
|
||||||
if (asymmThreshold)
|
|
||||||
for (int i = 0; i < slIndex; i += 2)
|
|
||||||
if (swapList[i] < asymmThreshold)
|
|
||||||
swapList[i] = - QueenValueMg * 16;
|
|
||||||
|
|
||||||
// Having built the swap list, we negamax through it to find the best
|
// Having built the swap list, we negamax through it to find the best
|
||||||
// achievable score from the point of view of the side to move.
|
// achievable score from the point of view of the side to move.
|
||||||
while (--slIndex)
|
while (--slIndex)
|
||||||
|
|
|
@ -141,7 +141,7 @@ public:
|
||||||
void undo_null_move();
|
void undo_null_move();
|
||||||
|
|
||||||
// Static exchange evaluation
|
// Static exchange evaluation
|
||||||
int see(Move m, int asymmThreshold = 0) const;
|
int see(Move m) const;
|
||||||
int see_sign(Move m) const;
|
int see_sign(Move m) const;
|
||||||
|
|
||||||
// Accessing hash keys
|
// Accessing hash keys
|
||||||
|
|
|
@ -1220,10 +1220,7 @@ moves_loop: // When in check and at SpNode search starts from here
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prune moves with negative or equal SEE and also moves with positive
|
if (futilityBase < beta && pos.see(move) <= 0)
|
||||||
// SEE where capturing piece loses a tempo and SEE < beta - futilityBase.
|
|
||||||
if ( futilityBase < beta
|
|
||||||
&& pos.see(move, beta - futilityBase) <= 0)
|
|
||||||
{
|
{
|
||||||
bestValue = std::max(bestValue, futilityBase);
|
bestValue = std::max(bestValue, futilityBase);
|
||||||
continue;
|
continue;
|
||||||
|
|
Loading…
Add table
Reference in a new issue