Rename Refutation to Countermove

Use proper naming according to:

http://chessprogramming.wikispaces.com/Countermove+Heuristic

The name of this idea is "Countermove Heuristic" and was
first introduced by Jos Uiterwijk in 1992

No functional change.
This commit is contained in:
Marco Costalba
2013-05-15 20:35:54 +02:00
parent 7c6f346c90
commit 148490f04c
3 changed files with 41 additions and 40 deletions

View File

@@ -30,14 +30,13 @@
/// The Stats struct stores moves statistics. According to the template parameter
/// the class can store History, Gains and Refutations statistics. History records
/// how often different moves have been successful or unsuccessful during the
/// current search and is used for reduction and move ordering decisions. Gains
/// records the move's best evaluation gain from one ply to the next and is used
/// for pruning decisions. Refutations store the move that refute a previous one.
/// Entries are stored according only to moving piece and destination square, in
/// particular two moves with different origin but same destination and same piece
/// will be considered identical.
/// the class can store History, Gains and Countermoves. History records how often
/// different moves have been successful or unsuccessful during the current search
/// and is used for reduction and move ordering decisions. Gains records the move's
/// best evaluation gain from one ply to the next and is used for pruning decisions.
/// Countermoves store the move that refute a previous one. Entries are stored
/// according only to moving piece and destination square, hence two moves with
/// different origin but same destination and piece will be considered identical.
template<bool Gain, typename T>
struct Stats {
@@ -60,9 +59,9 @@ private:
T table[PIECE_NB][SQUARE_NB];
};
typedef Stats<true, Value> Gains;
typedef Stats<false, Value> History;
typedef Stats<false, Move> Refutations;
typedef Stats< true, Value> GainsStats;
typedef Stats<false, Value> HistoryStats;
typedef Stats<false, Move> CountermovesStats;
/// MovePicker class is used to pick one pseudo legal move at a time from the
@@ -77,9 +76,11 @@ class MovePicker {
MovePicker& operator=(const MovePicker&); // Silence a warning under MSVC
public:
MovePicker(const Position&, Move, Depth, const History&, const Refutations&, Search::Stack*, Value);
MovePicker(const Position&, Move, Depth, const History&, Square);
MovePicker(const Position&, Move, const History&, PieceType);
MovePicker(const Position&, Move, Depth, const HistoryStats&, Square);
MovePicker(const Position&, Move, const HistoryStats&, PieceType);
MovePicker(const Position&, Move, Depth, const HistoryStats&,
const CountermovesStats&, Search::Stack*, Value);
template<bool SpNode> Move next_move();
private:
@@ -87,7 +88,7 @@ private:
void generate_next();
const Position& pos;
const History& Hist;
const HistoryStats& history;
Search::Stack* ss;
Depth depth;
Move ttMove;