mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-21 17:46:26 +08:00
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
This commit is contained in:
committed by
Marco Costalba
parent
e4d34e1815
commit
3ed86ed3f9
@@ -35,10 +35,9 @@ namespace {
|
|||||||
const int NoPawnsSF[4] = { 6, 12, 32 };
|
const int NoPawnsSF[4] = { 6, 12, 32 };
|
||||||
|
|
||||||
// Polynomial material balance parameters
|
// 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] = {
|
const int QuadraticCoefficientsSameColor[][PIECE_TYPE_NB] = {
|
||||||
// pair pawn knight bishop rook queen
|
// pair pawn knight bishop rook queen
|
||||||
@@ -105,10 +104,6 @@ namespace {
|
|||||||
int pt1, pt2, pc, v;
|
int pt1, pt2, pc, v;
|
||||||
int value = 0;
|
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
|
// Second-degree polynomial material imbalance by Tord Romstad
|
||||||
for (pt1 = NO_PIECE_TYPE; pt1 <= QUEEN; ++pt1)
|
for (pt1 = NO_PIECE_TYPE; pt1 <= QUEEN; ++pt1)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user