mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 00:33: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:
parent
d6fdd4f6d9
commit
2052407090
3 changed files with 2 additions and 44 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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];
|
||||
}
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue