From 20524070901db89bd6e97b54d28dc3a2f717b0e3 Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Sat, 15 Jan 2011 09:30:07 +0100 Subject: [PATCH] Retire HistoryMax Infact we don't use it anymore already. No functional change. Signed-off-by: Marco Costalba --- src/history.cpp | 12 ------------ src/history.h | 30 ------------------------------ src/movepick.cpp | 4 ++-- 3 files changed, 2 insertions(+), 44 deletions(-) diff --git a/src/history.cpp b/src/history.cpp index 6849839c..f10e7619 100644 --- a/src/history.cpp +++ b/src/history.cpp @@ -57,12 +57,6 @@ void History::success(Piece p, Square to, Depth d) { assert(square_is_ok(to)); history[p][to] += int(d) * int(d); - - // Prevent history overflow - if (history[p][to] >= HistoryMax) - for (int i = 0; i < 16; i++) - for (int j = 0; j < 64; j++) - history[i][j] /= 2; } @@ -76,12 +70,6 @@ void History::failure(Piece p, Square to, Depth d) { assert(square_is_ok(to)); history[p][to] -= int(d) * int(d); - - // Prevent history underflow - if (history[p][to] <= -HistoryMax) - for (int i = 0; i < 16; i++) - for (int j = 0; j < 64; j++) - history[i][j] /= 2; } diff --git a/src/history.h b/src/history.h index ce87b7e1..bbe2aab3 100644 --- a/src/history.h +++ b/src/history.h @@ -17,24 +17,15 @@ along with this program. If not, see . */ - #if !defined(HISTORY_H_INCLUDED) #define HISTORY_H_INCLUDED -//// -//// Includes -//// - #include "depth.h" #include "move.h" #include "piece.h" #include "value.h" -//// -//// Types -//// - /// The History class stores statistics about how often different moves /// have been successful or unsuccessful during the current search. These /// statistics are used for reduction and move ordering decisions. History @@ -58,27 +49,6 @@ private: int maxStaticValueDelta[16][64]; // [piece][from_square][to_square] }; - -//// -//// Constants and variables -//// - -/// HistoryMax controls how often the history counters will be scaled down: -/// When the history score for a move gets bigger than HistoryMax, all -/// entries in the table are divided by 2. It is difficult to guess what -/// the ideal value of this constant is. Scaling down the scores often has -/// the effect that parts of the search tree which have been searched -/// recently have a bigger importance for move ordering than the moves which -/// have been searched a long time ago. -/// Current policy is to set this as high as possible, but avoid overflow. - -const int HistoryMax = (1 << 28); - - -//// -//// Inline functions -//// - inline int History::value(Piece p, Square to) const { return history[p][to]; } diff --git a/src/movepick.cpp b/src/movepick.cpp index 9b274d59..ab79c22f 100644 --- a/src/movepick.cpp +++ b/src/movepick.cpp @@ -247,10 +247,10 @@ void MovePicker::score_evasions() { { m = cur->move; if ((seeScore = pos.see_sign(m)) < 0) - cur->score = seeScore - HistoryMax; // Be sure are at the bottom + cur->score = seeScore - (1 << 29); // Be sure are at the bottom else if (pos.move_is_capture(m)) cur->score = pos.midgame_value_of_piece_on(move_to(m)) - - pos.type_of_piece_on(move_from(m)) + HistoryMax; + - pos.type_of_piece_on(move_from(m)) + (1 << 29); else cur->score = H.value(pos.piece_on(move_from(m)), move_to(m)); } -- 2.39.5