From: lucasart Date: Sat, 31 Dec 2016 12:52:42 +0000 (+0800) Subject: Remove SafeCheck (#946) X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=ab4f498bbcf6f263bf3a355c3fff4ccaa8dea1d8;ds=sidebyside Remove SafeCheck (#946) It was a bit of a hack, without intrinsic value, but rather compensating for the fact that checks were mistuned. STC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 88308 W: 15553 L: 15545 D: 57210 LTC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 53115 W: 6741 L: 6662 D: 39712 bench 5468995 --- diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 19bfc9fe..11ac43d5 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -190,7 +190,6 @@ namespace { const Score RookOnPawn = S( 8, 24); const Score TrappedRook = S(92, 0); const Score CloseEnemies = S( 7, 0); - const Score SafeCheck = S(20, 20); const Score OtherCheck = S(10, 10); const Score ThreatByHangingPawn = S(71, 61); const Score LooseEnemies = S( 0, 25); @@ -214,10 +213,10 @@ namespace { // Penalties for enemy's safe checks const int QueenContactCheck = 997; - const int QueenCheck = 695; - const int RookCheck = 638; - const int BishopCheck = 538; - const int KnightCheck = 874; + const int QueenCheck = 745; + const int RookCheck = 688; + const int BishopCheck = 588; + const int KnightCheck = 924; // eval_init() initializes king and attack bitboards for a given color @@ -447,7 +446,7 @@ namespace { // Enemy queen safe checks if ((b1 | b2) & ei.attackedBy[Them][QUEEN] & safe) - kingDanger += QueenCheck, score -= SafeCheck; + kingDanger += QueenCheck; // For other pieces, also consider the square safe if attacked twice, // and only defended by a queen. @@ -457,14 +456,14 @@ namespace { // Enemy rooks safe and other checks if (b1 & ei.attackedBy[Them][ROOK] & safe) - kingDanger += RookCheck, score -= SafeCheck; + kingDanger += RookCheck; else if (b1 & ei.attackedBy[Them][ROOK] & other) score -= OtherCheck; // Enemy bishops safe and other checks if (b2 & ei.attackedBy[Them][BISHOP] & safe) - kingDanger += BishopCheck, score -= SafeCheck; + kingDanger += BishopCheck; else if (b2 & ei.attackedBy[Them][BISHOP] & other) score -= OtherCheck; @@ -472,7 +471,7 @@ namespace { // Enemy knights safe and other checks b = pos.attacks_from(ksq) & ei.attackedBy[Them][KNIGHT]; if (b & safe) - kingDanger += KnightCheck, score -= SafeCheck; + kingDanger += KnightCheck; else if (b & other) score -= OtherCheck;