Motivation
Stockfish, Reckless, and Akimbo use SEE pruning for quiet moves as well as captures. This removes quiet moves whose destination immediately loses material and complements LMP/history pruning.
Scope
- Add quiet main-search SEE pruning as a separate feature from capture SEE pruning.
- Use a depth-dependent quadratic threshold.
- Restrict initially to non-root, non-check, shallow nodes after at least one legal move.
- Add independent UCI parameters and a search-stat counter.
- Do not change capture pruning in this patch.
Suggested starting point
threshold = -quiet_margin * depth * depth, enabled through depth 6-8.
Acceptance criteria
- All correctness and mate tests pass.
- Fixed-depth diagnostics show plausible pruning counts.
- Run an isolated SPRT against the accepted capture-SEE baseline.
- Do not combine the SPRT with History Pruning or LMP changes.
Dependencies
Depends on threshold-aware see_ge(). Test after capture SEE pruning so interactions are measured incrementally.
Mandatory SPRT workflow
This issue is not complete after implementation and unit/regression testing. The implementing agent must test it through the repository's variant workflow:
- Build the unchanged parent and snapshot it with
./variants.sh create <issue>_base.
- Implement only this issue, rebuild, and snapshot it with
./variants.sh create <issue>_new.
- Run LTC SPRT with
TC=60+0.6 ./tournament.sh sprt <issue>_new <issue>_base.
- Use the existing defaults
H0=0, H1=+5, alpha=beta=0.05 unless the issue explicitly justifies otherwise.
tournament.sh must use /home/paschty/Downloads/2moves_v2.pgn, paired colors, and -repeat.
- Record final W/L/D, Elo estimate/error, LLR decision, TC, base commit, and test commit in the issue.
- A failed or inconclusive SPRT must not be presented as an accepted Elo gain.
Build requirement
Always perform a clean build of the engine and training binary with make clean && make both (not plain make) before testing or creating a variant snapshot.
Branch, PR, and SPRT documentation
Implement this issue on a dedicated branch and submit it through a pull request. Document the final SPRT result in the PR, including W/L/D, Elo estimate/error, LLR decision, TC, base commit, and test commit. If the SPRT fails, still create the PR to preserve the implementation and result, then close the PR without merging.
Motivation
Stockfish, Reckless, and Akimbo use SEE pruning for quiet moves as well as captures. This removes quiet moves whose destination immediately loses material and complements LMP/history pruning.
Scope
Suggested starting point
threshold = -quiet_margin * depth * depth, enabled through depth 6-8.Acceptance criteria
Dependencies
Depends on threshold-aware
see_ge(). Test after capture SEE pruning so interactions are measured incrementally.Mandatory SPRT workflow
This issue is not complete after implementation and unit/regression testing. The implementing agent must test it through the repository's variant workflow:
./variants.sh create <issue>_base../variants.sh create <issue>_new.TC=60+0.6 ./tournament.sh sprt <issue>_new <issue>_base.H0=0,H1=+5,alpha=beta=0.05unless the issue explicitly justifies otherwise.tournament.shmust use/home/paschty/Downloads/2moves_v2.pgn, paired colors, and-repeat.Build requirement
Always perform a clean build of the engine and training binary with
make clean && make both(not plainmake) before testing or creating a variant snapshot.Branch, PR, and SPRT documentation
Implement this issue on a dedicated branch and submit it through a pull request. Document the final SPRT result in the PR, including W/L/D, Elo estimate/error, LLR decision, TC, base commit, and test commit. If the SPRT fails, still create the PR to preserve the implementation and result, then close the PR without merging.