mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 08:43:09 +00:00
Smoother king safety
STC: LLR: 4.03 (-2.94,2.94) [-1.50,4.50] Total: 35707 W: 7352 L: 7106 D: 21249 LTC: LLR: 2.95 (-2.94,2.94) [0.00,4.00] Total: 24563 W: 4330 L: 4095 D: 16138 Bench: 8411409 Resolves #190
This commit is contained in:
parent
9d1e2c0e76
commit
c7332d5610
1 changed files with 7 additions and 6 deletions
|
@ -198,7 +198,7 @@ namespace {
|
||||||
|
|
||||||
// KingDanger[attackUnits] contains the actual king danger weighted
|
// KingDanger[attackUnits] contains the actual king danger weighted
|
||||||
// scores, indexed by a calculated integer number.
|
// scores, indexed by a calculated integer number.
|
||||||
Score KingDanger[128];
|
Score KingDanger[512];
|
||||||
|
|
||||||
// apply_weight() weighs score 's' by weight 'w' trying to prevent overflow
|
// apply_weight() weighs score 's' by weight 'w' trying to prevent overflow
|
||||||
Score apply_weight(Score s, const Weight& w) {
|
Score apply_weight(Score s, const Weight& w) {
|
||||||
|
@ -476,7 +476,7 @@ namespace {
|
||||||
|
|
||||||
// Finally, extract the king danger score from the KingDanger[]
|
// Finally, extract the king danger score from the KingDanger[]
|
||||||
// array and subtract the score from evaluation.
|
// array and subtract the score from evaluation.
|
||||||
score -= KingDanger[std::max(std::min(attackUnits / 4, 99), 0)];
|
score -= KingDanger[std::max(std::min(attackUnits, 399), 0)];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Trace)
|
if (Trace)
|
||||||
|
@ -891,13 +891,14 @@ namespace Eval {
|
||||||
|
|
||||||
void init() {
|
void init() {
|
||||||
|
|
||||||
const double MaxSlope = 30;
|
const double MaxSlope = 7.5;
|
||||||
const double Peak = 1280;
|
const double Peak = 1280;
|
||||||
|
double t = 0.0;
|
||||||
|
|
||||||
for (int t = 0, i = 1; i < 100; ++i)
|
for (int i = 1; i < 400; ++i)
|
||||||
{
|
{
|
||||||
t = int(std::min(Peak, std::min(0.4 * i * i, t + MaxSlope)));
|
t = std::min(Peak, std::min(0.025 * i * i, t + MaxSlope));
|
||||||
KingDanger[i] = apply_weight(make_score(t, 0), Weights[KingSafety]);
|
KingDanger[i] = apply_weight(make_score(int(t), 0), Weights[KingSafety]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue