From: Lucas Braesch Date: Mon, 9 Dec 2013 10:14:14 +0000 (+0800) Subject: Update History and Counter move on TT hit X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=86347100a5c1113e9306d63a16cde2866839373b Update History and Counter move on TT hit We already update killers so it is natural to extend to history and counter move too. Passed both short TC LLR: 2.95 (-2.94,2.94) [-1.50,4.50] Total: 52690 W: 9955 L: 9712 D: 33023 And long TC LLR: 2.96 (-2.94,2.94) [0.00,6.00] Total: 5555 W: 935 L: 808 D: 3812 bench: 7876473 --- diff --git a/src/search.cpp b/src/search.cpp index a739b049..5205126a 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -569,6 +569,7 @@ namespace { TT.refresh(tte); ss->currentMove = ttMove; // Can be MOVE_NONE + // Update killers, history, and counter move on TT hit if ( ttValue >= beta && ttMove && !pos.capture_or_promotion(ttMove) @@ -576,6 +577,15 @@ namespace { { ss->killers[1] = ss->killers[0]; ss->killers[0] = ttMove; + + Value bonus = Value(int(depth) * int(depth)); + History.update(pos.moved_piece(ttMove), to_sq(ttMove), bonus); + + if (is_ok((ss-1)->currentMove)) + { + Square prevMoveSq = to_sq((ss-1)->currentMove); + Countermoves.update(pos.piece_on(prevMoveSq), prevMoveSq, ttMove); + } } return ttValue; }