mirror of
https://github.com/sockspls/badfish
synced 2025-05-02 17:49:35 +00:00
A combo of parameter tweaks
Joint work by SFisGOD, xoroshiro and Chess13234. This combo consists of the following tweaks: Assorted bonuses and penalties by SFisGOD Bishop and Rook PSQT by SFisGOD Tempo Value by xoroshiro Futility pruning by Chess13234 STC: LLR: 2.95 (-2.94,2.94) [0.00,4.00] Total: 9005 W: 2082 L: 1882 D: 5041 http://tests.stockfishchess.org/tests/view/5c11628c0ebc5902ba119e90 LTC: LLR: 2.95 (-2.94,2.94) [0.00,4.00] Total: 44207 W: 7451 L: 7157 D: 29599 http://tests.stockfishchess.org/tests/view/5c1172a40ebc5902ba119fa3 Bench: 3332460
This commit is contained in:
parent
883367d217
commit
31ac538f96
4 changed files with 36 additions and 36 deletions
|
@ -152,25 +152,25 @@ namespace {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Assorted bonuses and penalties
|
// Assorted bonuses and penalties
|
||||||
constexpr Score BishopPawns = S( 3, 8);
|
constexpr Score BishopPawns = S( 3, 7);
|
||||||
constexpr Score CloseEnemies = S( 7, 0);
|
constexpr Score CloseEnemies = S( 8, 0);
|
||||||
constexpr Score CorneredBishop = S( 50, 50);
|
constexpr Score CorneredBishop = S( 50, 50);
|
||||||
constexpr Score Hanging = S( 62, 34);
|
constexpr Score Hanging = S( 69, 36);
|
||||||
constexpr Score KingProtector = S( 6, 7);
|
constexpr Score KingProtector = S( 7, 8);
|
||||||
constexpr Score KnightOnQueen = S( 20, 12);
|
constexpr Score KnightOnQueen = S( 16, 12);
|
||||||
constexpr Score LongDiagonalBishop = S( 44, 0);
|
constexpr Score LongDiagonalBishop = S( 45, 0);
|
||||||
constexpr Score MinorBehindPawn = S( 16, 0);
|
constexpr Score MinorBehindPawn = S( 18, 3);
|
||||||
constexpr Score PawnlessFlank = S( 18, 94);
|
constexpr Score PawnlessFlank = S( 17, 95);
|
||||||
constexpr Score RestrictedPiece = S( 7, 6);
|
constexpr Score RestrictedPiece = S( 7, 7);
|
||||||
constexpr Score RookOnPawn = S( 10, 28);
|
constexpr Score RookOnPawn = S( 10, 32);
|
||||||
constexpr Score SliderOnQueen = S( 49, 21);
|
constexpr Score SliderOnQueen = S( 59, 18);
|
||||||
constexpr Score ThreatByKing = S( 21, 84);
|
constexpr Score ThreatByKing = S( 24, 89);
|
||||||
constexpr Score ThreatByPawnPush = S( 48, 42);
|
constexpr Score ThreatByPawnPush = S( 48, 39);
|
||||||
constexpr Score ThreatByRank = S( 14, 3);
|
constexpr Score ThreatByRank = S( 13, 0);
|
||||||
constexpr Score ThreatBySafePawn = S(169, 99);
|
constexpr Score ThreatBySafePawn = S(173, 94);
|
||||||
constexpr Score TrappedRook = S( 98, 5);
|
constexpr Score TrappedRook = S( 96, 4);
|
||||||
constexpr Score WeakQueen = S( 51, 10);
|
constexpr Score WeakQueen = S( 49, 15);
|
||||||
constexpr Score WeakUnopposedPawn = S( 14, 20);
|
constexpr Score WeakUnopposedPawn = S( 12, 23);
|
||||||
|
|
||||||
#undef S
|
#undef S
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ class Position;
|
||||||
|
|
||||||
namespace Eval {
|
namespace Eval {
|
||||||
|
|
||||||
constexpr Value Tempo = Value(20); // Must be visible to search
|
constexpr Value Tempo = Value(28); // Must be visible to search
|
||||||
|
|
||||||
std::string trace(const Position& pos);
|
std::string trace(const Position& pos);
|
||||||
|
|
||||||
|
|
32
src/psqt.cpp
32
src/psqt.cpp
|
@ -49,24 +49,24 @@ constexpr Score Bonus[][RANK_NB][int(FILE_NB) / 2] = {
|
||||||
{ S(-200, -98), S(-80,-89), S(-53,-53), S(-32,-16) }
|
{ S(-200, -98), S(-80,-89), S(-53,-53), S(-32,-16) }
|
||||||
},
|
},
|
||||||
{ // Bishop
|
{ // Bishop
|
||||||
{ S(-49,-58), S(- 7,-31), S(-10,-37), S(-34,-19) },
|
{ S(-44,-63), S( -4,-30), S(-11,-35), S(-28, -8) },
|
||||||
{ S(-24,-34), S( 9, -9), S( 15,-14), S( 1, 4) },
|
{ S(-18,-38), S( 7,-13), S( 14,-14), S( 3, 0) },
|
||||||
{ S( -9,-23), S( 22, 0), S( -3, -3), S( 12, 16) },
|
{ S( -8,-18), S( 24, 0), S( -3, -7), S( 15, 13) },
|
||||||
{ S( 4,-26), S( 9, -3), S( 18, -5), S( 40, 16) },
|
{ S( 1,-26), S( 8, -3), S( 26, 1), S( 37, 16) },
|
||||||
{ S( -8,-26), S( 27, -4), S( 13, -7), S( 30, 14) },
|
{ S( -7,-24), S( 30, -6), S( 23,-10), S( 28, 17) },
|
||||||
{ S(-17,-24), S( 14, -2), S( -6, 0), S( 6, 13) },
|
{ S(-17,-26), S( 4, 2), S( -1, 1), S( 8, 16) },
|
||||||
{ S(-19,-34), S(-13,-10), S( 7,-12), S(-11, 6) },
|
{ S(-21,-34), S(-19,-18), S( 10, -7), S( -6, 9) },
|
||||||
{ S(-47,-55), S( -7,-32), S(-17,-36), S(-29,-17) }
|
{ S(-48,-51), S( -3,-40), S(-12,-39), S(-25,-20) }
|
||||||
},
|
},
|
||||||
{ // Rook
|
{ // Rook
|
||||||
{ S(-24, 0), S(-15, 3), S( -8, 0), S( 0, 3) },
|
{ S(-24, -2), S(-13,-6), S( -7, -3), S( 2,-2) },
|
||||||
{ S(-18,-7), S( -5,-5), S( -1,-5), S( 1,-1) },
|
{ S(-18,-10), S(-10,-7), S( -5, 1), S( 9, 0) },
|
||||||
{ S(-19, 6), S(-10,-7), S( 1, 3), S( 0, 3) },
|
{ S(-21, 10), S( -7,-4), S( 3, 2), S(-1,-2) },
|
||||||
{ S(-21, 0), S( -7, 4), S( -4,-2), S(-4, 1) },
|
{ S(-13, -5), S( -5, 2), S( -4, -8), S(-6, 8) },
|
||||||
{ S(-21,-7), S(-12, 5), S( -1,-5), S( 4,-7) },
|
{ S(-24, -8), S(-12, 5), S( -1, 4), S( 6,-9) },
|
||||||
{ S(-23, 3), S(-10, 2), S( 1,-1), S( 6, 3) },
|
{ S(-24, 3), S( -4,-2), S( 4,-10), S(10, 7) },
|
||||||
{ S(-11,-1), S( 8, 7), S( 9,11), S(12,-1) },
|
{ S( -8, 1), S( 6, 2), S( 10, 17), S(12,-8) },
|
||||||
{ S(-25, 6), S(-18, 4), S(-11, 6), S( 2, 2) }
|
{ S(-22, 12), S(-24,-6), S( -6, 13), S( 4, 7) }
|
||||||
},
|
},
|
||||||
{ // Queen
|
{ // Queen
|
||||||
{ S( 3,-69), S(-5,-57), S(-5,-47), S( 4,-26) },
|
{ S( 3,-69), S(-5,-57), S(-5,-47), S( 4,-26) },
|
||||||
|
|
|
@ -764,7 +764,7 @@ namespace {
|
||||||
|| (ss-2)->staticEval == VALUE_NONE;
|
|| (ss-2)->staticEval == VALUE_NONE;
|
||||||
|
|
||||||
// Step 8. Futility pruning: child node (~30 Elo)
|
// Step 8. Futility pruning: child node (~30 Elo)
|
||||||
if ( !rootNode
|
if ( !PvNode
|
||||||
&& depth < 7 * ONE_PLY
|
&& depth < 7 * ONE_PLY
|
||||||
&& eval - futility_margin(depth, improving) >= beta
|
&& eval - futility_margin(depth, improving) >= beta
|
||||||
&& eval < VALUE_KNOWN_WIN) // Do not return unproven wins
|
&& eval < VALUE_KNOWN_WIN) // Do not return unproven wins
|
||||||
|
|
Loading…
Add table
Reference in a new issue