X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fucioption.cpp;h=6788a996dd3393b80480449522c4932c294f08ac;hp=1bf5a4be08a6b0e9a153daf0271af7608f9ad2e6;hb=96a32eec69596be311d513cc13762f538cd7a422;hpb=973eb543a4794587b8e42508cfbe7b8f616b03ce diff --git a/src/ucioption.cpp b/src/ucioption.cpp index 1bf5a4be..6788a996 100644 --- a/src/ucioption.cpp +++ b/src/ucioption.cpp @@ -1,13 +1,14 @@ /* - Glaurung, a UCI chess playing engine. - Copyright (C) 2004-2008 Tord Romstad + Stockfish, a UCI chess playing engine derived from Glaurung 2.1 + Copyright (C) 2004-2008 Tord Romstad (Glaurung author) + Copyright (C) 2008 Marco Costalba - Glaurung is free software: you can redistribute it and/or modify + Stockfish is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - Glaurung is distributed in the hope that it will be useful, + Stockfish is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -72,6 +73,7 @@ namespace { // load_defaults populates the options vector with the hard // coded names and default values. + void load_defaults(Options& o) { o.push_back(Option("Use Search Log", false)); @@ -83,6 +85,7 @@ namespace { o.push_back(Option("Pawn Structure (Endgame)", 100, 0, 200)); o.push_back(Option("Passed Pawns (Middle Game)", 100, 0, 200)); o.push_back(Option("Passed Pawns (Endgame)", 100, 0, 200)); + o.push_back(Option("Space", 100, 0, 200)); o.push_back(Option("Aggressiveness", 100, 0, 200)); o.push_back(Option("Cowardice", 100, 0, 200)); o.push_back(Option("King Safety Curve", "Quadratic", COMBO)); @@ -94,8 +97,7 @@ namespace { o.push_back(Option("King Safety X Intercept", 0, 0, 20)); o.push_back(Option("King Safety Max Slope", 30, 10, 100)); o.push_back(Option("King Safety Max Value", 500, 100, 1000)); - o.push_back(Option("Queen Contact Check Bonus", 4, 0, 8)); - o.push_back(Option("Rook Contact Check Bonus", 2, 0, 4)); + o.push_back(Option("Queen Contact Check Bonus", 3, 0, 8)); o.push_back(Option("Queen Check Bonus", 2, 0, 4)); o.push_back(Option("Rook Check Bonus", 1, 0, 4)); o.push_back(Option("Bishop Check Bonus", 1, 0, 4)); @@ -118,13 +120,16 @@ namespace { o.push_back(Option("Full Depth Moves (non-PV nodes)", 3, 1, 100)); o.push_back(Option("Threat Depth", 5, 0, 100)); o.push_back(Option("Selective Plies", 7, 0, 10)); + o.push_back(Option("Null driven IID", false)); o.push_back(Option("Futility Pruning (Main Search)", true)); o.push_back(Option("Futility Pruning (Quiescence Search)", true)); - o.push_back(Option("Futility Margin 0", 50, 0, 1000)); - o.push_back(Option("Futility Margin 1", 100, 0, 1000)); - o.push_back(Option("Futility Margin 2", 300, 0, 1000)); + o.push_back(Option("Futility Margin (Quiescence Search)", 50, 0, 1000)); + o.push_back(Option("Futility Margin (Main Serach)", 100, 0, 1000)); o.push_back(Option("Maximum Razoring Depth", 3, 0, 4)); o.push_back(Option("Razoring Margin", 300, 150, 600)); + o.push_back(Option("LSN filtering", true)); + o.push_back(Option("LSN Time Margin (sec)", 4, 1, 10)); + o.push_back(Option("LSN Value Margin", 200, 100, 600)); o.push_back(Option("Randomness", 0, 0, 10)); o.push_back(Option("Minimum Split Depth", 4, 4, 7)); o.push_back(Option("Maximum Number of Threads per Split Point", 5, 4, 8)); @@ -171,7 +176,7 @@ namespace { template T get_option_value(const std::string& optionName) { - T ret; + T ret = T(); Options::iterator it = option_with_name(optionName); if (it != options.end())