Skip to content

Commit

Permalink
History gravity
Browse files Browse the repository at this point in the history
Instead of using hard coded Min and Max values for history,
always adjust the old value slightly downwards before adding a new value.

The adjustment acts like gravity that prevents the value escaping too
far from zero.

Bench: 8020484

Resolves #407
  • Loading branch information
zamar committed Aug 29, 2015
1 parent 087b638 commit 7f300a7
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions src/movepick.h
Expand Up @@ -39,7 +39,7 @@
template<typename T>
struct Stats {

static const Value Max = Value(250);
static const Value Max = Value(1<<28);

const T* operator[](Piece pc) const { return table[pc]; }
T* operator[](Piece pc) { return table[pc]; }
Expand All @@ -53,8 +53,8 @@ struct Stats {

void update(Piece pc, Square to, Value v) {

if (abs(table[pc][to] + v) < Max)
table[pc][to] += v;
table[pc][to] -= table[pc][to] * std::min(abs(int(v)), 512) / 512;
table[pc][to] += int(v) * 64;
}

private:
Expand Down

0 comments on commit 7f300a7

Please sign in to comment.