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:
lucasart
2017-01-09 18:57:34 +08:00
committed by Marco Costalba
parent d9dd520896
commit e0504ab876
4 changed files with 15 additions and 26 deletions

View File

@@ -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);
}
}