Skip to content

Search: add quiet History Pruning - #24

Open
sebhofmann wants to merge 1 commit into
mainfrom
issue-6-history-pruning
Open

Search: add quiet History Pruning#24
sebhofmann wants to merge 1 commit into
mainfrom
issue-6-history-pruning

Conversation

@sebhofmann

@sebhofmann sebhofmann commented Aug 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • prune extremely low-scoring quiet moves using the exact combined butterfly + continuation-history score from the staged move picker
  • restrict pruning to non-root, non-check nodes after at least one legal move, at depth <= HistoryPruning_MaxDepth
  • add UCI tuning controls (Use_HistoryPruning, HistoryPruning_MaxDepth, HistoryPruning_Margin) and a dedicated search-stat counter

Closes #6.

Correctness and instrumentation

  • make clean && make both: pass
  • ./perft_test.sh --fast: 29 passed, 0 failed, 4 slow cases skipped
  • ./see_test.sh: 92 passed, 0 failed
  • make test-nnue: pass
  • ./symmetry_test.sh: existing failure (new: 10 pass / 4 warn / 6 fail; unchanged baseline: 11 pass / 2 warn / 7 fail)
  • stats build, startpos depth 12: History 1,574; LMP 112,513; LMR 12,623; Futility 7,833 — triggers without dominating quiet pruning

LTC SPRT (manually aborted; no accepted Elo gain)

  • TC: 60+0.6
  • openings: /home/paschty/Downloads/2moves_v2.pgn
  • paired colors: yes (-games 2 -repeat)
  • H0/H1: 0 / +5 Elo
  • alpha/beta: 0.05 / 0.05
  • base commit: 056488eef9b51b70cb4b826ed028b280afd870fc
  • test commit: e0846042675e40cd88bc0e83bf52a84fafdd343f

Final retained run (2026-08-12)

  • last complete checkpoint (1,170 games): 101 / 133 / 936
  • Elo estimate/error: -9.5 +/- 8.9 Elo
  • LLR: -2.92, bounds [-2.94, +2.94]
  • actual stop (1,172 games): 101 / 133 / 938
  • decision: manually aborted / inconclusive; the lower SPRT boundary was not crossed
  • interpretation: strong negative signal and no evidence of an Elo gain; this must not be presented as an accepted gain

Earlier aborted run (2026-08-11)

  • last complete checkpoint (500 games): 55 / 48 / 397
  • Elo estimate/error: +4.9 +/- 13.8 Elo
  • LLR: 0.236, bounds [-2.94, +2.94]
  • actual stop (505 games): 56 / 48 / 401
  • decision: manually aborted / inconclusive

The PR remains open to preserve the implementation and test evidence. It should not be merged as an accepted Elo improvement based on these results.

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.

Search: add quiet History Pruning

1 participant