Skip to content

Commit

Permalink
Alternative formula for dynamic contempt
Browse files Browse the repository at this point in the history
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 official-stockfish#1558

Bench: 5549801
  • Loading branch information
ceebo authored and snicolet committed Apr 23, 2018
1 parent a64d524 commit aef7076
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/search.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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));
Expand Down

0 comments on commit aef7076

Please sign in to comment.