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
// KingDanger[attackUnits] contains the actual king danger weighted
// scores, indexed by a calculated integer number.
// KingDanger[attackUnits] contains the actual king danger weighted
// scores, indexed by a calculated integer number.
// apply_weight() weighs score 's' by weight 'w' trying to prevent overflow
Score apply_weight(Score s, const Weight& w) {
// apply_weight() weighs score 's' by weight 'w' trying to prevent overflow
Score apply_weight(Score s, const Weight& w) {
// Finally, extract the king danger score from the KingDanger[]
// array and subtract the score from evaluation.
// Finally, extract the king danger score from the KingDanger[]
// 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)];
- const double MaxSlope = 30;
+ const double MaxSlope = 7.5;
const double Peak = 1280;
const double Peak = 1280;
- 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)));
- KingDanger[i] = apply_weight(make_score(t, 0), Weights[KingSafety]);
+ t = std::min(Peak, std::min(0.025 * i * i, t + MaxSlope));
+ KingDanger[i] = apply_weight(make_score(int(t), 0), Weights[KingSafety]);