mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 08:43:09 +00:00
Fix zugzwang pruning issues
By adding pos.non_pawn_material(pos.side_to_move()) as a precondition in step 13, which is already in use in Futility Pruning (child node) and Null Move Pruning for similar reasons. Pawn endgames, especially those with only 1 or 2 pawns, are simply heavily influenced by zugzwang situations. Since we are using a bitbase for KPK endgames, I see no reason to accept buggy evals as shown in #760 Patch looks neutral at STC LLR: 2.32 (-2.94,2.94) [-3.00,1.00] Total: 79580 W: 10789 L: 10780 D: 58011 and LTC LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 27071 W: 3502 L: 3390 D: 20179 Bench: 6259071 Closes #1051 Closes #760
This commit is contained in:
parent
35b77b120e
commit
72a501c6fe
1 changed files with 1 additions and 0 deletions
|
@ -898,6 +898,7 @@ moves_loop: // When in check search starts from here
|
|||
|
||||
// Step 13. Pruning at shallow depth
|
||||
if ( !rootNode
|
||||
&& pos.non_pawn_material(pos.side_to_move())
|
||||
&& bestValue > VALUE_MATED_IN_MAX_PLY)
|
||||
{
|
||||
if ( !captureOrPromotion
|
||||
|
|
Loading…
Add table
Reference in a new issue