Zero redundant material imbalance terms
authorChris Caino <chricainogithub@gmail.com>
Mon, 4 Nov 2013 12:44:42 +0000 (12:44 +0000)
committerMarco Costalba <mcostalba@gmail.com>
Tue, 5 Nov 2013 19:08:39 +0000 (20:08 +0100)
First coefficient in the SameColor array does an
equivalent job when folded into the LinearCoefficients
array.

All of the diagonal terms in the OppositeColor array
are redundant due to cancellation.

No functional change.

src/material.cpp

index 8a7fcb8dc6f7f9d53367246dfd44562c7177de35..1e751a8696d2e1f5bca5aa46c78582e41149f795 100644 (file)
@@ -39,11 +39,11 @@ namespace {
   const Value RedundantRook  = Value(554);
 
   //                                  pair  pawn knight bishop rook queen
-  const int LinearCoefficients[6] = { 1817, -162, -1122, -190,  105,  26 };
+  const int LinearCoefficients[6] = { 1824, -162, -1122, -190,  105,  26 };
 
   const int QuadraticCoefficientsSameColor[][PIECE_TYPE_NB] = {
     // pair pawn knight bishop rook queen
-    {   7                               }, // Bishop pair
+    {   0                               }, // Bishop pair
     {  39,    2                         }, // Pawn
     {  35,  271,  -4                    }, // Knight
     {   7,  105,   4,    7              }, // Bishop
@@ -54,12 +54,12 @@ namespace {
   const int QuadraticCoefficientsOppositeColor[][PIECE_TYPE_NB] = {
     //           THEIR PIECES
     // pair pawn knight bishop rook queen
-    {  41                               }, // Bishop pair
-    {  37,   41                         }, // Pawn
-    {  10,   62,  41                    }, // Knight      OUR PIECES
-    {  57,   64,  39,    41             }, // Bishop
-    {  50,   40,  23,   -22,   41       }, // Rook
-    { 106,  101,   3,   151,  171,   41 }  // Queen
+    {   0                               }, // Bishop pair
+    {  37,    0                         }, // Pawn
+    {  10,   62,   0                    }, // Knight      OUR PIECES
+    {  57,   64,  39,     0             }, // Bishop
+    {  50,   40,  23,   -22,    0       }, // Rook
+    { 106,  101,   3,   151,  171,    0 }  // Queen
   };
 
   // Endgame evaluation and scaling functions accessed direcly and not through