From dbf71219abeb51d386b0f7294f1664f2906d2b82 Mon Sep 17 00:00:00 2001 From: Scott Gasch Date: Sun, 30 Aug 2026 18:51:38 -0700 Subject: Plumb iImprovement into LMR and futiltiy and parallel search. Fix a bug (iEval) in HelpSearch This commit changes the heuristics for: nullmove pruning, LMR, and EFP slightly. --- src/chess.h | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'src/chess.h') diff --git a/src/chess.h b/src/chess.h index 367100f..8a1185a 100755 --- a/src/chess.h +++ b/src/chess.h @@ -935,6 +935,8 @@ typedef struct _SPLIT_INFO INT iPositionExtend; // positional extension SCORE iAlpha; // original alpha at split SCORE iBeta; // beta at split + SCORE iEval; // static eval at split + SCORE iImprovement; // eval improvement since ply-2 (may be negative) CUMULATIVE_SEARCH_FLAGS sSearchFlags; // flags at split time // output from the split node @@ -2399,20 +2401,21 @@ InitLMRTable(void); INT GetLMRReduction(IN SCORE iRoughEval, - IN SCORE iAlpha, - IN SCORE iBeta, - IN SEARCHER_THREAD_CONTEXT *ctx, - IN ULONG uRemainingDepth, - IN ULONG uLegalMoves, - IN MOVE mv, - IN ULONG uMoveNum, - IN INT iExtend); + IN SCORE iAlpha, + IN SCORE iBeta, + IN SCORE iImprovement, + IN SEARCHER_THREAD_CONTEXT *ctx, + IN ULONG uRemainingDepth, + IN ULONG uLegalMoves, + IN MOVE mv, + IN ULONG uMoveNum, + IN INT iExtend); FLAG WeShouldTryNullmovePruning(IN SEARCHER_THREAD_CONTEXT *ctx, IN SCORE iAlpha, IN SCORE iBeta, - IN SCORE iRoughEval, + IN SCORE iEval, IN SCORE iImprovement, IN ULONG uNullDepth); @@ -2914,6 +2917,7 @@ SCORE StartParallelSearch(IN SEARCHER_THREAD_CONTEXT *ctx, IN OUT SCORE *piAlpha, IN SCORE iBeta, + IN SCORE iImprovement, IN OUT SCORE *piBestScore, IN OUT MOVE *pmvBest, IN ULONG uMoveNum, -- cgit v1.3