1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-30 16:53:09 +00:00

Dynamic draw value

Try to avoid repetition draws at early midgame,
this should give an edge against weaker opponents
and reduce draw rate.

Tested for regressions with SPRT[-3, 1] and
passed both short TC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 68498 W: 12928 L: 12891 D: 42679

And long TC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 40212 W: 6386 L: 6295 D: 27531

bench: 7990513
This commit is contained in:
Joerg Oster 2014-02-26 19:32:19 +01:00 committed by Marco Costalba
parent 0949f06a60
commit b917cd275e

View file

@ -206,10 +206,10 @@ void Search::think() {
}
}
if (Options["Contempt Factor"] && !Options["UCI_AnalyseMode"])
if (!Options["UCI_AnalyseMode"])
{
int cf = Options["Contempt Factor"] * PawnValueMg / 100; // From centipawns
cf = cf * Material::game_phase(RootPos) / PHASE_MIDGAME; // Scale down with phase
// Dynamic draw value: try to avoid repetition draws at early midgame
int cf = std::max(70 - RootPos.game_ply(), 0);
DrawValue[ RootColor] = VALUE_DRAW - Value(cf);
DrawValue[~RootColor] = VALUE_DRAW + Value(cf);
}