From 33682bfb98c84bf964d7ade874db1fbe5cf921d3 Mon Sep 17 00:00:00 2001 From: mbootsector Date: Sat, 13 Jan 2018 08:56:42 +0100 Subject: [PATCH] Use mobility in kingsafety (#1360) Use mobility in kingsafety STC: http://tests.stockfishchess.org/tests/view/5a55134d0ebc590296938a28 LLR: 2.96 (-2.94,2.94) [0.00,5.00] Total: 32651 W: 6057 L: 5792 D: 20802 LTC: http://tests.stockfishchess.org/tests/view/5a5618f40ebc590297da516f LLR: 2.94 (-2.94,2.94) [0.00,5.00] Total: 17875 W: 2421 L: 2245 D: 13209 bench: 5365777 --- src/evaluate.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/evaluate.cpp b/src/evaluate.cpp index fa3b0a72..7d5d435a 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -486,9 +486,13 @@ namespace { - 9 * mg_value(score) / 8 + 40; - // Transform the kingDanger units into a Score, and substract it from the evaluation + // Transform the kingDanger units into a Score, and substract it from the evaluation. if (kingDanger > 0) + { + int mobilityDanger = mg_value(mobility[Them] - mobility[Us]); + kingDanger = std::max(0, kingDanger + mobilityDanger); score -= make_score(kingDanger * kingDanger / 4096, kingDanger / 16); + } } // King tropism: firstly, find squares that opponent attacks in our king flank -- 2.39.2