summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
41cc4eb)
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 https://github.com/official-stockfish/Stockfish/pull/1735
bench:
4738555
constexpr int QuadraticOurs[][PIECE_TYPE_NB] = {
// OUR PIECES
// pair pawn knight bishop rook queen
constexpr int QuadraticOurs[][PIECE_TYPE_NB] = {
// OUR PIECES
// pair pawn knight bishop rook queen
- {1443 }, // Bishop pair
- { 40, 0 }, // Pawn
- { 32, 255, -67 }, // Knight OUR PIECES
+ {1438 }, // Bishop pair
+ { 40, 38 }, // Pawn
+ { 32, 255, -62 }, // Knight OUR PIECES
{ 0, 104, 4, 0 }, // Bishop
{ 0, 104, 4, 0 }, // Bishop
- { -26, -2, 47, 105, -221 }, // Rook
- {-189, 24, 117, 133, -134, -10 } // Queen
+ { -26, -2, 47, 105, -208 }, // Rook
+ {-189, 24, 117, 133, -134, -6 } // Queen
};
constexpr int QuadraticTheirs[][PIECE_TYPE_NB] = {
};
constexpr int QuadraticTheirs[][PIECE_TYPE_NB] = {
{ 97, 100, -42, 137, 268, 0 } // Queen
};
{ 97, 100, -42, 137, 268, 0 } // Queen
};
- constexpr int PawnCount[] = { 0, 304, 144, -320, -560, -704, -672, -464, -320 };
-
// Endgame evaluation and scaling functions are accessed directly and not through
// the function maps because they correspond to more than one material hash key.
Endgame<KXK> EvaluateKXK[] = { Endgame<KXK>(WHITE), Endgame<KXK>(BLACK) };
// Endgame evaluation and scaling functions are accessed directly and not through
// the function maps because they correspond to more than one material hash key.
Endgame<KXK> EvaluateKXK[] = { Endgame<KXK>(WHITE), Endgame<KXK>(BLACK) };
bool is_KQKRPs(const Position& pos, Color us) {
return !pos.count<PAWN>(us)
&& pos.non_pawn_material(us) == QueenValueMg
bool is_KQKRPs(const Position& pos, Color us) {
return !pos.count<PAWN>(us)
&& pos.non_pawn_material(us) == QueenValueMg
- && pos.count<QUEEN>(us) == 1
+ && pos.count<QUEEN>(us) == 1
&& pos.count<ROOK>(~us) == 1
&& pos.count<PAWN>(~us) >= 1;
}
&& pos.count<ROOK>(~us) == 1
&& pos.count<PAWN>(~us) >= 1;
}
constexpr Color Them = (Us == WHITE ? BLACK : WHITE);
constexpr Color Them = (Us == WHITE ? BLACK : WHITE);
- int bonus = PawnCount[pieceCount[Us][PAWN]];
// Second-degree polynomial material imbalance, by Tord Romstad
for (int pt1 = NO_PIECE_TYPE; pt1 <= QUEEN; ++pt1)
// Second-degree polynomial material imbalance, by Tord Romstad
for (int pt1 = NO_PIECE_TYPE; pt1 <= QUEEN; ++pt1)
VALUE_MATE_IN_MAX_PLY = VALUE_MATE - 2 * MAX_PLY,
VALUE_MATED_IN_MAX_PLY = -VALUE_MATE + 2 * MAX_PLY,
VALUE_MATE_IN_MAX_PLY = VALUE_MATE - 2 * MAX_PLY,
VALUE_MATED_IN_MAX_PLY = -VALUE_MATE + 2 * MAX_PLY,
- PawnValueMg = 175, PawnValueEg = 240,
+ PawnValueMg = 142, PawnValueEg = 207,
KnightValueMg = 784, KnightValueEg = 868,
KnightValueMg = 784, KnightValueEg = 868,
- BishopValueMg = 831, BishopValueEg = 919,
+ BishopValueMg = 828, BishopValueEg = 916,
RookValueMg = 1286, RookValueEg = 1378,
RookValueMg = 1286, RookValueEg = 1378,
- QueenValueMg = 2527, QueenValueEg = 2697,
+ QueenValueMg = 2528, QueenValueEg = 2698,
MidgameLimit = 15258, EndgameLimit = 3915
};
MidgameLimit = 15258, EndgameLimit = 3915
};