Skip to content

Commit 9f6dd16

Browse files
Naphthalinborg323
authored andcommitted
Change centipawn fallback to account for sharper WDL with high WDLCalibrationElo (#2075)
* half eval fallback formula With WDL sharpening at 3600 Elo (most commonly used value e.g. in TCEC both for playing and for kibitzing), the old centipawn calibration is off by about a factor 2 compared to Stockfish and generally takes over too quickly around +2.00 while it should only take over around +4.00 since up to there, `WDL_mu` behaves well enough. With lower calibration Elo (e.g. for analysis of human games / openings), the takeover point is significantly later due to lower Q from broader WDL, so this change doesn't affect anything. Doesn't yet fix the jumpy eval behavior in draws with very low W or L but substantial L resp. W remaining. * changed factor to +128 convention initial oversight: in a +1 position we want to display +128, that shouldn't change
1 parent 964cdec commit 9f6dd16

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/mcts/search.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ void Search::SendUciInfo() REQUIRES(nodes_mutex_) REQUIRES(counters_mutex_) {
338338
// Reports the WDL mu value whenever it is reasonable, and defaults to
339339
// centipawn otherwise.
340340
const float centipawn_fallback_threshold = 0.996f;
341-
float centipawn_score = 90 * tan(1.5637541897 * wl);
341+
float centipawn_score = 45 * tan(1.56728071628 * wl);
342342
uci_info.score =
343343
network_->GetCapabilities().has_wdl() && mu_uci != 0.0f &&
344344
std::abs(wl) + d < centipawn_fallback_threshold &&

0 commit comments

Comments
 (0)