Skip to content
Home » News » revolution-4.30-070126

revolution-4.30-070126

revolution-4.30-070126

Motivation

  • Fix a bug where bestValue could decrease during quiescence search pruning, producing non‑monotonic values observed in practice.
  • Keeping bestValue monotonic prevents inconsistent alpha/beta updates and improves stability of transposition table entries.
  • The change mirrors the Stockfish patch (dev-20260106-c27c1747) to avoid bestValue going down in the SEE pruning branch.

Description

  • Update the SEE pruning branch in Search::Worker::qsearch (src/search.cpp) to use bestValue = std::max(bestValue, std::min(alpha, futilityBase)) instead of assigning std::min(alpha, futilityBase) directly.
  • This ensures the pruning path if (!pos.see_ge(move, alpha - futilityBase)) cannot lower the current bestValue.
  • The change is a single-line logic fix and does not alter other qsearch behavior.

Testing

  • No automated tests were executed as part of this rollout.

Leave a Reply

Your email address will not be published. Required fields are marked *