mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-22 01:56:58 +08:00
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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user