mirror of
https://github.com/official-stockfish/Stockfish.git
synced 2026-07-23 05:07:14 +00:00
Parameter Tweaks
This patch is a parameter tweak that passed both STC and LTC tests. STC: LLR: 2.94 (-2.94,2.94) <0.00,2.00> Total: 80944 W: 21557 L: 21189 D: 38198 Ptnml(0-2): 192, 8883, 22028, 9103, 266 https://tests.stockfishchess.org/tests/view/63b07fe2d421d8f75795a03b LTC: LLR: 2.95 (-2.94,2.94) <0.50,2.50> Total: 30440 W: 8296 L: 8007 D: 14137 Ptnml(0-2): 6, 2893, 9143, 3162, 16 https://tests.stockfishchess.org/tests/view/63b167d02ab1290f961644db closes https://github.com/official-stockfish/Stockfish/pull/4318 Bench: 4182223
This commit is contained in:
committed by
Joost VandeVondele
parent
a6fa683418
commit
fc5b59b88b
+6
-6
@@ -1056,7 +1056,7 @@ Value Eval::evaluate(const Position& pos, int* complexity) {
|
||||
// We use the much less accurate but faster Classical eval when the NNUE
|
||||
// option is set to false. Otherwise we use the NNUE eval unless the
|
||||
// PSQ advantage is decisive and several pieces remain. (~3 Elo)
|
||||
bool useClassical = !useNNUE || (pos.count<ALL_PIECES>() > 7 && abs(psq) > 1760);
|
||||
bool useClassical = !useNNUE || (pos.count<ALL_PIECES>() > 7 && abs(psq) > 1781);
|
||||
|
||||
if (useClassical)
|
||||
v = Evaluation<NO_TRACE>(pos).value();
|
||||
@@ -1071,8 +1071,8 @@ Value Eval::evaluate(const Position& pos, int* complexity) {
|
||||
Value nnue = NNUE::evaluate(pos, true, &nnueComplexity);
|
||||
|
||||
// Blend nnue complexity with (semi)classical complexity
|
||||
nnueComplexity = ( 412 * nnueComplexity
|
||||
+ 428 * abs(psq - nnue)
|
||||
nnueComplexity = ( 406 * nnueComplexity
|
||||
+ 424 * abs(psq - nnue)
|
||||
+ (optimism > 0 ? int(optimism) * int(psq - nnue) : 0)
|
||||
) / 1024;
|
||||
|
||||
@@ -1080,12 +1080,12 @@ Value Eval::evaluate(const Position& pos, int* complexity) {
|
||||
if (complexity)
|
||||
*complexity = nnueComplexity;
|
||||
|
||||
optimism = optimism * (278 + nnueComplexity) / 256;
|
||||
v = (nnue * scale + optimism * (scale - 755)) / 1024;
|
||||
optimism = optimism * (272 + nnueComplexity) / 256;
|
||||
v = (nnue * scale + optimism * (scale - 748)) / 1024;
|
||||
}
|
||||
|
||||
// Damp down the evaluation linearly when shuffling
|
||||
v = v * (197 - pos.rule50_count()) / 214;
|
||||
v = v * (200 - pos.rule50_count()) / 214;
|
||||
|
||||
// Guarantee evaluation does not hit the tablebase range
|
||||
v = std::clamp(v, VALUE_TB_LOSS_IN_MAX_PLY + 1, VALUE_TB_WIN_IN_MAX_PLY - 1);
|
||||
|
||||
Reference in New Issue
Block a user