From bb26f903aa75cf76fb0c7d3f2e1c95292f30a6cf Mon Sep 17 00:00:00 2001 From: Fabian Fichter Date: Sat, 4 Jul 2020 15:22:21 +0200 Subject: [PATCH] Tweak evaluation of stable disks reversi LLR: 2.96 (-2.94,2.94) [0.00,10.00] Total: 624 W: 351 L: 244 D: 29 --- src/evaluate.cpp | 11 +++++------ 1 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 37a5038..c32df0b 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -1011,15 +1011,14 @@ namespace { // Stable pieces Bitboard edges = (FileABB | file_bb(pos.max_file()) | Rank1BB | rank_bb(pos.max_rank())) & pos.board_bb(); Bitboard edgePieces = pos.pieces(Us) & edges; - Bitboard stable = 0; while (edgePieces) { - Square s = pop_lsb(&edgePieces); - Bitboard connectedEdge = attacks_bb(Us, ROOK, s, ~(pos.pieces() & edges)) & edges; - if (!(connectedEdge & ~pos.pieces()) || !more_than_one(connectedEdge & ~pos.pieces(Us))) - stable |= s; + Bitboard connectedEdge = attacks_bb(Us, ROOK, pop_lsb(&edgePieces), ~(pos.pieces(Us) & edges)) & edges; + if (!more_than_one(connectedEdge & ~pos.pieces(Us))) + score += make_score(300, 300); + else if (!(connectedEdge & ~pos.pieces())) + score += make_score(200, 200); } - score += make_score(300, 300) * popcount(stable); // Unstable Bitboard unstable = 0; -- 1.7.0.4