From 368bd2e4f967b027fb53b5852c5aa1b3ddc7aa4c Mon Sep 17 00:00:00 2001 From: Tomasz Sobczyk Date: Mon, 9 Aug 2021 11:44:58 +0200 Subject: [PATCH] most-merge fixes --- src/evaluate.cpp | 4 ++-- src/search.cpp | 16 ++-------------- src/tools/sfen_packer.cpp | 4 ++-- src/tools/training_data_generator.cpp | 2 -- src/tools/training_data_generator_nonpv.cpp | 2 -- src/uci.cpp | 9 +++++---- 6 files changed, 11 insertions(+), 26 deletions(-) diff --git a/src/evaluate.cpp b/src/evaluate.cpp index d44fb225..74474363 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -1189,7 +1189,7 @@ std::string Eval::trace(Position& pos) { << "| Total | " << Term(TOTAL) << "+------------+-------------+-------------+-------------+\n"; - if (Eval::useNNUE) + if (NNUE::useNNUE != NNUE::UseNNUEMode::False) ss << '\n' << NNUE::trace(pos) << '\n'; ss << std::showpoint << std::showpos << std::fixed << std::setprecision(2) << std::setw(15); @@ -1206,7 +1206,7 @@ std::string Eval::trace(Position& pos) { v = evaluate(pos); v = pos.side_to_move() == WHITE ? v : -v; ss << "Final evaluation " << to_cp(v) << " (white side)"; - if (Eval::useNNUE) + if (NNUE::useNNUE != NNUE::UseNNUEMode::False) ss << " [with scaled NNUE, hybrid, ...]"; ss << "\n"; diff --git a/src/search.cpp b/src/search.cpp index b2d6e4b0..f39d9d18 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1968,20 +1968,8 @@ namespace Search // Clear all history types. This initialization takes a little time, and the accuracy of the search is rather low, so the good and bad are not well understood. // th->clear(); - int ct = int(Options["Contempt"]) * PawnValueEg / 100; // From centipawns - Color us = pos.side_to_move(); - - // In analysis mode, adjust contempt in accordance with user preference - if (Limits.infinite || Options["UCI_AnalyseMode"]) - ct = Options["Analysis Contempt"] == "Off" ? 0 - : Options["Analysis Contempt"] == "Both" ? ct - : Options["Analysis Contempt"] == "White" && us == BLACK ? -ct - : Options["Analysis Contempt"] == "Black" && us == WHITE ? -ct - : ct; - // Evaluation score is from the white point of view - th->contempt = (us == WHITE ? make_score(ct, ct / 2) - : -make_score(ct, ct / 2)); + th->trend = make_score(0, 0); for (int i = 7; i > 0; i--) (ss - i)->continuationHistory = &th->continuationHistory[0][0][NO_PIECE][0]; // Use as a sentinel @@ -2144,7 +2132,7 @@ namespace Search while (true) { Depth adjustedDepth = std::max(1, rootDepth); - bestValue = Stockfish::search(pos, ss, alpha, beta, adjustedDepth, false); + bestValue = Stockfish::search(pos, ss, alpha, beta, adjustedDepth, false); stable_sort(rootMoves.begin() + pvIdx, rootMoves.end()); //my_stable_sort(pos.this_thread()->thread_id(),&rootMoves[0] + pvIdx, rootMoves.size() - pvIdx); diff --git a/src/tools/sfen_packer.cpp b/src/tools/sfen_packer.cpp index 8182503c..7a6fb979 100644 --- a/src/tools/sfen_packer.cpp +++ b/src/tools/sfen_packer.cpp @@ -260,8 +260,8 @@ namespace Stockfish::Tools { pos.clear(); std::memset(si, 0, sizeof(StateInfo)); - si->accumulator.state[WHITE] = Eval::NNUE::INIT; - si->accumulator.state[BLACK] = Eval::NNUE::INIT; + si->accumulator.computed[WHITE] = false; + si->accumulator.computed[BLACK] = false; pos.st = si; // Active color diff --git a/src/tools/training_data_generator.cpp b/src/tools/training_data_generator.cpp index 6495d566..a69031c4 100644 --- a/src/tools/training_data_generator.cpp +++ b/src/tools/training_data_generator.cpp @@ -812,10 +812,8 @@ namespace Stockfish::Tools is >> params.seed; else if (token == "set_recommended_uci_options") { - UCI::setoption("Contempt", "0"); UCI::setoption("Skill Level", "20"); UCI::setoption("UCI_Chess960", "false"); - UCI::setoption("UCI_AnalyseMode", "false"); UCI::setoption("UCI_LimitStrength", "false"); UCI::setoption("PruneAtShallowDepth", "false"); UCI::setoption("EnableTranspositionTable", "true"); diff --git a/src/tools/training_data_generator_nonpv.cpp b/src/tools/training_data_generator_nonpv.cpp index 278259c6..04bab4a2 100644 --- a/src/tools/training_data_generator_nonpv.cpp +++ b/src/tools/training_data_generator_nonpv.cpp @@ -434,10 +434,8 @@ namespace Stockfish::Tools params.smart_fen_skipping = true; else if (token == "set_recommended_uci_options") { - UCI::setoption("Contempt", "0"); UCI::setoption("Skill Level", "20"); UCI::setoption("UCI_Chess960", "false"); - UCI::setoption("UCI_AnalyseMode", "false"); UCI::setoption("UCI_LimitStrength", "false"); UCI::setoption("PruneAtShallowDepth", "false"); UCI::setoption("EnableTranspositionTable", "true"); diff --git a/src/uci.cpp b/src/uci.cpp index b2382299..7d471d1f 100644 --- a/src/uci.cpp +++ b/src/uci.cpp @@ -198,6 +198,10 @@ namespace { << "\nNodes/second : " << 1000 * nodes / elapsed << endl; } +} // namespace + +namespace UCI { + void setoption(const std::string& name, const std::string& value) { if (Options.count(name)) @@ -221,9 +225,6 @@ namespace { double a = (((as[0] * m + as[1]) * m + as[2]) * m) + as[3]; double b = (((bs[0] * m + bs[1]) * m + bs[2]) * m) + bs[3]; - // Transform eval to centipawns with limited range - double x = std::clamp(double(100 * v) / PawnValueEg, -2000.0, 2000.0); - // Transform eval to centipawns with limited range double x = std::clamp(double(100 * v) / PawnValueEg, -1000.0, 1000.0); @@ -332,7 +333,7 @@ void UCI::loop(int argc, char* argv[]) { Eval::NNUE::save_eval(filename); } else if (token == "generate_training_data") Tools::generate_training_data(is); - else if (token == "generate_training_data") Tools::generate_training_data_nonpv(is); + else if (token == "generate_training_data_nonpv") Tools::generate_training_data_nonpv(is); else if (token == "convert") Tools::convert(is); else if (token == "validate_training_data") Tools::validate_training_data(is); else if (token == "convert_bin") Tools::convert_bin(is);