summaryrefslogtreecommitdiff
path: root/src/chess.h
diff options
context:
space:
mode:
authorScott Gasch <[email protected]>2026-10-05 09:01:25 -0700
committerScott Gasch <[email protected]>2026-10-05 09:01:25 -0700
commit64b5d3307a7a95975f7f8c0248f3f1febedd8617 (patch)
tree993fffd62a68bec962261caf033a8f05c6370ea9 /src/chess.h
parentbbdf1bda8f410df6aa9be0a38e71b7db04982198 (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-xsrc/chess.h40
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,