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

Joona tweaks of pawns parameters

Test result after 999 games at 1+0

Mod vs Orig +278 =493 -228 52,50% +17 ELO

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2009-06-22 08:16:43 +02:00
parent 36c0ab3a50
commit d9e3be4790

View file

@ -39,93 +39,93 @@ namespace {
// Doubled pawn penalty by file, middle game. // Doubled pawn penalty by file, middle game.
const Value DoubledPawnMidgamePenalty[8] = { const Value DoubledPawnMidgamePenalty[8] = {
Value(20), Value(30), Value(34), Value(34), Value(13), Value(20), Value(23), Value(23),
Value(34), Value(34), Value(30), Value(20) Value(23), Value(23), Value(20), Value(13)
}; };
// Doubled pawn penalty by file, endgame. // Doubled pawn penalty by file, endgame.
const Value DoubledPawnEndgamePenalty[8] = { const Value DoubledPawnEndgamePenalty[8] = {
Value(35), Value(40), Value(40), Value(40), Value(43), Value(48), Value(48), Value(48),
Value(40), Value(40), Value(40), Value(35) Value(48), Value(48), Value(48), Value(43)
}; };
// Isolated pawn penalty by file, middle game. // Isolated pawn penalty by file, middle game.
const Value IsolatedPawnMidgamePenalty[8] = { const Value IsolatedPawnMidgamePenalty[8] = {
Value(20), Value(30), Value(34), Value(34), Value(25), Value(36), Value(40), Value(40),
Value(34), Value(34), Value(30), Value(20) Value(40), Value(40), Value(36), Value(25)
}; };
// Isolated pawn penalty by file, endgame. // Isolated pawn penalty by file, endgame.
const Value IsolatedPawnEndgamePenalty[8] = { const Value IsolatedPawnEndgamePenalty[8] = {
Value(35), Value(40), Value(40), Value(40), Value(30), Value(35), Value(35), Value(35),
Value(40), Value(40), Value(40), Value(35) Value(35), Value(35), Value(35), Value(30)
}; };
// Backward pawn penalty by file, middle game. // Backward pawn penalty by file, middle game.
const Value BackwardPawnMidgamePenalty[8] = { const Value BackwardPawnMidgamePenalty[8] = {
Value(16), Value(24), Value(27), Value(27), Value(20), Value(29), Value(33), Value(33),
Value(27), Value(27), Value(24), Value(16) Value(33), Value(33), Value(29), Value(20)
}; };
// Backward pawn penalty by file, endgame. // Backward pawn penalty by file, endgame.
const Value BackwardPawnEndgamePenalty[8] = { const Value BackwardPawnEndgamePenalty[8] = {
Value(28), Value(32), Value(32), Value(32), Value(28), Value(31), Value(31), Value(31),
Value(32), Value(32), Value(32), Value(28) Value(31), Value(31), Value(31), Value(28)
}; };
// Pawn chain membership bonus by file, middle game. // Pawn chain membership bonus by file, middle game.
const Value ChainMidgameBonus[8] = { const Value ChainMidgameBonus[8] = {
Value(14), Value(16), Value(17), Value(18), Value(11), Value(13), Value(13), Value(14),
Value(18), Value(17), Value(16), Value(14) Value(14), Value(13), Value(13), Value(11)
}; };
// Pawn chain membership bonus by file, endgame. // Pawn chain membership bonus by file, endgame.
const Value ChainEndgameBonus[8] = { const Value ChainEndgameBonus[8] = {
Value(16), Value(16), Value(16), Value(16), Value(-1), Value(-1), Value(-1), Value(-1),
Value(16), Value(16), Value(16), Value(16) Value(-1), Value(-1), Value(-1), Value(-1)
}; };
// Candidate passed pawn bonus by rank, middle game. // Candidate passed pawn bonus by rank, middle game.
const Value CandidateMidgameBonus[8] = { const Value CandidateMidgameBonus[8] = {
Value( 0), Value(12), Value(12), Value(20), Value( 0), Value( 6), Value(6), Value(14),
Value(40), Value(90), Value( 0), Value( 0) Value(34), Value(83), Value(0), Value( 0)
}; };
// Candidate passed pawn bonus by rank, endgame. // Candidate passed pawn bonus by rank, endgame.
const Value CandidateEndgameBonus[8] = { const Value CandidateEndgameBonus[8] = {
Value( 0), Value(24), Value(24), Value(40), Value( 0), Value( 13), Value(13), Value(29),
Value(80), Value(180), Value(0), Value( 0) Value(68), Value(166), Value( 0), Value( 0)
}; };
// Pawn storm tables for positions with opposite castling: // Pawn storm tables for positions with opposite castling:
const int QStormTable[64] = { const int QStormTable[64] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-22,-22,-22,-13,-4, 0, 0, 0, -22,-22,-22,-14,-6, 0, 0, 0,
-4, -9, -9, -9,-4, 0, 0, 0, -6,-10,-10,-10,-6, 0, 0, 0,
9, 18, 22, 18, 9, 0, 0, 0, 4, 12, 16, 12, 4, 0, 0, 0,
22, 31, 31, 22, 0, 0, 0, 0, 16, 23, 23, 16, 0, 0, 0, 0,
31, 40, 40, 31, 0, 0, 0, 0, 23, 31, 31, 23, 0, 0, 0, 0,
31, 40, 40, 31, 0, 0, 0, 0, 23, 31, 31, 23, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 0, 0, 0
}; };
const int KStormTable[64] = { const int KStormTable[64] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0,-4,-13,-22,-27,-27, 0, 0, 0,-10,-19,-28,-33,-33,
0, 0, 0,-4, -9,-13,-18,-18, 0, 0, 0,-10,-15,-19,-24,-24,
0, 0, 0, 0, 9, 9, 9, 9, 0, 0, 0, 0, 1, 1, 1, 1,
0, 0, 0, 0, 9, 18, 27, 27, 0, 0, 0, 0, 1, 10, 19, 19,
0, 0, 0, 0, 9, 27, 40, 36, 0, 0, 0, 0, 1, 19, 31, 27,
0, 0, 0, 0, 0, 31, 40, 31, 0, 0, 0, 0, 0, 22, 31, 22,
0, 0, 0, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 0, 0, 0
}; };
// Pawn storm open file bonuses by file // Pawn storm open file bonuses by file
const int16_t KStormOpenFileBonus[8] = { 45, 45, 30, 0, 0, 0, 0, 0 }; const int16_t KStormOpenFileBonus[8] = { 31, 31, 18, 0, 0, 0, 0, 0 };
const int16_t QStormOpenFileBonus[8] = { 0, 0, 0, 0, 0, 30, 45, 30 }; const int16_t QStormOpenFileBonus[8] = { 0, 0, 0, 0, 0, 26, 42, 26 };
// Pawn storm lever bonuses by file // Pawn storm lever bonuses by file
const int StormLeverBonus[8] = { 20, 20, 10, 0, 0, 10, 20, 20 }; const int StormLeverBonus[8] = { -8, -8, -13, 0, 0, -13, -8, -8 };
} }