mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 16:53:09 +00:00
Another small tweak to skills
No functional change.
This commit is contained in:
parent
60c121f3b1
commit
81d6c4a0d6
2 changed files with 9 additions and 11 deletions
|
@ -199,7 +199,7 @@ void Search::think() {
|
||||||
|
|
||||||
if (RootMoves.empty())
|
if (RootMoves.empty())
|
||||||
{
|
{
|
||||||
RootMoves.push_back(MOVE_NONE);
|
RootMoves.push_back(RootMove(MOVE_NONE));
|
||||||
sync_cout << "info depth 0 score "
|
sync_cout << "info depth 0 score "
|
||||||
<< UCI::value(RootPos.checkers() ? -VALUE_MATE : VALUE_DRAW)
|
<< UCI::value(RootPos.checkers() ? -VALUE_MATE : VALUE_DRAW)
|
||||||
<< sync_endl;
|
<< sync_endl;
|
||||||
|
@ -1383,15 +1383,13 @@ moves_loop: // When in check and at SpNode search starts from here
|
||||||
// then we choose the move with the resulting highest score.
|
// then we choose the move with the resulting highest score.
|
||||||
for (size_t i = 0; i < multiPV; ++i)
|
for (size_t i = 0; i < multiPV; ++i)
|
||||||
{
|
{
|
||||||
int score = RootMoves[i].score;
|
|
||||||
|
|
||||||
// This is our magic formula
|
// This is our magic formula
|
||||||
score += ( weakness * int(RootMoves[0].score - score)
|
int push = ( weakness * int(RootMoves[0].score - RootMoves[i].score)
|
||||||
+ variance * (rng.rand<unsigned>() % weakness)) / 128;
|
+ variance * (rng.rand<unsigned>() % weakness)) / 128;
|
||||||
|
|
||||||
if (score > maxScore)
|
if (RootMoves[i].score + push > maxScore)
|
||||||
{
|
{
|
||||||
maxScore = score;
|
maxScore = RootMoves[i].score + push;
|
||||||
best = RootMoves[i].pv[0];
|
best = RootMoves[i].pv[0];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1444,7 +1442,7 @@ string UCI::pv(const Position& pos, Depth depth, Value alpha, Value beta) {
|
||||||
<< " nps " << pos.nodes_searched() * 1000 / elapsed;
|
<< " nps " << pos.nodes_searched() * 1000 / elapsed;
|
||||||
|
|
||||||
if (elapsed > 1000) // Earlier makes little sense
|
if (elapsed > 1000) // Earlier makes little sense
|
||||||
ss << " hashfull " << TT.hashfull();
|
ss << " hashfull " << TT.hashfull();
|
||||||
|
|
||||||
ss << " tbhits " << TB::Hits
|
ss << " tbhits " << TB::Hits
|
||||||
<< " time " << elapsed
|
<< " time " << elapsed
|
||||||
|
|
|
@ -55,15 +55,15 @@ struct Stack {
|
||||||
|
|
||||||
struct RootMove {
|
struct RootMove {
|
||||||
|
|
||||||
RootMove(Move m) : score(-VALUE_INFINITE), previousScore(-VALUE_INFINITE), pv(1, m) {}
|
explicit RootMove(Move m) : pv(1, m) {}
|
||||||
|
|
||||||
bool operator<(const RootMove& m) const { return score > m.score; } // Ascending sort
|
bool operator<(const RootMove& m) const { return score > m.score; } // Ascending sort
|
||||||
bool operator==(const Move& m) const { return pv[0] == m; }
|
bool operator==(const Move& m) const { return pv[0] == m; }
|
||||||
void insert_pv_in_tt(Position& pos);
|
void insert_pv_in_tt(Position& pos);
|
||||||
bool extract_ponder_from_tt(Position& pos);
|
bool extract_ponder_from_tt(Position& pos);
|
||||||
|
|
||||||
Value score;
|
Value score = -VALUE_INFINITE;
|
||||||
Value previousScore;
|
Value previousScore = -VALUE_INFINITE;
|
||||||
std::vector<Move> pv;
|
std::vector<Move> pv;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue