1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-30 08:43:09 +00:00

Retire HistoryMax

Infact we don't use it anymore already.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2011-01-15 09:30:07 +01:00
parent d6fdd4f6d9
commit 2052407090
3 changed files with 2 additions and 44 deletions

View file

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

View file

@ -17,24 +17,15 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#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];
}

View file

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