Skip to content

Add reverse futility pruning - #28

Draft
KnightStackSys wants to merge 4 commits into
mainfrom
reverse-futility-pruning
Draft

KnightStackSys wants to merge 4 commits into
mainfrom
reverse-futility-pruning

Conversation

@KnightStackSys

Copy link
Copy Markdown
Owner

Adds an isolated Reverse Futility Pruning (RFP) experiment on top of current main.

Behavior

  • non-PV nodes only
  • never at root (ply > 0)
  • disabled while the side to move is in check
  • disabled while the teammate is in check
  • disabled in mate-score windows
  • requires non-pawn material
  • limited to depth <= 4
  • uses a depth-scaled margin of 200 * depth
  • cuts off when staticEval - margin >= beta
  • never returns a synthetic mate score

NMP interaction

RFP and existing null-move pruning share the same static evaluation and partner-check result when both are eligible, avoiding duplicate evaluator/check work. Existing NMP thresholds and reduction formula are unchanged.

Scope

  • src/search.cpp only
  • no changes to LMP, SEE pruning, LMR, evaluation, move ordering, TT, or board representation

This is a search-strength experiment. SPRT directly against main before merge.

@KnightStackSys

Copy link
Copy Markdown
Owner Author

RFP + Post LMR continuation histories

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