Skip to content

Commit 881cab2

Browse files
committed
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 #1736 Bench: 4272361
1 parent 4d22d3e commit 881cab2

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/movepick.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ void MovePicker::score() {
111111
for (auto& m : *this)
112112
if (Type == CAPTURES)
113113
m.value = PieceValue[MG][pos.piece_on(to_sq(m))]
114-
+ (*captureHistory)[pos.moved_piece(m)][to_sq(m)][type_of(pos.piece_on(to_sq(m)))] / 16;
114+
+ (*captureHistory)[pos.moved_piece(m)][to_sq(m)][type_of(pos.piece_on(to_sq(m)))] / 8;
115115

116116
else if (Type == QUIETS)
117117
m.value = (*mainHistory)[pos.side_to_move()][from_to(m)]

0 commit comments

Comments
 (0)