Increase passed bonus for having more pieces
authorReuven Peleg <reuvenpe2005@gmail.com>
Thu, 12 Sep 2013 13:20:53 +0000 (16:20 +0300)
committerMarco Costalba <mcostalba@gmail.com>
Fri, 13 Sep 2013 16:08:22 +0000 (18:08 +0200)
Passed both short TC:
LLR: 2.95 (-2.94,2.94) [-1.50,4.50]
Total: 36463 W: 7575 L: 7365 D: 21523

And long TC:
LLR: 2.97 (-2.94,2.94) [0.00,6.00]
Total: 2953 W: 564 L: 446 D: 1943

bench: 3846852

src/evaluate.cpp

index 42f7addfcce822b478da9fedf8b3db04b772eee7..a16fc3592453b588ac5c4e1bfb95d9a8512f4e15 100644 (file)
@@ -872,9 +872,16 @@ Value do_evaluate(const Position& pos, Value& margin) {
         {
             if (pos.non_pawn_material(Them) <= KnightValueMg)
                 ebonus += ebonus / 4;
+
             else if (pos.pieces(Them, ROOK, QUEEN))
                 ebonus -= ebonus / 4;
         }
+
+        // Increase the bonus if we have more non-pawn pieces
+        if (pos.count<ALL_PIECES>(  Us) - pos.count<PAWN>(  Us) >
+            pos.count<ALL_PIECES>(Them) - pos.count<PAWN>(Them))
+            ebonus += ebonus / 4;
+
         score += make_score(mbonus, ebonus);
 
     }