diff --git a/src/material.cpp b/src/material.cpp index 0fe132d4..9e46d05d 100644 --- a/src/material.cpp +++ b/src/material.cpp @@ -115,6 +115,17 @@ namespace { value += pc * v; } + + // Queen vs. 3 minors slightly favours the minors + if (pieceCount[Us][QUEEN] == 1 && pieceCount[Them][QUEEN] == 0) + { + int n = pieceCount[Them][KNIGHT] - pieceCount[Us][KNIGHT]; + int b = pieceCount[Them][BISHOP] - pieceCount[Us][BISHOP]; + + if ((n == 2 && b == 1) || (n == 1 && b == 2)) + value -= 66 * 16; + } + return value; }