Variable tuning
authorFauziAkram <fauzi.dabat@hotmail.com>
Sun, 19 Feb 2017 21:56:17 +0000 (13:56 -0800)
committerJoona Kiiski <joona@zoox.com>
Sun, 19 Feb 2017 22:00:44 +0000 (14:00 -0800)
A tuning patch which cover the following changes:

increase the importance of queen and rook mobility in endgame and
decrease it in mg, since if we use the heavy pieces too early in the game
we will just make opponent develop their pieces by threatening ours.

King Psqt:
1)King will be encouraged more to stay in the first ranks in the MG
2)and will be encouraged more to go to the middle of the board/last ranks in the EG

Bishop scale better in EG
Logical changes on various psqt tables
1/6 of the changes of the last tuning session on mobility tables

STC: LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 227879 W: 41240 L: 40313 D: 146326
LTC : LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 167047 W: 21871 L: 21291 D: 123885

Bench: 5695960

Closes #1008

src/evaluate.cpp
src/psqt.cpp
src/types.h

index 6cd33bd503de049c65da7984259f754fce94721f..62620a77bad7f0ef0b4add0e073c099c6a478249 100644 (file)
@@ -119,19 +119,19 @@ namespace {
   // indexed by piece type and number of attacked squares in the mobility area.
   const Score MobilityBonus[][32] = {
     {}, {},
-    { S(-75,-76), S(-56,-54), S( -9,-26), S( -2,-10), S(  6,  5), S( 15, 11), // Knights
-      S( 22, 26), S( 30, 28), S( 36, 29) },
-    { S(-48,-58), S(-21,-19), S( 16, -2), S( 26, 12), S( 37, 22), S( 51, 42), // Bishops
-      S( 54, 54), S( 63, 58), S( 65, 63), S( 71, 70), S( 79, 74), S( 81, 86),
-      S( 92, 90), S( 97, 94) },
-    { S(-56,-78), S(-25,-18), S(-11, 26), S( -5, 55), S( -4, 70), S( -1, 81), // Rooks
-      S(  8,109), S( 14,120), S( 21,128), S( 23,143), S( 31,154), S( 32,160),
-      S( 43,165), S( 49,168), S( 59,169) },
-    { S(-40,-35), S(-25,-12), S(  2,  7), S(  4, 19), S( 14, 37), S( 24, 55), // Queens
-      S( 25, 62), S( 40, 76), S( 43, 79), S( 47, 87), S( 54, 94), S( 56,102),
-      S( 60,111), S( 70,116), S( 72,118), S( 73,122), S( 75,128), S( 77,130),
-      S( 85,133), S( 94,136), S( 99,140), S(108,157), S(112,158), S(113,161),
-      S(118,174), S(119,177), S(123,191), S(128,199) }
+    { S(-75,-76), S(-57,-54), S( -9,-28), S( -2,-10), S(  6,  5), S( 14, 12), // Knights
+      S( 22, 26), S( 29, 29), S( 36, 29) },
+    { S(-48,-59), S(-20,-23), S( 16, -3), S( 26, 13), S( 38, 24), S( 51, 42), // Bishops
+      S( 55, 54), S( 63, 57), S( 63, 65), S( 68, 73), S( 81, 78), S( 81, 86),
+      S( 91, 88), S( 98, 97) },
+    { S(-60,-77), S(-26,-20), S(-11, 27), S( -6, 57), S( -3, 69), S( -1, 82), // Rooks
+      S( 10,109), S( 16,121), S( 24,131), S( 25,143), S( 32,155), S( 32,163),
+      S( 43,167), S( 48,171), S( 56,173) },
+    { S(-39,-36), S(-21,-15), S(  3,  8), S(  3, 18), S( 14, 34), S( 22, 54), // Queens
+      S( 28, 61), S( 41, 73), S( 43, 79), S( 48, 92), S( 56, 94), S( 60,104),
+      S( 60,113), S( 66,120), S( 67,123), S( 70,126), S( 71,133), S( 73,136),
+      S( 79,140), S( 88,143), S( 88,148), S( 99,166), S(102,170), S(102,175),
+      S(106,184), S(109,191), S(113,206), S(116,212) }
   };
 
   // Outpost[knight/bishop][supported by pawn] contains bonuses for minor
index 8db5ba99567bc7027a3a6a202a168a9641939865..3baf8a86acd6f2ec0d839f41120715af027332e2 100644 (file)
@@ -47,24 +47,24 @@ const Score Bonus[][RANK_NB][int(FILE_NB) / 2] = {
    { S( -4, 3), S( 20,-9), S( -8, 1), S(-4,18) }
   },
   { // Knight
-   { S(-143, -97), S(-96,-82), S(-80,-46), S(-73,-14) },
-   { S( -83, -69), S(-43,-55), S(-21,-17), S(-10,  9) },
-   { S( -71, -50), S(-22,-39), S(  0, -8), S(  9, 28) },
-   { S( -25, -41), S( 18,-25), S( 43,  7), S( 47, 38) },
-   { S( -26, -46), S( 16,-25), S( 38,  2), S( 50, 41) },
-   { S( -11, -55), S( 37,-38), S( 56, -8), S( 71, 27) },
-   { S( -62, -64), S(-17,-50), S(  5,-24), S( 14, 13) },
-   { S(-195,-110), S(-66,-90), S(-42,-50), S(-29,-13) }
+   { S(-144, -98), S(-96,-82), S(-80,-46), S(-73,-14) },
+   { S( -83, -69), S(-43,-54), S(-21,-17), S(-10,  9) },
+   { S( -71, -50), S(-22,-39), S(  0, -7), S(  9, 28) },
+   { S( -25, -41), S( 18,-25), S( 43,  6), S( 47, 38) },
+   { S( -26, -46), S( 16,-25), S( 38,  3), S( 50, 40) },
+   { S( -11, -54), S( 37,-38), S( 56, -7), S( 65, 27) },
+   { S( -62, -65), S(-17,-50), S(  5,-24), S( 14, 13) },
+   { S(-194,-109), S(-66,-89), S(-42,-50), S(-29,-13) }
   },
   { // Bishop
-   { S(-54,-68), S(-23,-40), S(-35,-46), S(-44,-28) },
-   { S(-30,-43), S( 10,-17), S(  2,-23), S( -9, -5) },
-   { S(-19,-32), S( 17, -9), S( 11,-13), S(  1,  8) },
-   { S(-21,-36), S( 18,-13), S( 11,-15), S(  0,  7) },
-   { S(-21,-36), S( 14,-14), S(  6,-17), S( -1,  3) },
-   { S(-27,-35), S(  6,-13), S(  2,-10), S( -8,  1) },
-   { S(-33,-44), S(  7,-21), S( -4,-22), S(-12, -4) },
-   { S(-45,-65), S(-21,-42), S(-29,-46), S(-39,-27) }
+   { S(-44,-58), S(-13,-31), S(-25,-37), S(-34,-19) },
+   { S(-20,-34), S( 20, -9), S( 12,-14), S(  1,  4) },
+   { S( -9,-23), S( 27,  0), S( 21, -3), S( 11, 16) },
+   { S(-11,-26), S( 28, -3), S( 21, -5), S( 10, 16) },
+   { S(-11,-26), S( 24, -4), S( 16, -7), S(  9, 14) },
+   { S(-17,-24), S( 16, -2), S( 12,  0), S(  2, 13) },
+   { S(-23,-34), S( 17,-10), S(  6,-12), S( -2,  6) },
+   { S(-35,-55), S(-11,-32), S(-19,-36), S(-29,-17) }
   },
   { // Rook
    { S(-25, 0), S(-16, 0), S(-16, 0), S(-9, 0) },
@@ -77,24 +77,24 @@ const Score Bonus[][RANK_NB][int(FILE_NB) / 2] = {
    { S(-23, 0), S(-15, 0), S(-11, 0), S(-5, 0) }
   },
   { // Queen
-   { S( 0,-70), S(-3,-57), S(-4,-41), S(-1,-29) },
-   { S(-4,-58), S( 6,-30), S( 9,-21), S( 8, -4) },
-   { S(-2,-39), S( 6,-17), S( 9, -7), S( 9,  5) },
-   { S(-1,-29), S( 8, -5), S(10,  9), S( 7, 17) },
-   { S(-3,-27), S( 9, -5), S( 8, 10), S( 7, 23) },
-   { S(-2,-40), S( 6,-16), S( 8,-11), S(10,  3) },
-   { S(-2,-54), S( 7,-30), S( 7,-21), S( 6, -7) },
-   { S(-1,-75), S(-4,-54), S(-1,-44), S( 0,-30) }
+   { S( 0,-71), S(-4,-56), S(-3,-42), S(-1,-29) },
+   { S(-4,-56), S( 6,-30), S( 9,-21), S( 8, -5) },
+   { S(-2,-39), S( 6,-17), S( 9, -8), S( 9,  5) },
+   { S(-1,-29), S( 8, -5), S(10,  9), S( 7, 19) },
+   { S(-3,-27), S( 9, -5), S( 8, 10), S( 7, 21) },
+   { S(-2,-40), S( 6,-16), S( 8,-10), S(10,  3) },
+   { S(-2,-55), S( 7,-30), S( 7,-21), S( 6, -6) },
+   { S(-1,-74), S(-4,-55), S(-1,-43), S( 0,-30) }
   },
   { // King
-   { S(260,  0), S(313, 48), S(263, 75), S(188, 84) },
-   { S(258, 42), S(298, 91), S(232,142), S(174,131) },
-   { S(195, 81), S(240,136), S(171,167), S(105,163) },
-   { S(173,103), S(181,166), S(144,166), S(106,176) },
-   { S(146,104), S(174,159), S(112,196), S( 63,199) },
-   { S(116, 90), S(157,150), S( 82,171), S( 39,169) },
-   { S( 85, 44), S(127, 93), S( 62,114), S( 17,133) },
-   { S( 63,  2), S( 89, 48), S( 47, 73), S(  0, 83) }
+   { S(267,  0), S(320, 48), S(270, 75), S(195, 84) },
+   { S(264, 43), S(304, 92), S(238,143), S(180,132) },
+   { S(200, 83), S(245,138), S(176,167), S(110,165) },
+   { S(177,106), S(185,169), S(148,169), S(110,179) },
+   { S(149,108), S(177,163), S(115,200), S( 66,203) },
+   { S(118, 95), S(159,155), S( 84,176), S( 41,174) },
+   { S( 86, 50), S(128, 99), S( 63,122), S( 18,139) },
+   { S( 63,  9), S( 89, 55), S( 47, 80), S(  0, 90) }
   }
 };
 
index 4d113e1b9edfe703c44453abafa59b47a24fc7ff..1514c8c162914b497a918e31a138c1b51a825c4b 100644 (file)
@@ -185,9 +185,9 @@ enum Value : int {
 
   PawnValueMg   = 188,   PawnValueEg   = 248,
   KnightValueMg = 753,   KnightValueEg = 832,
-  BishopValueMg = 826,   BishopValueEg = 897,
+  BishopValueMg = 814,   BishopValueEg = 890,
   RookValueMg   = 1285,  RookValueEg   = 1371,
-  QueenValueMg  = 2513,  QueenValueEg  = 2650,
+  QueenValueMg  = 2513,  QueenValueEg  = 2648,
 
   MidgameLimit  = 15258, EndgameLimit  = 3915
 };