Skip to content

Commit

Permalink
Further simplify unstoppable (#938)
Browse files Browse the repository at this point in the history
By finally moving it into passed pawns eval.

Tested for no regression:
STC
LLR: 3.25 (-2.94,2.94) [-3.00,1.00]
Total: 57109 W: 10023 L: 9947 D: 37139

LTC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 21511 W: 2800 L: 2680 D: 16031

Bench: 5255881
  • Loading branch information
joergoster authored and mcostalba committed Dec 25, 2016
1 parent 3728e83 commit 8765f9c
Showing 1 changed file with 4 additions and 11 deletions.
15 changes: 4 additions & 11 deletions src/evaluate.cpp
Expand Up @@ -197,7 +197,6 @@ namespace {
const Score WeakQueen = S(50, 10);
const Score Hanging = S(48, 27);
const Score ThreatByPawnPush = S(38, 22);
const Score Unstoppable = S( 0, 45);
const Score PawnlessFlank = S(20, 80);
const Score HinderPassedPawn = S( 7, 0);
const Score ThreatByRank = S(16, 3);
Expand Down Expand Up @@ -678,6 +677,10 @@ namespace {
mbonus += rr + r * 2, ebonus += rr + r * 2;
} // rr != 0

// Assign a small bonus when no pieces left (unstoppable)
if (!pos.non_pawn_material(Us) && !pos.non_pawn_material(Them))
ebonus += 20;

score += make_score(mbonus, ebonus) + PassedFile[file_of(s)];
}

Expand Down Expand Up @@ -852,16 +855,6 @@ Value Eval::evaluate(const Position& pos) {
score += evaluate_passed_pawns<WHITE, DoTrace>(pos, ei)
- evaluate_passed_pawns<BLACK, DoTrace>(pos, ei);

// If both sides have only pawns, score for potential unstoppable pawns
if (!pos.non_pawn_material(WHITE) && !pos.non_pawn_material(BLACK))
{
if (ei.pi->passed_pawns(WHITE))
score += Unstoppable;

if (ei.pi->passed_pawns(BLACK))
score -= Unstoppable;
}

// Evaluate space for both sides, only during opening
if (pos.non_pawn_material(WHITE) + pos.non_pawn_material(BLACK) >= 12222)
score += evaluate_space<WHITE>(pos, ei)
Expand Down

0 comments on commit 8765f9c

Please sign in to comment.