Skip to content

Add guarded qsearch delta pruning - #16

Draft
KnightStackSys wants to merge 1 commit into
mainfrom
delta-pruning
Draft

KnightStackSys wants to merge 1 commit into
mainfrom
delta-pruning

Conversation

@KnightStackSys

Copy link
Copy Markdown
Owner

Adds Delta Pruning to quiescence search as an isolated Elo experiment, based on the current main (which already includes Mate Distance Pruning).

Delta pruning policy

  • qsearch only
  • non-PV qsearch nodes only
  • disabled while the side to move is in check
  • disabled in mate-score windows
  • only considers captures
  • promotions are never delta-pruned
  • terminal king captures are never delta-pruned
  • captures that give check are never delta-pruned
  • en-passant/captured-square fallback is handled through Position::capturedSquare

Formula

Uses the standard captured-material estimate:

staticEval + capturedPieceValue + DELTA_MARGIN <= alpha

When that condition holds, the capture is skipped because even the optimistic material swing plus the safety margin is not expected to raise alpha.

The initial safety margin is 200 centipawns, matching the commonly recommended starting range for classic delta pruning.

Scope

  • only src/search.cpp changes
  • no BIG_DELTA whole-node cutoff in this experiment
  • no changes to MDP, PVS, LMR, LMP, SEE pruning, TT policy, history, aspiration windows, move ordering, or evaluation

This branch should be SPRT tested directly against the current main.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant