X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fmaterial.cpp;h=9a120661eb249306d1a52994a4485ea1b6bf60f9;hp=b359d494e6d3b93a3092a541620cc3d8811c282c;hb=bfd8704a7d477a3a4d3ded55e263e7fcea2715aa;hpb=0949f06a60579a4dd70ad5bf66c694988528596e diff --git a/src/material.cpp b/src/material.cpp index b359d494..9a120661 100644 --- a/src/material.cpp +++ b/src/material.cpp @@ -27,26 +27,23 @@ using namespace std; namespace { - // Values modified by Joona Kiiski - const Value MidgameLimit = Value(15581); - const Value EndgameLimit = Value(3998); - // Polynomial material balance parameters // pair pawn knight bishop rook queen - const int LinearCoefficients[6] = { 1852, -162, -1122, -183, 249, -52 }; + const int LinearCoefficients[6] = { 1852, -162, -1122, -183, 249, -154 }; - const int QuadraticCoefficientsSameColor[][PIECE_TYPE_NB] = { + const int QuadraticCoefficientsSameSide[][PIECE_TYPE_NB] = { + // OUR PIECES // pair pawn knight bishop rook queen { 0 }, // Bishop pair { 39, 2 }, // Pawn - { 35, 271, -4 }, // Knight + { 35, 271, -4 }, // knight OUR PIECES { 0, 105, 4, 0 }, // Bishop { -27, -2, 46, 100, -141 }, // Rook - { 58, 29, 83, 148, -163, 0 } // Queen + {-177, 25, 129, 142, -137, 0 } // Queen }; - const int QuadraticCoefficientsOppositeColor[][PIECE_TYPE_NB] = { + const int QuadraticCoefficientsOppositeSide[][PIECE_TYPE_NB] = { // THEIR PIECES // pair pawn knight bishop rook queen { 0 }, // Bishop pair @@ -54,7 +51,7 @@ namespace { { 10, 62, 0 }, // Knight OUR PIECES { 57, 64, 39, 0 }, // Bishop { 50, 40, 23, -22, 0 }, // Rook - { 106, 101, 3, 151, 171, 0 } // Queen + { 98, 105, -39, 141, 274, 0 } // Queen }; // Endgame evaluation and scaling functions are accessed directly and not through @@ -110,11 +107,12 @@ namespace { v = LinearCoefficients[pt1]; for (pt2 = NO_PIECE_TYPE; pt2 <= pt1; ++pt2) - v += QuadraticCoefficientsSameColor[pt1][pt2] * pieceCount[Us][pt2] - + QuadraticCoefficientsOppositeColor[pt1][pt2] * pieceCount[Them][pt2]; + v += QuadraticCoefficientsSameSide[pt1][pt2] * pieceCount[Us][pt2] + + QuadraticCoefficientsOppositeSide[pt1][pt2] * pieceCount[Them][pt2]; value += pc * v; } + return value; } @@ -174,7 +172,7 @@ Entry* probe(const Position& pos, Table& entries, Endgames& endgames) { return e; } - // Generic scaling functions that refer to more then one material + // Generic scaling functions that refer to more than one material // distribution. They should be probed after the specialized ones. // Note that these ones don't return after setting the function. if (is_KBPsKs(pos))