Skip to content

Commit

Permalink
Remove RedundantMajor
Browse files Browse the repository at this point in the history
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
  • Loading branch information
ceebo authored and mcostalba committed Nov 10, 2013
1 parent e4d34e1 commit 3ed86ed
Showing 1 changed file with 1 addition and 6 deletions.
7 changes: 1 addition & 6 deletions src/material.cpp
Expand Up @@ -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
Expand Down Expand Up @@ -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)
{
Expand Down

0 comments on commit 3ed86ed

Please sign in to comment.