Isolated pawn simplification
authorSt├ęphane Nicolet <cassio@free.fr>
Thu, 28 Apr 2016 16:57:54 +0000 (18:57 +0200)
committerJoona Kiiski <joona@zoox.com>
Sat, 30 Apr 2016 21:23:22 +0000 (22:23 +0100)
STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 117822 W: 21697 L: 21744 D: 74381

LTC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 92307 W: 12330 L: 12305 D: 67672

Bench: 8813983

Resolves #659

src/pawns.cpp

index 8674592..c5c42ff 100644 (file)
@@ -31,12 +31,8 @@ namespace {
   #define V Value
   #define S(mg, eg) make_score(mg, eg)
 
-  // Isolated pawn penalty by opposed flag and file
-  const Score Isolated[2][FILE_NB] = {
-    { S(31, 36), S(45, 41), S(50, 41), S(50, 41),
-      S(50, 41), S(50, 41), S(45, 41), S(31, 36) },
-    { S(21, 24), S(30, 28), S(33, 28), S(33, 28),
-      S(33, 28), S(33, 28), S(30, 28), S(21, 24) } };
+  // Isolated pawn penalty by opposed flag
+  const Score Isolated[2] = { S(45, 40), S(30, 27) };
 
   // Backward pawn penalty by opposed flag
   const Score Backward[2] = { S(56, 33), S(41, 19) };
@@ -161,7 +157,7 @@ namespace {
 
         // Score this pawn
         if (!neighbours)
-            score -= Isolated[opposed][f];
+            score -= Isolated[opposed];
 
         else if (backward)
             score -= Backward[opposed];