1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-05-02 01:29:36 +00:00

Alternative formula for dynamic contempt

Replace the formula involving arctan with something having similar
behaviour that can be implemented using integer-only operations.

STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 34781 W: 7189 L: 7093 D: 20499
http://tests.stockfishchess.org/tests/view/5ad7c95f0ebc595700526e76

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 39743 W: 5950 L: 5857 D: 27936
http://tests.stockfishchess.org/tests/view/5ad886ee0ebc595700526e9b

Closes https://github.com/official-stockfish/Stockfish/pull/1558

Bench: 5549801
This commit is contained in:
ceebo 2018-04-23 09:13:07 +02:00 committed by Stéphane Nicolet
parent a64d524d02
commit aef7076c34

View file

@ -379,7 +379,7 @@ void Thread::search() {
beta = std::min(previousScore + delta, VALUE_INFINITE);
// Adjust contempt based on root move's previousScore (dynamic contempt)
int dct = ct + int(std::round(48 * atan(float(previousScore) / 128)));
int dct = ct + 88 * previousScore / (abs(previousScore) + 200);
contempt = (us == WHITE ? make_score(dct, dct / 2)
: -make_score(dct, dct / 2));