From: Stéphane Nicolet Date: Tue, 14 Aug 2018 07:24:26 +0000 (+0200) Subject: Double weight of capture history X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=881cab252530c8711e942f7936a3eb41b2956a6b;p=fairystockfish.git Double weight of capture history We double in this patch the weight of the capture history table in the local scoring of captures for move ordering. The capture history table is indexed by the triplet (capturing piece, capture square, captured piece) and gets information like "it seems to have been historically good in that part of the search tree to capture a pawn with a rook on g3, even if it seems to lose material", and affect the normaly pure « Most Valuable Victim » ordering of captures. Finished yellow at STC after 228842 games (posting a +1.36 Elo gain): LLR: -2.95 (-2.94,2.94) [0.00,4.00] Total: 228842 W: 50894 L: 50152 D: 127796 http://tests.stockfishchess.org/tests/view/5b714bb00ebc5902bdba332d Passed LTC: LLR: 2.96 (-2.94,2.94) [0.00,4.00] Total: 43251 W: 7425 L: 7131 D: 28695 http://tests.stockfishchess.org/tests/view/5b71c7d40ebc5902bdba3e51 Thanks to user Vizvezdenec for running the LTC test. Closes https://github.com/official-stockfish/Stockfish/pull/1736 Bench: 4272361 --- diff --git a/src/movepick.cpp b/src/movepick.cpp index 8f49b1d..2dbf2d6 100644 --- a/src/movepick.cpp +++ b/src/movepick.cpp @@ -111,7 +111,7 @@ void MovePicker::score() { for (auto& m : *this) if (Type == CAPTURES) m.value = PieceValue[MG][pos.piece_on(to_sq(m))] - + (*captureHistory)[pos.moved_piece(m)][to_sq(m)][type_of(pos.piece_on(to_sq(m)))] / 16; + + (*captureHistory)[pos.moved_piece(m)][to_sq(m)][type_of(pos.piece_on(to_sq(m)))] / 8; else if (Type == QUIETS) m.value = (*mainHistory)[pos.side_to_move()][from_to(m)]