mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 16:53:09 +00:00
Qsearch pruning: follow-up
This is a follow-up of the recent qsearch pruning patch in
a260c9a8a2
We now use the same guard condition (testing that we already have a defense with
a score better score than a TB loss) for all pruning heuristics in qsearch().
This allows some pruning when in check, but in a controlled way to ensure that
no wrong mate scores appear.
Tested with Elo-gaining bounds:
STC:
LLR: 2.97 (-2.94,2.94) {-0.25,1.25}
Total: 22632 W: 2433 L: 2264 D: 17935
Ptnml(0-2): 98, 1744, 7487, 1865, 122
https://tests.stockfishchess.org/tests/view/5fa59405936c54e11ec99515
LTC:
LLR: 2.94 (-2.94,2.94) {0.25,1.25}
Total: 105432 W: 4965 L: 4648 D: 95819
Ptnml(0-2): 85, 4110, 44011, 4423, 87
https://tests.stockfishchess.org/tests/view/5fa5b609936c54e11ec9952a
closes https://github.com/official-stockfish/Stockfish/pull/3221
Bench: 3578092
This commit is contained in:
parent
32edb1d009
commit
392b529c3f
1 changed files with 2 additions and 2 deletions
|
@ -1525,7 +1525,7 @@ moves_loop: // When in check, search starts from here
|
|||
moveCount++;
|
||||
|
||||
// Futility pruning
|
||||
if ( !ss->inCheck
|
||||
if ( bestValue > VALUE_TB_LOSS_IN_MAX_PLY
|
||||
&& !givesCheck
|
||||
&& futilityBase > -VALUE_KNOWN_WIN
|
||||
&& !pos.advanced_pawn_push(move))
|
||||
|
@ -1552,7 +1552,7 @@ moves_loop: // When in check, search starts from here
|
|||
}
|
||||
|
||||
// Do not search moves with negative SEE values
|
||||
if ( !ss->inCheck
|
||||
if ( bestValue > VALUE_TB_LOSS_IN_MAX_PLY
|
||||
&& !(givesCheck && pos.is_discovery_check_on_king(~pos.side_to_move(), move))
|
||||
&& !pos.see_ge(move))
|
||||
continue;
|
||||
|
|
Loading…
Add table
Reference in a new issue