1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-05-02 09:39:36 +00:00

King safety and rook mobility parameters tweak

STC:
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 19280 W: 3595 L: 3373 D: 12312

LTC:
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 221405 W: 28940 L: 28220 D: 164245

Bench: 6506664

Closes #1105
This commit is contained in:
IIvec 2017-05-07 20:56:04 -07:00 committed by Joona Kiiski
parent 69ec09bd4b
commit ae97941628

View file

@ -123,9 +123,9 @@ namespace {
{ S(-48,-59), S(-20,-23), S( 16, -3), S( 26, 13), S( 38, 24), S( 51, 42), // Bishops { S(-48,-59), S(-20,-23), S( 16, -3), S( 26, 13), S( 38, 24), S( 51, 42), // Bishops
S( 55, 54), S( 63, 57), S( 63, 65), S( 68, 73), S( 81, 78), S( 81, 86), S( 55, 54), S( 63, 57), S( 63, 65), S( 68, 73), S( 81, 78), S( 81, 86),
S( 91, 88), S( 98, 97) }, S( 91, 88), S( 98, 97) },
{ S(-60,-77), S(-26,-20), S(-11, 27), S( -6, 57), S( -3, 69), S( -1, 82), // Rooks { S(-58,-76), S(-27,-18), S(-15, 28), S(-10, 55), S( -5, 69), S( -2, 82), // Rooks
S( 10,109), S( 16,121), S( 24,131), S( 25,143), S( 32,155), S( 32,163), S( 9,112), S( 16,118), S( 30,132), S( 29,142), S( 32,155), S( 38,165),
S( 43,167), S( 48,171), S( 56,173) }, S( 46,166), S( 48,169), S( 58,171) },
{ S(-39,-36), S(-21,-15), S( 3, 8), S( 3, 18), S( 14, 34), S( 22, 54), // Queens { S(-39,-36), S(-21,-15), S( 3, 8), S( 3, 18), S( 14, 34), S( 22, 54), // Queens
S( 28, 61), S( 41, 73), S( 43, 79), S( 48, 92), S( 56, 94), S( 60,104), S( 28, 61), S( 41, 73), S( 43, 79), S( 48, 92), S( 56, 94), S( 60,104),
S( 60,113), S( 66,120), S( 67,123), S( 70,126), S( 71,133), S( 73,136), S( 60,113), S( 66,120), S( 67,123), S( 70,126), S( 71,133), S( 73,136),
@ -211,9 +211,9 @@ namespace {
const int KingAttackWeights[PIECE_TYPE_NB] = { 0, 0, 78, 56, 45, 11 }; const int KingAttackWeights[PIECE_TYPE_NB] = { 0, 0, 78, 56, 45, 11 };
// Penalties for enemy's safe checks // Penalties for enemy's safe checks
const int QueenCheck = 810; const int QueenCheck = 780;
const int RookCheck = 888; const int RookCheck = 880;
const int BishopCheck = 400; const int BishopCheck = 435;
const int KnightCheck = 790; const int KnightCheck = 790;
// Threshold for lazy and space evaluation // Threshold for lazy and space evaluation
@ -425,11 +425,11 @@ namespace {
// attacked and undefended squares around our king and the quality of // attacked and undefended squares around our king and the quality of
// the pawn shelter (current 'score' value). // the pawn shelter (current 'score' value).
kingDanger = ei.kingAttackersCount[Them] * ei.kingAttackersWeight[Them] kingDanger = ei.kingAttackersCount[Them] * ei.kingAttackersWeight[Them]
+ 103 * ei.kingAdjacentZoneAttacksCount[Them] + 102 * ei.kingAdjacentZoneAttacksCount[Them]
+ 190 * popcount(undefended) + 201 * popcount(undefended)
+ 142 * (popcount(b) + !!pos.pinned_pieces(Us)) + 143 * (popcount(b) + !!pos.pinned_pieces(Us))
- 810 * !pos.count<QUEEN>(Them) - 848 * !pos.count<QUEEN>(Them)
- 6 * mg_value(score) / 5 - 5; - 28 * mg_value(score) / 25 - 5;
// Analyse the safe enemy's checks which are possible on next move // Analyse the safe enemy's checks which are possible on next move
safe = ~pos.pieces(Them); safe = ~pos.pieces(Them);