mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 00:33:09 +00:00
Retire 'Cowardice' and 'Aggressiveness' UCI options
They are not self-describing and create a lot of user requests about them. Given that the values are already well tuned there is no need to expose them as UCI options. No functional change.
This commit is contained in:
parent
2d60995c00
commit
bff65a211f
3 changed files with 17 additions and 20 deletions
|
@ -24,8 +24,6 @@ Mobility (Endgame) = 100
|
|||
Passed Pawns (Middle Game) = 100
|
||||
Passed Pawns (Endgame) = 100
|
||||
Space = 100
|
||||
Aggressiveness = 100
|
||||
Cowardice = 100
|
||||
Min Split Depth = 4
|
||||
Max Threads per Split Point = 5
|
||||
Threads = 1
|
||||
|
|
|
@ -75,8 +75,8 @@ namespace {
|
|||
const int GrainSize = 8;
|
||||
|
||||
// Evaluation weights, initialized from UCI options
|
||||
enum { Mobility, PassedPawns, Space, KingDangerUs, KingDangerThem };
|
||||
Score Weights[6];
|
||||
enum { Mobility, PassedPawns, Space };
|
||||
Score Weights[3];
|
||||
|
||||
typedef Value V;
|
||||
#define S(mg, eg) make_score(mg, eg)
|
||||
|
@ -88,7 +88,7 @@ namespace {
|
|||
//
|
||||
// Values modified by Joona Kiiski
|
||||
const Score WeightsInternal[] = {
|
||||
S(252, 344), S(216, 266), S(46, 0), S(247, 0), S(259, 0)
|
||||
S(252, 344), S(216, 266), S(46, 0)
|
||||
};
|
||||
|
||||
// MobilityBonus[PieceType][attacked] contains mobility bonuses for middle and
|
||||
|
@ -195,6 +195,10 @@ namespace {
|
|||
// the strength of the enemy attack are added up into an integer, which
|
||||
// is used as an index to KingDangerTable[].
|
||||
//
|
||||
// King safety evaluation is asymmetrical and different for us (root color)
|
||||
// and for our opponent. These values are used to init KingDangerTable.
|
||||
const int KingDangerWeights[] = { 259, 247 };
|
||||
|
||||
// KingAttackWeights[PieceType] contains king attack weights by piece type
|
||||
const int KingAttackWeights[] = { 0, 0, 2, 2, 3, 5 };
|
||||
|
||||
|
@ -284,16 +288,13 @@ namespace Eval {
|
|||
Weights[Mobility] = weight_option("Mobility (Middle Game)", "Mobility (Endgame)", WeightsInternal[Mobility]);
|
||||
Weights[PassedPawns] = weight_option("Passed Pawns (Middle Game)", "Passed Pawns (Endgame)", WeightsInternal[PassedPawns]);
|
||||
Weights[Space] = weight_option("Space", "Space", WeightsInternal[Space]);
|
||||
Weights[KingDangerUs] = weight_option("Cowardice", "Cowardice", WeightsInternal[KingDangerUs]);
|
||||
Weights[KingDangerThem] = weight_option("Aggressiveness", "Aggressiveness", WeightsInternal[KingDangerThem]);
|
||||
|
||||
// King safety is asymmetrical. Our king danger level is weighted by
|
||||
// "Cowardice" UCI parameter, instead the opponent one by "Aggressiveness".
|
||||
// If running in analysis mode, make sure we use symmetrical king safety. We
|
||||
// do this by replacing both Weights[kingDangerUs] and Weights[kingDangerThem]
|
||||
// by their average.
|
||||
int KingDanger[] = { KingDangerWeights[0], KingDangerWeights[1] };
|
||||
|
||||
// If running in analysis mode, make sure we use symmetrical king safety.
|
||||
// We do so by replacing both KingDanger weights by their average.
|
||||
if (Options["UCI_AnalyseMode"])
|
||||
Weights[KingDangerUs] = Weights[KingDangerThem] = (Weights[KingDangerUs] + Weights[KingDangerThem]) / 2;
|
||||
KingDanger[0] = KingDanger[1] = (KingDanger[0] + KingDanger[1]) / 2;
|
||||
|
||||
const int MaxSlope = 30;
|
||||
const int Peak = 1280;
|
||||
|
@ -302,8 +303,8 @@ namespace Eval {
|
|||
{
|
||||
t = std::min(Peak, std::min(int(0.4 * i * i), t + MaxSlope));
|
||||
|
||||
KingDangerTable[1][i] = apply_weight(make_score(t, 0), Weights[KingDangerUs]);
|
||||
KingDangerTable[0][i] = apply_weight(make_score(t, 0), Weights[KingDangerThem]);
|
||||
KingDangerTable[0][i] = apply_weight(make_score(t, 0), make_score(KingDanger[0], 0));
|
||||
KingDangerTable[1][i] = apply_weight(make_score(t, 0), make_score(KingDanger[1], 0));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -70,8 +70,6 @@ void init(OptionsMap& o) {
|
|||
o["Passed Pawns (Middle Game)"] = Option(100, 0, 200, on_eval);
|
||||
o["Passed Pawns (Endgame)"] = Option(100, 0, 200, on_eval);
|
||||
o["Space"] = Option(100, 0, 200, on_eval);
|
||||
o["Aggressiveness"] = Option(100, 0, 200, on_eval);
|
||||
o["Cowardice"] = Option(100, 0, 200, on_eval);
|
||||
o["Min Split Depth"] = Option(msd, 4, 7, on_threads);
|
||||
o["Max Threads per Split Point"] = Option(5, 4, 8, on_threads);
|
||||
o["Threads"] = Option(cpus, 1, MAX_THREADS, on_threads);
|
||||
|
|
Loading…
Add table
Reference in a new issue