From: Chris Caino Date: Thu, 7 Nov 2013 18:28:57 +0000 (+0000) Subject: Remove RedundantMajor X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=3ed86ed3f95f712587bea62f4a7fc474812db458 Remove RedundantMajor But compensate by reducing rook and queen value by 53 = (160 / 3) Material imbalances are affected as follows: Red. Major Rook Queen Total QRR +160 -2*53 -53 +1 QR +160 -53 -53 +54 RR +160 -2*53 0 +54 R 0 -53 0 -53 Q 0 0 -53 -53 so that the imbalance changes by at most 54 + 53 = 107 units. This corresponds to appromximately 3.5cp in the final evaluation. Verified with fixed number 40000 games at both short and long TC it does not regress. Short TC 15+0.05 ELO: 1.93 +-2.1 (95%) LOS: 96.6% Total: 40000 W: 7520 L: 7298 D: 25182 Long TC 60+0.05 ELO: -0.33 +-1.9 (95%) LOS: 36.5% Total: 39663 W: 6067 L: 6105 D: 27491 bench: 6703846 --- diff --git a/src/material.cpp b/src/material.cpp index b9b4bb63..068d88e7 100644 --- a/src/material.cpp +++ b/src/material.cpp @@ -35,10 +35,9 @@ namespace { const int NoPawnsSF[4] = { 6, 12, 32 }; // Polynomial material balance parameters - const Value RedundantMajor = Value(160); // pair pawn knight bishop rook queen - const int LinearCoefficients[6] = { 1852, -162, -1122, -183, 302, 1 }; + const int LinearCoefficients[6] = { 1852, -162, -1122, -183, 249, -52 }; const int QuadraticCoefficientsSameColor[][PIECE_TYPE_NB] = { // pair pawn knight bishop rook queen @@ -105,10 +104,6 @@ namespace { int pt1, pt2, pc, v; int value = 0; - // Penalty for major piece redundancy - if (pieceCount[Us][ROOK] + pieceCount[Us][QUEEN] > 1) - value -= RedundantMajor; - // Second-degree polynomial material imbalance by Tord Romstad for (pt1 = NO_PIECE_TYPE; pt1 <= QUEEN; ++pt1) {