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
const int NoPawnsSF[4] = { 6, 12, 32 };
// Polynomial material balance parameters
const int NoPawnsSF[4] = { 6, 12, 32 };
// Polynomial material balance parameters
- const Value RedundantMajor = Value(160);
// pair pawn knight bishop rook queen
// 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
const int QuadraticCoefficientsSameColor[][PIECE_TYPE_NB] = {
// pair pawn knight bishop rook queen
int pt1, pt2, pc, v;
int value = 0;
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)
{
// Second-degree polynomial material imbalance by Tord Romstad
for (pt1 = NO_PIECE_TYPE; pt1 <= QUEEN; ++pt1)
{