diff --git a/src/material.cpp b/src/material.cpp index d98eb125..ef7bb143 100644 --- a/src/material.cpp +++ b/src/material.cpp @@ -34,12 +34,12 @@ namespace { 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 - { -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] = { @@ -53,8 +53,6 @@ namespace { { 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 EvaluateKXK[] = { Endgame(WHITE), Endgame(BLACK) }; @@ -79,7 +77,7 @@ namespace { bool is_KQKRPs(const Position& pos, Color us) { return !pos.count(us) && pos.non_pawn_material(us) == QueenValueMg - && pos.count(us) == 1 + && pos.count(us) == 1 && pos.count(~us) == 1 && pos.count(~us) >= 1; } @@ -91,7 +89,7 @@ namespace { constexpr Color Them = (Us == WHITE ? BLACK : WHITE); - int bonus = PawnCount[pieceCount[Us][PAWN]]; + int bonus = 0; // Second-degree polynomial material imbalance, by Tord Romstad for (int pt1 = NO_PIECE_TYPE; pt1 <= QUEEN; ++pt1) diff --git a/src/types.h b/src/types.h index fdf7ba93..c9c988ba 100644 --- a/src/types.h +++ b/src/types.h @@ -182,11 +182,11 @@ enum Value : int { 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, - BishopValueMg = 831, BishopValueEg = 919, + BishopValueMg = 828, BishopValueEg = 916, RookValueMg = 1286, RookValueEg = 1378, - QueenValueMg = 2527, QueenValueEg = 2697, + QueenValueMg = 2528, QueenValueEg = 2698, MidgameLimit = 15258, EndgameLimit = 3915 };