Skip to content

Commit 4d22d3e

Browse files
Rocky640snicolet
authored andcommitted
Remove pawncount array in imbalance
This is a natural follow up to last commit where values on the QuadraticOurs diagonal and some piece value deltas were changed. @Stefano80 tried to simplify the newly introduced pawncount array using QuadraticOurs[1][1] =52 and a -30 adjustment on pawn values His STC [-3,1] was green http://tests.stockfishchess.org/tests/view/5b707f5b0ebc5902bdba2745 but not his LTC[-3,1] http://tests.stockfishchess.org/tests/view/5b7095700ebc5902bdba2a49 So I started a 80000 30+0.3 SPSA on the QuadraticOurs diagonal and on the piece values using @Stefano80 start values. SPSA gave the new values QuadraticOurs[1][1] =38 and a -33 on pawn values (the other changes on QuadraticOurs were kept, but were not ignificant according to this test http://tests.stockfishchess.org/tests/view/5b710ccb0ebc5902bdba2f27) STC http://tests.stockfishchess.org/tests/view/5b710b220ebc5902bdba2f19 LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 50902 W: 11214 L: 11150 D: 28538 LTC http://tests.stockfishchess.org/tests/view/5b7124ef0ebc5902bdba3106 LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 34271 W: 5852 L: 5753 D: 22666 Closes #1735 bench: 4738555
1 parent 41cc4eb commit 4d22d3e

File tree

2 files changed

+10
-12
lines changed

2 files changed

+10
-12
lines changed

src/material.cpp

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,12 @@ namespace {
3434
constexpr int QuadraticOurs[][PIECE_TYPE_NB] = {
3535
// OUR PIECES
3636
// pair pawn knight bishop rook queen
37-
{1443 }, // Bishop pair
38-
{ 40, 0 }, // Pawn
39-
{ 32, 255, -67 }, // Knight OUR PIECES
37+
{1438 }, // Bishop pair
38+
{ 40, 38 }, // Pawn
39+
{ 32, 255, -62 }, // Knight OUR PIECES
4040
{ 0, 104, 4, 0 }, // Bishop
41-
{ -26, -2, 47, 105, -221 }, // Rook
42-
{-189, 24, 117, 133, -134, -10 } // Queen
41+
{ -26, -2, 47, 105, -208 }, // Rook
42+
{-189, 24, 117, 133, -134, -6 } // Queen
4343
};
4444

4545
constexpr int QuadraticTheirs[][PIECE_TYPE_NB] = {
@@ -53,8 +53,6 @@ namespace {
5353
{ 97, 100, -42, 137, 268, 0 } // Queen
5454
};
5555

56-
constexpr int PawnCount[] = { 0, 304, 144, -320, -560, -704, -672, -464, -320 };
57-
5856
// Endgame evaluation and scaling functions are accessed directly and not through
5957
// the function maps because they correspond to more than one material hash key.
6058
Endgame<KXK> EvaluateKXK[] = { Endgame<KXK>(WHITE), Endgame<KXK>(BLACK) };
@@ -79,7 +77,7 @@ namespace {
7977
bool is_KQKRPs(const Position& pos, Color us) {
8078
return !pos.count<PAWN>(us)
8179
&& pos.non_pawn_material(us) == QueenValueMg
82-
&& pos.count<QUEEN>(us) == 1
80+
&& pos.count<QUEEN>(us) == 1
8381
&& pos.count<ROOK>(~us) == 1
8482
&& pos.count<PAWN>(~us) >= 1;
8583
}
@@ -91,7 +89,7 @@ namespace {
9189

9290
constexpr Color Them = (Us == WHITE ? BLACK : WHITE);
9391

94-
int bonus = PawnCount[pieceCount[Us][PAWN]];
92+
int bonus = 0;
9593

9694
// Second-degree polynomial material imbalance, by Tord Romstad
9795
for (int pt1 = NO_PIECE_TYPE; pt1 <= QUEEN; ++pt1)

src/types.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -182,11 +182,11 @@ enum Value : int {
182182
VALUE_MATE_IN_MAX_PLY = VALUE_MATE - 2 * MAX_PLY,
183183
VALUE_MATED_IN_MAX_PLY = -VALUE_MATE + 2 * MAX_PLY,
184184

185-
PawnValueMg = 175, PawnValueEg = 240,
185+
PawnValueMg = 142, PawnValueEg = 207,
186186
KnightValueMg = 784, KnightValueEg = 868,
187-
BishopValueMg = 831, BishopValueEg = 919,
187+
BishopValueMg = 828, BishopValueEg = 916,
188188
RookValueMg = 1286, RookValueEg = 1378,
189-
QueenValueMg = 2527, QueenValueEg = 2697,
189+
QueenValueMg = 2528, QueenValueEg = 2698,
190190

191191
MidgameLimit = 15258, EndgameLimit = 3915
192192
};

0 commit comments

Comments
 (0)