diff options
| author | Scott Gasch <[email protected]> | 2026-10-05 09:01:25 -0700 |
|---|---|---|
| committer | Scott Gasch <[email protected]> | 2026-10-05 09:01:25 -0700 |
| commit | 64b5d3307a7a95975f7f8c0248f3f1febedd8617 (patch) | |
| tree | 993fffd62a68bec962261caf033a8f05c6370ea9 /src/chess.h | |
| parent | bbdf1bda8f410df6aa9be0a38e71b7db04982198 (diff) | |
Continue dynamic move-ordering/LMR session: SPRT-validated at 1770+ games
Gate match vs head (st4.0) shows LLR=+2.89 approaching the H1=+2.94
bound, candidate score 0.5324 (LOWER95=0.5092, ELO=+22.6+/-16.2),
candidate depth/ebf both improved (13.98 vs 13.61 avg depth, ebf 3.324
vs 3.464) with comparable nps -- consistent with real search-efficiency
gains rather than noise. match_play.py gets additional instrumentation
to report these stats; search.c/searchsup.c/generate.c/chess.h/eval.c
carry the underlying move-ordering/LMR changes from this session's
line of work.
Co-Authored-By: Claude Sonnet 5 <[email protected]>
Diffstat (limited to 'src/chess.h')
| -rwxr-xr-x | src/chess.h | 40 |
1 files changed, 24 insertions, 16 deletions
diff --git a/src/chess.h b/src/chess.h index f0060e3..420e313 100755 --- a/src/chess.h +++ b/src/chess.h @@ -3666,32 +3666,34 @@ extern SCORE g_iLMRQuietReduction[MAX_PLY_PER_SEARCH + 1][LMR_TABLE_MAX_MOVES + void InitLMRTable(void); +FLAG +CanWeReduceOrPruneMove(IN SEARCHER_THREAD_CONTEXT *ctx, + IN MOVE mv, + IN ULONG x, + IN ULONG uLegalMoves, + IN SCORE iExtend, + IN SCORE iAlpha, + IN FLAG fThreat, + IN FLAG fIsLeftoverMove); + INT -GetLMRReduction(IN SCORE iRoughEval, - IN SCORE iAlpha, - IN SCORE iBeta, - IN SCORE iImprovement, - IN SEARCHER_THREAD_CONTEXT *ctx, +GetLMRReduction(IN SEARCHER_THREAD_CONTEXT *ctx, IN ULONG uRemainingDepth, IN ULONG uLegalMoves, IN MOVE mv, - IN ULONG uMoveNum, IN INT iExtend, - IN BITBOARD bbMinorAttacksSnapshot[2], - IN BITBOARD bbRookAttacksSnapshot[2], + IN ULONG uFHAttempts, + IN ULONG uFHPctThousandths, + IN ULONG uPredictedFH, OUT ULONG *puExtraTier); FLAG -ShouldLatePrune(IN SCORE iRoughEval, - IN SCORE iAlpha, - IN SEARCHER_THREAD_CONTEXT *ctx, +ShouldLatePrune(IN SEARCHER_THREAD_CONTEXT *ctx, IN ULONG uRemainingDepth, IN ULONG uLegalMoves, - IN MOVE mv, - IN ULONG uMoveNum, - IN BITBOARD bbMinorAttacksSnapshot[2], - IN BITBOARD bbRookAttacksSnapshot[2], - OUT ULONG *puPredictedFH); + IN ULONG uFHAttempts, + IN ULONG uFHPctThousandths, + IN ULONG uPredictedFH); SCORE EstimateHangingMaterialCp(IN SEARCHER_THREAD_CONTEXT *ctx, @@ -3712,6 +3714,12 @@ MoveNumBucket(ULONG uMoveNum); ULONG DepthBucket(ULONG uCandDepth); +USHORT +_JointTablePredictedFHThousandths(IN ULONG uRawDepthBucket, + IN ULONG uRawDumbBucket, + IN ULONG uRawGapBucket, + IN ULONG uRawLateBucket); + FLAG WeShouldTryNullmovePruning(IN SEARCHER_THREAD_CONTEXT *ctx, IN SCORE iAlpha, |
