X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fevaluate.cpp;h=0136db840f7031e5142919e9b97561d94b57496d;hb=589049a0e58f5cde377e620e1669d7ce17ff5ddd;hp=8987b0ecd0a72cc7337404f604ecb951b254e889;hpb=e7289465b9ecb2ab93b240285f8ab677eea86aeb;p=stockfish diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 8987b0ec..0136db84 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -194,10 +194,10 @@ namespace { const Score OtherCheck = S(10, 10); const Score ThreatByHangingPawn = S(71, 61); const Score LooseEnemies = S( 0, 25); - const Score WeakQueen = S(35, 0); + const Score WeakQueen = S(50, 10); const Score Hanging = S(48, 27); const Score ThreatByPawnPush = S(38, 22); - const Score Unstoppable = S( 0, 20); + const Score Unstoppable = S( 0, 45); const Score PawnlessFlank = S(20, 80); const Score HinderPassedPawn = S( 7, 0); const Score ThreatByRank = S(16, 3); @@ -349,7 +349,6 @@ namespace { Square ksq = pos.square(Us); if ( ((file_of(ksq) < FILE_E) == (file_of(s) < file_of(ksq))) - && (rank_of(ksq) == rank_of(s) || relative_rank(Us, ksq) == RANK_1) && !ei.pi->semiopen_side(Us, file_of(ksq), file_of(s) < file_of(ksq))) score -= (TrappedRook - make_score(mob * 22, 0)) * (1 + !pos.can_castle(Us)); } @@ -856,12 +855,11 @@ Value Eval::evaluate(const Position& pos) { // If both sides have only pawns, score for potential unstoppable pawns if (!pos.non_pawn_material(WHITE) && !pos.non_pawn_material(BLACK)) { - Bitboard b; - if ((b = ei.pi->passed_pawns(WHITE)) != 0) - score += Unstoppable * int(relative_rank(WHITE, frontmost_sq(WHITE, b))); + if (ei.pi->passed_pawns(WHITE)) + score += Unstoppable; - if ((b = ei.pi->passed_pawns(BLACK)) != 0) - score -= Unstoppable * int(relative_rank(BLACK, frontmost_sq(BLACK, b))); + if (ei.pi->passed_pawns(BLACK)) + score -= Unstoppable; } // Evaluate space for both sides, only during opening @@ -888,8 +886,9 @@ Value Eval::evaluate(const Position& pos) { Trace::add(IMBALANCE, ei.me->imbalance()); Trace::add(PAWN, ei.pi->pawns_score()); Trace::add(MOBILITY, mobility[WHITE], mobility[BLACK]); - Trace::add(SPACE, evaluate_space(pos, ei) - , evaluate_space(pos, ei)); + if (pos.non_pawn_material(WHITE) + pos.non_pawn_material(BLACK) >= 12222) + Trace::add(SPACE, evaluate_space(pos, ei) + , evaluate_space(pos, ei)); Trace::add(TOTAL, score); }