1
0
Fork 0
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:
Marco Costalba 2013-01-04 16:49:24 +01:00
parent 2d60995c00
commit bff65a211f
3 changed files with 17 additions and 20 deletions

View file

@ -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

View file

@ -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));
}
}

View file

@ -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);