Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Tune all PSQT values. Bench: 46785278
  • Loading branch information
Aryan1508 committed May 24, 2021
commit 99ca1903d5e4efb71b201b313ca28c6edcbb603a
82 changes: 42 additions & 40 deletions Bit-Genie/src/eval.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,62 +27,62 @@ static constexpr int semiopen_file_scores[2] = {S(9, 15), S(1, 5)};

static constexpr int pawn_psqt[]
{
S( 4, 0 ), S( 0, 0 ), S( 0, 0 ), S( 0, 0 ), S( 0, 0 ), S( 0, 0 ), S( 0, 0 ), S( 0, 0 ),
S( 7, -1 ), S( -9, -11 ), S( -36, -15 ), S( -64, -61 ), S( -34, -18 ), S( -68, -54 ), S( -41, -27 ), S( -7, 4 ),
S( 8, 11 ), S( -2, 2 ), S( -20, -13 ), S( -53, -53 ), S( -41, -38 ), S( 3, 0 ), S( -9, 5 ), S( -4, 2 ),
S( 8, 9 ), S( 6, 8 ), S( -5, -5 ), S( -3, -5 ), S( 5, 0 ), S( 3, 3 ), S( 9, 8 ), S( 0, 5 ),
S( 4, 6 ), S( 3, 7 ), S( -4, -3 ), S( 4, 3 ), S( 4, 0 ), S( -5, -2 ), S( -2, 6 ), S( -11, 6 ),
S( -5, -5 ), S( -4, 1 ), S( -3, -1 ), S( -11, -1 ), S( -5, 3 ), S( -5, 2 ), S( 4, 3 ), S( -9, -6 ),
S( -4, 0 ), S( -8, 1 ), S( -13, -10 ), S( -23, -9 ), S( -16, 1 ), S( 7, 5 ), S( 6, 3 ), S( -14, -14 ),
S( -1, 0 ), S( 0, 0 ), S( 0, 0 ), S( 0, -1 ), S( 0, 0 ), S( 0, 0 ), S( 0, 0 ), S( 0, 0 ),
S( 1, 0 ), S( 0, 0 ), S( 0, 0 ), S( 0, 1 ), S( -1, 0 ), S( 0, -1 ), S( 1, 0 ), S( 0, 0 ),
S( -7, 12 ), S( -8, 15 ), S( -51, -16 ), S( -70, -28 ), S( -42, -12 ), S( -45, -8 ), S( -42, 11 ), S( -30, 38 ),
S( 8, 52 ), S( 8, 32 ), S( -15, 10 ), S( -50, -20 ), S( -37, -51 ), S( 2, -39 ), S( 2, 13 ), S( -4, 28 ),
S( 3, 60 ), S( 10, 22 ), S( -8, 25 ), S( -2, -55 ), S( 1, -27 ), S( -3, 4 ), S( 12, 30 ), S( -11, 73 ),
S( -10, 78 ), S( -1, 54 ), S( -11, 7 ), S( -1, -51 ), S( -2, -4 ), S( -7, -9 ), S( -1, 63 ), S( -23, 77 ),
S( -14, -8 ), S( -3, 35 ), S( -14, 2 ), S( -12, 10 ), S( -5, 4 ), S( -12, 39 ), S( 13, -42 ), S( -17, -21 ),
S( -15, 27 ), S( 2, -24 ), S( -22, 54 ), S( -17, 17 ), S( -14, 52 ), S( 7, -45 ), S( 18, -59 ), S( -18, -52 ),
S( 10, 5 ), S( 2, 0 ), S( 0, 0 ), S( 0, 0 ), S( 1, 1 ), S( -1, 0 ), S( 0, 0 ), S( 0, -1 ),
};

static constexpr int knight_psqt[]
{
S(-60,-67), S(-10,-10), S(-17, -6), S( -2, -7), S( 2, -1), S(-12, -5), S(-16,-16), S(-58,-47),
S(-19,-19), S(-14, -4), S( 24, -9), S( 33, 19), S( 24, 20), S( 20, -4), S( -4,-10), S(-21,-15),
S(-19,-15), S( 11, 0), S( 28, 26), S( 42, 21), S( 63, 19), S( 53, 33), S( 34, 4), S( 3, -8),
S( 0, -6), S( 8, 9), S( 26, 31), S( 23, 41), S( 11, 47), S( 32, 29), S( 7, 21), S( 7, 3),
S( -2, -2), S( 11, 6), S( 11, 35), S( 16, 40), S( 17, 35), S( 16, 35), S( 32, 8), S( 15, 10),
S(-31,-31), S(-13,-16), S(-13, 2), S( 2, 20), S( 4, 17), S( -8, -2), S( -6,-12), S(-17,-24),
S(-33,-19), S(-36,-12), S(-25,-27), S( -9, -6), S(-13, -6), S(-23,-27), S(-31, -6), S( -8, -8),
S(-53,-57), S(-20,-41), S(-24,-27), S(-19, -7), S(-11, -8), S(-15,-21), S(-21,-23), S(-50,-43)
S( -94, -82 ), S( -37, -36 ), S( -5, -7 ), S( -21, -19 ), S( -6, -2 ), S( -46, -45 ), S( -46, -47 ), S( -101, -101 ),
S( -22, -10 ), S( -16, 7 ), S( 9, -1 ), S( 5, 10 ), S( 4, -4 ), S( -4, -5 ), S( -2, -4 ), S( -40, -25 ),
S( -26, -20 ), S( 0, 0 ), S( 8, 0 ), S( 18, 17 ), S( 23, 22 ), S( 33, 23 ), S( 12, 11 ), S( -2, 0 ),
S( -5, 1 ), S( 3, 4 ), S( 10, 10 ), S( 35, 32 ), S( 25, 23 ), S( 29, 21 ), S( 10, 9 ), S( 15, 11 ),
S( -12, -6 ), S( -8, -6 ), S( 5, 5 ), S( 12, 18 ), S( 14, 12 ), S( 13, 12 ), S( 14, 14 ), S( 8, 3 ),
S( -22, -17 ), S( -15, -14 ), S( -9, -12 ), S( 1, 1 ), S( 8, 6 ), S( -4, -4 ), S( 1, 0 ), S( -22, -21 ),
S( -11, -12 ), S( -17, -9 ), S( -26, -14 ), S( -1, -13 ), S( -7, -7 ), S( -7, -21 ), S( -17, -10 ), S( -2, -16 ),
S( -34, -34 ), S( -18, -14 ), S( -31, -23 ), S( -23, -15 ), S( -11, -8 ), S( -22, -20 ), S( -27, -28 ), S( -18, -11 ),
};

static constexpr int bishop_psqt[]
{
S( -6, 4), S( 1, 0), S( -8, 8), S( -6, 7), S( -4, 7), S(-17, -1), S( -5, 5), S( -2, 0),
S(-31, 0), S( 0, 14), S( -4, 11), S( -1, 9), S( 3, 9), S( 2, 10), S( -7, 10), S(-19, 1),
S( -1, 8), S( 15, 20), S( 32, 17), S( 22, 10), S( 32, 15), S( 35, 28), S( 26, 22), S( 8, 9),
S(-16, 4), S( 22, 16), S( 12, 11), S( 45, 14), S( 30, 23), S( 18, 13), S( 17, 23), S(-12, 11),
S(-10, -2), S( 1, 2), S( 5, 19), S( 20, 18), S( 21, 16), S( 2, 16), S( 2, 6), S( 2, -3),
S( -3, -4), S( 8, 7), S( 5, 12), S( 6, 15), S( 6, 15), S( 10, 8), S( 14, -2), S( 13, 4),
S( 13, -9), S( 9,-19), S( 0, -8), S( -9, 1), S( -7, 3), S( -5,-15), S( 14,-15), S( 12,-20),
S( 17, -5), S( 5, 2), S( 2, -4), S( -8, -8), S(-10, -3), S( 2, 1), S( -1, 1), S( 15, -7)
S( -20, -10 ), S( -13, -12 ), S( -30, -17 ), S( -14, -2 ), S( -17, -14 ), S( -12, -7 ), S( -4, -1 ), S( -19, -14 ),
S( -17, -15 ), S( -1, 1 ), S( -6, -2 ), S( -25, -21 ), S( -1, -3 ), S( 11, 4 ), S( 4, 0 ), S( -30, -19 ),
S( -14, 3 ), S( 4, 3 ), S( 7, 2 ), S( 9, 2 ), S( 6, 0 ), S( 19, 17 ), S( 12, 5 ), S( 1, 5 ),
S( -1, 2 ), S( -2, 0 ), S( 9, 8 ), S( 21, 22 ), S( 24, 22 ), S( 16, 15 ), S( 3, -7 ), S( 4, 1 ),
S( -3, 1 ), S( 1, 1 ), S( 5, 5 ), S( 18, 16 ), S( 12, 10 ), S( 2, 9 ), S( -6, -8 ), S( 10, 5 ),
S( 0, 3 ), S( 8, 8 ), S( 8, 9 ), S( 5, 7 ), S( 6, 5 ), S( 10, 8 ), S( 2, 2 ), S( 0, 0 ),
S( 10, 5 ), S( 8, -3 ), S( 5, 5 ), S( -2, -1 ), S( 6, 3 ), S( 2, -2 ), S( 24, 20 ), S( 2, -1 ),
S( -11, -11 ), S( 6, 3 ), S( 7, 7 ), S( -4, 0 ), S( -1, 0 ), S( -9, 4 ), S( -14, -7 ), S( -2, 4 ),
};

static constexpr int rook_psqt[]
{
S( 29, 40), S( 23, 46), S( 22, 46), S( 19, 43), S( 33, 40), S( 18, 50), S( 23, 47), S( 20, 51),
S( 7, 36), S( -1, 41), S( 25, 37), S( 36, 40), S( 31, 41), S( 33, 28), S( 27, 28), S( 29, 27),
S( 2, 32), S( 40, 20), S( 29, 30), S( 49, 20), S( 58, 16), S( 50, 27), S( 48, 15), S( 32, 21),
S( -3, 25), S( 12, 23), S( 20, 26), S( 42, 18), S( 34, 18), S( 32, 15), S( 29, 15), S( 20, 19),
S(-24, 8), S(-15, 19), S(-20, 20), S(-14, 12), S(-17, 9), S(-15, 9), S( 6, 10), S( -5, -2),
S(-34,-17), S(-19, -4), S(-31, -8), S(-23,-15), S(-25,-16), S(-26,-15), S( 3,-16), S(-22,-21),
S(-56,-21), S(-26,-22), S(-20,-16), S(-14,-20), S(-13,-23), S(-16,-34), S(-15,-28), S(-44,-22),
S(-23,-11), S(-17,-11), S(-17, -8), S( -8,-19), S(-12,-22), S( -9,-14), S( -5,-20), S(-14,-27)
S( 15, 15 ), S( 12, 10 ), S( 11, 8 ), S( 13, 11 ), S( 14, 13 ), S( 8, 10 ), S( 15, 15 ), S( 11, 8 ),
S( 17, 17 ), S( 16, 18 ), S( 22, 22 ), S( 23, 23 ), S( 11, 10 ), S( 18, 18 ), S( 11, 16 ), S( 18, 16 ),
S( 5, 6 ), S( 10, 9 ), S( 6, 5 ), S( 5, 7 ), S( 1, 3 ), S( 7, 1 ), S( 10, 4 ), S( 0, -1 ),
S( 3, 0 ), S( -3, -3 ), S( 4, 4 ), S( 0, 3 ), S( 1, -3 ), S( 15, 18 ), S( -3, 0 ), S( -1, -2 ),
S( -11, -8 ), S( -7, 0 ), S( -2, 5 ), S( -9, -4 ), S( -7, -6 ), S( -8, -5 ), S( -4, -1 ), S( -17, -16 ),
S( -18, -5 ), S( -12, 11 ), S( -16, -5 ), S( -19, -18 ), S( -14, -6 ), S( -11, -1 ), S( -11, -1 ), S( -29, -19 ),
S( -18, -12 ), S( -8, -5 ), S( -12, -7 ), S( -8, -3 ), S( -12, -7 ), S( -3, -3 ), S( -12, -11 ), S( -39, 0 ),
S( -5, -6 ), S( 1, 0 ), S( 3, 2 ), S( 6, 4 ), S( 5, 2 ), S( 14, 13 ), S( -26, -10 ), S( -22, -9 ),
};

static constexpr int queen_psqt[]
{
S( -2, 5), S( 10, 12), S( 24, 15), S( 21, 33), S( 27, 35), S( 27, 27), S( 10, 10), S( 23, 21),
S(-14, -4), S(-64, 23), S(-11, 14), S( -5, 23), S( 5, 50), S( 35, 33), S( -9, 10), S( 6, 13),
S(-15, -2), S( -3,-11), S( -7, 6), S( 8, 14), S( 35, 32), S( 57, 50), S( 64, 45), S( 42, 32),
S( -9,-13), S( -5, 12), S( -8, -5), S( -7, 28), S( 6, 36), S( 12, 43), S( 35, 42), S( 19, 30),
S( -9, -7), S( -3, -1), S(-11, 1), S(-18, 30), S(-12, 22), S( -7, 26), S( 5, 18), S( 12, 22),
S(-17,-19), S( 1,-19), S( -9, -4), S(-12,-19), S( -8,-22), S(-13, -2), S( 5,-22), S( -6, -2),
S(-18,-19), S( -8,-30), S( 4,-64), S( 0,-34), S( 3,-43), S( -8,-63), S(-13,-47), S(-20,-24),
S(-21,-27), S(-23,-41), S(-16,-52), S( -8,-59), S(-13,-50), S(-27,-48), S(-22,-27), S(-24,-21)
S( -1, 3 ), S( 37, 38 ), S( 48, 49 ), S( 41, 42 ), S( 66, 66 ), S( 49, 48 ), S( 43, 41 ), S( 58, 57 ),
S( -15, -15 ), S( -16, -9 ), S( 28, 20 ), S( 46, 43 ), S( 49, 47 ), S( 70, 70 ), S( 57, 57 ), S( 66, 58 ),
S( -7, 3 ), S( 6, 22 ), S( 16, 18 ), S( 38, 34 ), S( 59, 57 ), S( 73, 73 ), S( 72, 72 ), S( 72, 70 ),
S( 1, 6 ), S( -3, 11 ), S( 6, 11 ), S( 7, 22 ), S( 25, 25 ), S( 37, 38 ), S( 50, 50 ), S( 26, 27 ),
S( 0, 13 ), S( 1, 13 ), S( 13, 17 ), S( 5, 14 ), S( 16, 23 ), S( 25, 25 ), S( 35, 32 ), S( 27, 26 ),
S( -2, 2 ), S( 12, 13 ), S( 12, 21 ), S( 15, 20 ), S( 12, 18 ), S( 15, 21 ), S( 28, 29 ), S( 21, 23 ),
S( -9, -8 ), S( -1, 1 ), S( 24, 21 ), S( 18, 21 ), S( 27, 27 ), S( 14, 13 ), S( -1, 3 ), S( 5, 5 ),
S( 12, 16 ), S( 3, 5 ), S( 16, 20 ), S( 30, 24 ), S( 13, 15 ), S( -9, -9 ), S( -17, -10 ), S( -35, -33 ),
};

static constexpr int mobility_scores[4][28]
Expand All @@ -104,6 +104,8 @@ static constexpr int mobility_scores[4][28]
S( 26, 69), S( 26, 69), S( 24, 73), S( 29, 72), S( 34, 74), S( 51, 63), S( 60, 69), S( 79, 66),
S(106, 85), S(112, 84), S(104,111), S(108,131) }
};


template <PieceType type, typename Callable, typename... Args>
static constexpr int mobility_score(Callable F, Args... args)
{
Expand Down