Skip to content

Commit

Permalink
- CounterMoveHistoryのコード掃除
Browse files Browse the repository at this point in the history
  • Loading branch information
yaneurao committed Oct 22, 2024
1 parent 23627f7 commit 7a59656
Show file tree
Hide file tree
Showing 7 changed files with 8 additions and 52 deletions.
2 changes: 1 addition & 1 deletion source/eval/kpp_kkpt/evaluate_kpp_kkpt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -837,7 +837,7 @@ namespace Eval

// 返す値の絶対値がVALUE_MAX_EVALを超えてないことを保証しないといけないのだが…。
// いまの評価関数、手番を過学習したりして、ときどき超えてそう…。
//ASSERT_LV3(abs(v) < VALUE_MAX_EVAL);
//ASSERT_LV3(abs(v) < =VALUE_MAX_EVAL);

return v;
}
Expand Down
6 changes: 1 addition & 5 deletions source/eval/kppt/evaluate_kppt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -931,11 +931,7 @@ namespace Eval

// 返す値の絶対値がVALUE_MAX_EVALを超えてないことを保証しないといけないのだが…。
// いまの評価関数、手番を過学習したりして、ときどき超えてそう…。
//ASSERT_LV3(abs(v) < VALUE_MAX_EVAL);
#if 0
if (!((abs(v) < VALUE_MAX_EVAL)))
std::cout << pos << std::endl;
#endif
//ASSERT_LV3(abs(v) <= VALUE_MAX_EVAL);

return v;
}
Expand Down
6 changes: 3 additions & 3 deletions source/learn/learn.h
Original file line number Diff line number Diff line change
Expand Up @@ -223,12 +223,12 @@ namespace Learner

// 読み筋とそのときの評価値を返す型
// Learner::search() , Learner::qsearch()で用いる。
typedef std::pair<Value, std::vector<Move> > ValueAndPV;
typedef std::pair<Value, std::vector<Move> > ValuePV;

// いまのところ、YANEURAOU_ENGINEしか、このスタブを持っていないが
// EVAL_LEARNをdefineするなら、このスタブが必須。
Learner::ValueAndPV search(Position& pos, int depth , size_t multiPV = 1 , u64 NodesLimit = 0);
Learner::ValueAndPV qsearch(Position& pos);
Learner::ValuePV search(Position& pos, int depth , size_t multiPV = 1 , u64 NodesLimit = 0);
Learner::ValuePV qsearch(Position& pos);

double calc_grad(Value shallow, const PackedSfenValue& psv);

Expand Down
38 changes: 0 additions & 38 deletions source/movepick.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,44 +200,6 @@ struct LowPlyHistory
Stats<int16_t, D, Move::FROM_TO_SIZE, LOW_PLY_HISTORY_SIZE> stats;
};


// CounterMoveHistory stores counter moves indexed by [piece][to] of the previous
// move, see www.chessprogramming.org/Countermove_Heuristic
// CounterMoveHistoryは、直前の指し手の[piece][to]によってindexされるcounter moves(応手)を格納する。
// cf. http://chessprogramming.wikispaces.com/Countermove+Heuristic

//using CounterMoveHistory = Stats<Move, NOT_USED, PIECE_NB, SQUARE_NB>;

struct CounterMoveHistory
{
using T = Move; // StatsEntryの型
static constexpr int D = NOT_USED; // StatsEntryの範囲

//
// メモ)
// StockfishのMove、移動させる駒の情報は持っていないのだが、
// 将棋でもMove16で十分である可能性はある。
//

// 必ず以下のアクセッサを通してアクセスすること。
// ※ 引数の順番は、Stockfishの配列の添字の順番と合わせてある。

const StatsEntry<T, D>& operator() (Piece pc, Square sq) const {
return stats[sq][pc];
}

StatsEntry<T, D>& operator() (Piece pc, Square sq) {
return stats[sq][pc];
}

void fill(T t) { stats.fill(t); }

private:
// ※ Stockfishとは、添字の順番を入れ替えてあるので注意。
// やねうら王の実際の格納配列(stats)では、[to][piece]の順。
Stats<T, D , SQUARE_NB, PIECE_NB> stats;
};

// CapturePieceToHistory is addressed by a move's [piece][to][captured piece type]
// CapturePieceToHistoryは、指し手の [piece][to][captured piece type]で示される。

Expand Down
1 change: 0 additions & 1 deletion source/thread.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ Thread::~Thread()
void Thread::clear()
{
#if defined(USE_MOVE_PICKER)
counterMoves.fill(Move::none());
mainHistory.fill(0);
captureHistory.fill(0);
#if defined(ENABLE_PAWN_HISTORY)
Expand Down
1 change: 0 additions & 1 deletion source/thread.h
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,6 @@ class Thread

#if defined(USE_MOVE_PICKER)
// 近代的なMovePickerではオーダリングのために、スレッドごとにhistoryとcounter movesなどのtableを持たないといけない。
CounterMoveHistory counterMoves;
ButterflyHistory mainHistory;
LowPlyHistory lowPlyHistory;
CapturePieceToHistory captureHistory;
Expand Down
6 changes: 3 additions & 3 deletions source/usi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -109,10 +109,10 @@ namespace Learner
#endif

// 読み筋と評価値のペア。Learner::search(),Learner::qsearch()が返す。
typedef std::pair<Value, std::vector<Move> > ValueAndPV;
typedef std::pair<Value, std::vector<Move> > ValuePV;

ValueAndPV qsearch(Position& pos);
ValueAndPV search(Position& pos, int depth_, size_t multiPV = 1 , u64 nodesLimit = 0 );
ValuePV qsearch(Position& pos);
ValuePV search(Position& pos, int depth_, size_t multiPV = 1 , u64 nodesLimit = 0 );

}
#endif
Expand Down

0 comments on commit 7a59656

Please sign in to comment.