summaryrefslogtreecommitdiff
path: root/src/search.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/search.c')
-rwxr-xr-xsrc/search.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/search.c b/src/search.c
index 1b83891..25318ed 100755
--- a/src/search.c
+++ b/src/search.c
@@ -1249,7 +1249,22 @@ QSearchFromCheckNoStandPat(IN SEARCHER_THREAD_CONTEXT *ctx,
if ((pf->uQsearchDepth < pf->uQsearchCheckDepth) &&
(pf->uQsearchDepth < g_uIterateDepth / 4) &&
(pf->fCouldStandPat[pos->uToMove] == FALSE) &&
- (CountKingSafetyDefects(pos, pos->uToMove) > 2))
+ //
+ // Threshold doubled 2026-09-06 (board_representation/
+ // EVAL.md section 9): was ">2", tuned against the old
+ // CHECK_VECTOR-based CountKingSafetyDefects. The bitboard
+ // rewrite (real blocker-aware slider attacks, queen 2x
+ // weighting) runs systematically hotter for the same
+ // underlying danger, so the un-rescaled old threshold was
+ // firing far more liberally than intended -- observed
+ // directly as a runaway check-extension cascade (85x+
+ // branching for a single ply) on a real position. Not yet
+ // independently recalibrated against real data the way
+ // iKingSwingP90 was; doubling is a stopgap matching the
+ // rough inflation this counter picked up, pending a real
+ // measurement.
+ //
+ (CountKingSafetyDefects(pos, pos->uToMove) > 4))
{
if ((uMoveCount == 1) ||
(NUM_KING_MOVES(ctx, ctx->uPly) == 0) ||