Skip to content

Add Internal Iterative Reduction - #4

Draft
KnightStackSys wants to merge 14 commits into
mainfrom
internal-iterative-reduction
Draft

KnightStackSys wants to merge 14 commits into
mainfrom
internal-iterative-reduction

Conversation

@KnightStackSys

@KnightStackSys KnightStackSys commented Oct 9, 2026 •

Copy link
Copy Markdown
Owner

Adds a conservative Internal Iterative Reduction (IIR) baseline to IronPhoenix search for isolated Elo testing.

IIR policy

  • applies only at PV nodes
  • skips the root (ply > 0)
  • minimum depth 5
  • disabled while in check
  • only triggers when the transposition table provides no move
  • reduces depth by exactly one ply

Why conservative

IIR is primarily useful when a deep PV node lacks a TT move to guide move ordering. IronPhoenix already applies LMR to later quiet moves, so this first IIR version keeps the reduction to one ply and avoids stacking broader reductions onto non-PV nodes.

Scope

  • only src/search.cpp changes
  • existing SEE pruning, LMR, history, PVS, aspiration windows, TT cutoff behavior, comments, and move ordering remain intact

Please SPRT this branch against main by itself before combining it with Null Move Pruning or other search changes.

@KnightStackSys KnightStackSys self-assigned this Oct 9, 2026
@KnightStackSys KnightStackSys added the enhancement New feature or request label Oct 9, 2026
Preserve the PV-only depth-6 IIR implementation while incorporating the current main search changes.
Reconcile the original IIR and cut/all-node propagation with current search stack, RFP/NMP, bishop evaluation, and benchmarks. Add four UCI-tunable controls with original PV-only defaults, regression tests, and docs.
Update all 21 non-IIR search defaults without modifying EvalParameters or PV-only IIR settings. Derive UCI option default values directly from SearchParameters to prevent stale literals. Count applied IIR reductions at the end of regular and MultiPV searches; extend regression tests.
Remove PV/cut/all and king-check exclusions from IIR. Retain tunable minimum depth/reduction and clamp to preserve positive depth. Remove obsolete cut/all IIR UCI options and propagation, update tests and docs.
Drop the reduction counter and end-of-search info strings for normal and MultiPV while retaining IIR behavior, tuned parameters, and regression coverage.

This branch has not been deployed

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

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant