mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-19 16:46:30 +08:00
Remove HistoryStats
STC: LLR: 3.44 (-2.94,2.94) [-3.00,1.00] Total: 120831 W: 21572 L: 21594 D: 77665 LTC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 26565 W: 3519 L: 3406 D: 19640 bench 5920493
This commit is contained in:
@@ -211,7 +211,6 @@ void Search::clear() {
|
||||
|
||||
for (Thread* th : Threads)
|
||||
{
|
||||
th->history.clear();
|
||||
th->counterMoves.clear();
|
||||
th->fromTo.clear();
|
||||
th->counterMoveHistory.clear();
|
||||
@@ -642,7 +641,7 @@ namespace {
|
||||
&& (ttValue >= beta ? (tte->bound() & BOUND_LOWER)
|
||||
: (tte->bound() & BOUND_UPPER)))
|
||||
{
|
||||
// If ttMove is quiet, update killers, history, counter move on TT hit
|
||||
// If ttMove is quiet, update move sorting heuristics on TT hit
|
||||
if (ttValue >= beta && ttMove)
|
||||
{
|
||||
if (!pos.capture_or_promotion(ttMove))
|
||||
@@ -983,12 +982,11 @@ moves_loop: // When in check search starts from here
|
||||
&& !pos.see_ge(make_move(to_sq(move), from_sq(move)), VALUE_ZERO))
|
||||
r -= 2 * ONE_PLY;
|
||||
|
||||
ss->history = thisThread->history[moved_piece][to_sq(move)]
|
||||
+ (cmh ? (*cmh )[moved_piece][to_sq(move)] : VALUE_ZERO)
|
||||
+ (fmh ? (*fmh )[moved_piece][to_sq(move)] : VALUE_ZERO)
|
||||
+ (fmh2 ? (*fmh2)[moved_piece][to_sq(move)] : VALUE_ZERO)
|
||||
+ thisThread->fromTo.get(~pos.side_to_move(), move)
|
||||
- 8000; // Correction factor
|
||||
ss->history = (cmh ? (*cmh )[moved_piece][to_sq(move)] : VALUE_ZERO)
|
||||
+ (fmh ? (*fmh )[moved_piece][to_sq(move)] : VALUE_ZERO)
|
||||
+ (fmh2 ? (*fmh2)[moved_piece][to_sq(move)] : VALUE_ZERO)
|
||||
+ thisThread->fromTo.get(~pos.side_to_move(), move)
|
||||
- 8000; // Correction factor
|
||||
|
||||
// Decrease/increase reduction by comparing opponent's stat score
|
||||
if (ss->history > VALUE_ZERO && (ss-1)->history < VALUE_ZERO)
|
||||
@@ -1118,7 +1116,7 @@ moves_loop: // When in check search starts from here
|
||||
else if (bestMove)
|
||||
{
|
||||
|
||||
// Quiet best move: update killers, history and countermoves
|
||||
// Quiet best move: update move sorting heuristics
|
||||
if (!pos.capture_or_promotion(bestMove))
|
||||
update_stats(pos, ss, bestMove, quietsSearched, quietCount, bonus(depth));
|
||||
|
||||
@@ -1404,8 +1402,7 @@ moves_loop: // When in check search starts from here
|
||||
}
|
||||
|
||||
|
||||
// update_stats() updates killers, history, countermove and countermove plus
|
||||
// follow-up move history when a new quiet best move is found.
|
||||
// update_stats() updates move sorting heuristics when a new quiet best move is found
|
||||
|
||||
void update_stats(const Position& pos, Stack* ss, Move move,
|
||||
Move* quiets, int quietsCnt, Value bonus) {
|
||||
@@ -1419,7 +1416,6 @@ moves_loop: // When in check search starts from here
|
||||
Color c = pos.side_to_move();
|
||||
Thread* thisThread = pos.this_thread();
|
||||
thisThread->fromTo.update(c, move, bonus);
|
||||
thisThread->history.update(pos.moved_piece(move), to_sq(move), bonus);
|
||||
update_cm_stats(ss, pos.moved_piece(move), to_sq(move), bonus);
|
||||
|
||||
if ((ss-1)->counterMoves)
|
||||
@@ -1432,7 +1428,6 @@ moves_loop: // When in check search starts from here
|
||||
for (int i = 0; i < quietsCnt; ++i)
|
||||
{
|
||||
thisThread->fromTo.update(c, quiets[i], -bonus);
|
||||
thisThread->history.update(pos.moved_piece(quiets[i]), to_sq(quiets[i]), -bonus);
|
||||
update_cm_stats(ss, pos.moved_piece(quiets[i]), to_sq(quiets[i]), -bonus);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user