From 5aeb907fa19afb22c92b3076d3ff73386cf7755c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20St=C3=B6=C3=9Fer?= Date: Sat, 12 Oct 2013 12:59:43 +0200 Subject: [PATCH] Double king safety weights Good both at short TC: LLR: 2.95 (-2.94,2.94) [-1.50,4.50] Total: 5448 W: 1133 L: 1012 D: 3303 And at long TC: LLR: 2.95 (-2.94,2.94) [0.00,6.00] Total: 40509 W: 6836 L: 6541 D: 27132 bench: 7700683 --- src/evaluate.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 558e7d13354..49620e4666d 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -200,12 +200,12 @@ namespace { const int KingAttackWeights[] = { 0, 0, 2, 2, 3, 5 }; // Bonuses for enemy's safe checks - const int QueenContactCheck = 6; - const int RookContactCheck = 4; - const int QueenCheck = 3; - const int RookCheck = 2; + const int QueenContactCheck = 12; + const int RookContactCheck = 8; + const int QueenCheck = 6; + const int RookCheck = 4; const int BishopCheck = 1; - const int KnightCheck = 1; + const int KnightCheck = 2; // KingExposed[Square] contains penalties based on the position of the // defending king, indexed by king's square (from white's point of view). @@ -699,7 +699,7 @@ Value do_evaluate(const Position& pos, Value& margin) { // number and types of the enemy's attacking pieces, the number of // attacked and undefended squares around our king, the square of the // king, and the quality of the pawn shelter. - attackUnits = std::min(25, (ei.kingAttackersCount[Them] * ei.kingAttackersWeight[Them]) / 2) + attackUnits = std::min(20, (ei.kingAttackersCount[Them] * ei.kingAttackersWeight[Them]) / 2) + 3 * (ei.kingAdjacentZoneAttacksCount[Them] + popcount(undefended)) + KingExposed[relative_square(Us, ksq)] - mg_value(score) / 32;