Skip to content

Commit 62b72fe

Browse files
committed
tune
1 parent e31fdf3 commit 62b72fe

1 file changed

Lines changed: 25 additions & 92 deletions

File tree

‎Weights.h‎

Lines changed: 25 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ inline Value mopUpEdgeDistWeight = 10;
1616
inline Value spaceWeight = 2;
1717
inline Value bishopPairMg = 25;
1818
inline Value bishopPairEg = 50;
19+
inline Value developedMg = 8;
20+
inline Value developedEg = 4;
1921
inline Value rookOpenFileMg = 25;
2022
inline Value rookOpenFileEg = 20;
2123
inline Value rookSemiOpenFileMg = 15;
@@ -33,98 +35,6 @@ inline Value kqkEdgeWeight = 15;
3335
inline Value krkDistWeight = 5;
3436
inline Value krkEdgeWeight = 10;
3537
inline Value kpkWeight = 15;
36-
inline Value mgMobilityCnt[7][8] = {
37-
{ 0, 0, 0, 0, 0, 0, 0, 0 },
38-
{ 0, 0, 0, 0, 0, 0, 0, 0 },
39-
{ -15, -8, -2, 4, 10, 16, 22, 28 },
40-
{ -20, -12, -4, 5, 14, 23, 32, 40 },
41-
{ -25, -15, -5, 5, 15, 25, 35, 45 },
42-
{ -30, -18, -6, 6, 18, 30, 42, 55 },
43-
{ -10, -5, 0, 5, 10, 15, 20, 25 }
44-
};
45-
inline Value egMobilityCnt[7][8] = {
46-
{ 0, 0, 0, 0, 0, 0, 0, 0 },
47-
{ 0, 0, 0, 0, 0, 0, 0, 0 },
48-
{ -20, -12, -4, 5, 14, 23, 32, 40 },
49-
{ -25, -15, -5, 5, 16, 27, 38, 50 },
50-
{ -30, -18, -6, 6, 18, 30, 42, 55 },
51-
{ -35, -22, -8, 8, 22, 35, 48, 60 },
52-
{ -15, -8, -2, 4, 10, 16, 22, 28 }
53-
};
54-
inline Value kingTropismMg[7] = { 0, 0, 3, 2, 2, 5, 0 };
55-
inline Value kingTropismEg[7] = { 0, 0, 2, 2, 3, 4, 0 };
56-
inline Value passedBonusMg[7] = { 0, 5, 15, 40, 80, 140, 200 };
57-
inline Value passedBonusEg[7] = { 0, 10, 30, 70, 140, 230, 350 };
58-
inline Value mg_knight_table[64] = { -50, -40, -30, -30, -30, -30, -40, -50, -40, -20, 0, 5, 5, 0, -20, -40,
59-
-30, 5, 10, 15, 15, 10, 5, -30, -30, 0, 15, 20, 20, 15, 0, -30,
60-
-30, 5, 15, 20, 20, 15, 5, -30, -30, 0, 10, 15, 15, 10, 0, -30,
61-
-40, -20, 0, 0, 0, 0, -20, -40, -50, -40, -30, -30, -30, -30, -40, -50 };
62-
inline Value mg_bishop_table[64] = { -20, -10, -10, -10, -10, -10, -10, -20, -10, 0, 0, 0, 0, 0, 0, -10,
63-
-10, 0, 10, 10, 10, 10, 0, -10, -10, 0, 5, 10, 10, 5, 0, -10,
64-
-10, 5, 5, 10, 10, 5, 5, -10, -10, 0, 10, 10, 10, 10, 0, -10,
65-
-10, 0, 0, 0, 0, 0, 0, -10, -20, -10, -10, -10, -10, -10, -10, -20 };
66-
inline Value mg_rook_table[64] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5,
67-
5, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5,
68-
5, 5, 5, 0, 10, 15, 15, 15, 15, 15, 15, 10, 0, 0, 0, 0, 0, 0, 0, 0 };
69-
inline Value mg_king_table[64] = { -30, -40, -40, -50, -50, -40, -40, -30, -30, -40, -40, -50, -50, -40, -40, -30,
70-
-30, -40, -40, -50, -50, -40, -40, -30, -30, -40, -40, -50, -50, -40, -40, -30,
71-
-20, -30, -30, -40, -40, -30, -30, -20, -10, -20, -20, -20, -20, -20, -20, -10,
72-
20, 20, 0, 0, 0, 0, 20, 20, 20, 30, 10, 0, 0, 10, 30, 20 };
73-
inline Value mg_queen_table[64] = { -20, -10, -10, -5, -5, -10, -10, -20, -10, 0, 5, 0, 0, 0, 0, -10,
74-
-10, 5, 5, 5, 5, 5, 0, -10, 0, 0, 5, 5, 5, 5, 0, -5,
75-
-5, 0, 5, 5, 5, 5, 0, -5, -10, 0, 5, 5, 5, 5, 0, -10,
76-
-10, 0, 0, 0, 0, 0, 0, -10, -20, -10, -10, -5, -5, -10, -10, -20 };
77-
inline Value eg_knight_table[64] = { -50, -40, -20, -20, -20, -20, -40, -50, -40, -10, 5, 10, 10, 5, -10, -40,
78-
-30, 10, 20, 25, 25, 20, 10, -30, -30, 15, 25, 30, 30, 25, 15, -30,
79-
-30, 15, 25, 30, 30, 25, 15, -30, -30, 10, 20, 25, 25, 20, 10, -30,
80-
-40, -10, 5, 10, 10, 5, -10, -40, -50, -40, -20, -20, -20, -20, -40, -50 };
81-
inline Value eg_bishop_table[64] = { -10, -5, -5, -5, -5, -5, -5, -10, -5, 5, 10, 10, 10, 10, 5, -5, -5, 10, 15, 20, 20, 15,
82-
10, -5, -5, 10, 20, 25, 25, 20, 10, -5, -5, 10, 20, 25, 25, 20, 10, -5, -5, 10, 15, 20,
83-
20, 15, 10, -5, -5, 5, 10, 10, 10, 10, 5, -5, -10, -5, -5, -5, -5, -5, -5, -10 };
84-
inline Value eg_rook_table[64] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 10, 15, 15, 10, 5, 0, 0, 5, 10, 15, 15, 10,
85-
5, 0, 0, 5, 10, 15, 15, 10, 5, 0, 10, 15, 20, 25, 25, 20, 15, 10, 10, 15, 20, 25,
86-
25, 20, 15, 10, 20, 25, 30, 35, 35, 30, 25, 20, 0, 0, 0, 5, 5, 0, 0, 0 };
87-
inline Value eg_king_table[64] = { -50, -40, -30, -20, -20, -30, -40, -50, -40, -20, 0, 10, 10, 0, -20, -40,
88-
-30, 0, 20, 30, 30, 20, 0, -30, -20, 10, 30, 40, 40, 30, 10, -20,
89-
-20, 10, 30, 40, 40, 30, 10, -20, -30, 0, 20, 30, 30, 20, 0, -30,
90-
-40, -20, 0, 10, 10, 0, -20, -40, -50, -40, -30, -20, -20, -30, -40, -50 };
91-
inline Value eg_queen_table[64] = { -10, -5, -5, 0, 0, -5, -5, -10, -5, 0, 5, 5, 5, 5, 0, -5, -5, 5, 10, 15, 15, 10,
92-
5, -5, -5, 10, 15, 20, 20, 15, 10, -5, -5, 10, 15, 20, 20, 15, 10, -5, -5, 5, 10, 15,
93-
15, 10, 5, -5, -5, 0, 5, 5, 5, 5, 0, -5, -10, -5, -5, 0, 0, -5, -5, -10 };
94-
inline Value mg_pawn_table[56] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, -2, 2,
95-
5, 5, 2, -2, -5, -10, -5, 10, 20, 20, 10, -5, -10, -20, -10, 25, 40, 40, 25,
96-
-10, -20, -35, -20, 50, 80, 80, 50, -20, -35, -55, -40, 90, 130, 130, 90, -40, -55 };
97-
inline Value eg_pawn_table[56] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, -2, 2,
98-
5, 5, 2, -2, -5, -10, -5, 10, 20, 20, 10, -5, -10, -20, -10, 30, 55, 55, 30,
99-
-10, -20, -35, -20, 70, 110, 110, 70, -20, -35, -60, -45, 120, 180, 180, 120, -45, -60 };
100-
inline Value developedMg = 8;
101-
inline Value developedEg = 4;
102-
inline Value outpostBonusKnight[2] = { 15, 30 };
103-
inline Value outpostBonusBishop[2] = { 10, 25 };
104-
inline Value kingProtector[6][2] = {
105-
{ 0, 0 },
106-
{ 8, 12 },
107-
{ 5, 10 },
108-
{ 10, 15 },
109-
{ 3, 5 },
110-
{ 0, 0 }
111-
};
112-
inline Value threatByMinor[7][2] = {
113-
{ 0, 0 },
114-
{ 0, 0 },
115-
{ 15, 25 },
116-
{ 15, 25 },
117-
{ 25, 35 },
118-
{ 35, 50 }
119-
};
120-
inline Value threatByRook[7][2] = {
121-
{ 0, 0 },
122-
{ 0, 0 },
123-
{ 10, 15 },
124-
{ 10, 15 },
125-
{ 20, 25 },
126-
{ 25, 35 }
127-
};
12838
inline Value hangingScore = 70;
12939
inline Value overloadScore = 25;
13040
inline Value threatByRankScore = 10;
@@ -135,5 +45,28 @@ inline Value queenImWt = 50;
13545
inline Value rammedPawnPenalty = 10;
13646
inline Value rookOnSeventhBonus = 30;
13747
inline Value earlyQueenPenalty = 5;
48+
inline Value mgMobilityCnt[7][8] = { { 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0 }, { -15, -8, -2, 4, 10, 16, 22, 28 }, { -20, -12, -4, 5, 14, 23, 32, 40 }, { -25, -15, -5, 5, 15, 25, 35, 45 }, { -30, -18, -6, 6, 18, 30, 42, 55 }, { -10, -5, 0, 5, 10, 15, 20, 25 } };
49+
inline Value egMobilityCnt[7][8] = { { 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0 }, { -20, -12, -4, 5, 14, 23, 32, 40 }, { -25, -15, -5, 5, 16, 27, 38, 50 }, { -30, -18, -6, 6, 18, 30, 42, 55 }, { -35, -22, -8, 8, 22, 35, 48, 60 }, { -15, -8, -2, 4, 10, 16, 22, 28 } };
50+
inline Value kingTropismMg[7] = { 0, 0, 3, 2, 2, 5, 0 };
51+
inline Value kingTropismEg[7] = { 0, 0, 2, 2, 3, 4, 0 };
52+
inline Value passedBonusMg[7] = { 0, 5, 15, 40, 80, 140, 200 };
53+
inline Value passedBonusEg[7] = { 0, 10, 30, 70, 140, 230, 350 };
54+
inline Value mg_knight_table[64] = { -50, -40, -30, -30, -30, -30, -40, -50, -40, -20, 0, 5, 5, 0, -20, -40, -30, 5, 10, 15, 15, 10, 5, -30, -30, 0, 15, 20, 20, 15, 0, -30, -30, 5, 15, 20, 20, 15, 5, -30, -30, 0, 10, 15, 15, 10, 0, -30, -40, -20, 0, 0, 0, 0, -20, -40, -50, -40, -30, -30, -30, -30, -40, -50 };
55+
inline Value mg_bishop_table[64] = { -20, -10, -10, -10, -10, -10, -10, -20, -10, 0, 0, 0, 0, 0, 0, -10, -10, 0, 10, 10, 10, 10, 0, -10, -10, 0, 5, 10, 10, 5, 0, -10, -10, 5, 5, 10, 10, 5, 5, -10, -10, 0, 10, 10, 10, 10, 0, -10, -10, 0, 0, 0, 0, 0, 0, -10, -20, -10, -10, -10, -10, -10, -10, -20 };
56+
inline Value mg_rook_table[64] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 5, 5, 0, 10, 15, 15, 15, 15, 15, 15, 10, 0, 0, 0, 0, 0, 0, 0, 0 };
57+
inline Value mg_king_table[64] = { -30, -40, -40, -50, -50, -40, -40, -30, -30, -40, -40, -50, -50, -40, -40, -30, -30, -40, -40, -50, -50, -40, -40, -30, -30, -40, -40, -50, -50, -40, -40, -30, -20, -30, -30, -40, -40, -30, -30, -20, -10, -20, -20, -20, -20, -20, -20, -10, 20, 20, 0, 0, 0, 0, 20, 20, 20, 30, 10, 0, 0, 10, 30, 20 };
58+
inline Value mg_queen_table[64] = { -20, -10, -10, -5, -5, -10, -10, -20, -10, 0, 5, 0, 0, 0, 0, -10, -10, 5, 5, 5, 5, 5, 0, -10, 0, 0, 5, 5, 5, 5, 0, -5, -5, 0, 5, 5, 5, 5, 0, -5, -10, 0, 5, 5, 5, 5, 0, -10, -10, 0, 0, 0, 0, 0, 0, -10, -20, -10, -10, -5, -5, -10, -10, -20 };
59+
inline Value eg_knight_table[64] = { -50, -40, -20, -20, -20, -20, -40, -50, -40, -10, 5, 10, 10, 5, -10, -40, -30, 10, 20, 25, 25, 20, 10, -30, -30, 15, 25, 30, 30, 25, 15, -30, -30, 15, 25, 30, 30, 25, 15, -30, -30, 10, 20, 25, 25, 20, 10, -30, -40, -10, 5, 10, 10, 5, -10, -40, -50, -40, -20, -20, -20, -20, -40, -50 };
60+
inline Value eg_bishop_table[64] = { -10, -5, -5, -5, -5, -5, -5, -10, -5, 5, 10, 10, 10, 10, 5, -5, -5, 10, 15, 20, 20, 15, 10, -5, -5, 10, 20, 25, 25, 20, 10, -5, -5, 10, 20, 25, 25, 20, 10, -5, -5, 10, 15, 20, 20, 15, 10, -5, -5, 5, 10, 10, 10, 10, 5, -5, -10, -5, -5, -5, -5, -5, -5, -10 };
61+
inline Value eg_rook_table[64] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 10, 15, 15, 10, 5, 0, 0, 5, 10, 15, 15, 10, 5, 0, 0, 5, 10, 15, 15, 10, 5, 0, 10, 15, 20, 25, 25, 20, 15, 10, 10, 15, 20, 25, 25, 20, 15, 10, 20, 25, 30, 35, 35, 30, 25, 20, 0, 0, 0, 5, 5, 0, 0, 0 };
62+
inline Value eg_king_table[64] = { -50, -40, -30, -20, -20, -30, -40, -50, -40, -20, 0, 10, 10, 0, -20, -40, -30, 0, 20, 30, 30, 20, 0, -30, -20, 10, 30, 40, 40, 30, 10, -20, -20, 10, 30, 40, 40, 30, 10, -20, -30, 0, 20, 30, 30, 20, 0, -30, -40, -20, 0, 10, 10, 0, -20, -40, -50, -40, -30, -20, -20, -30, -40, -50 };
63+
inline Value eg_queen_table[64] = { -10, -5, -5, 0, 0, -5, -5, -10, -5, 0, 5, 5, 5, 5, 0, -5, -5, 5, 10, 15, 15, 10, 5, -5, -5, 10, 15, 20, 20, 15, 10, -5, -5, 10, 15, 20, 20, 15, 10, -5, -5, 5, 10, 15, 15, 10, 5, -5, -5, 0, 5, 5, 5, 5, 0, -5, -10, -5, -5, 0, 0, -5, -5, -10 };
64+
inline Value mg_pawn_table[56] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, -2, 2, 5, 5, 2, -2, -5, -10, -5, 10, 20, 20, 10, -5, -10, -20, -10, 25, 40, 40, 25, -10, -20, -35, -20, 50, 80, 80, 50, -20, -35, -55, -40, 90, 130, 130, 90, -40, -55 };
65+
inline Value eg_pawn_table[56] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -5, -2, 2, 5, 5, 2, -2, -5, -10, -5, 10, 20, 20, 10, -5, -10, -20, -10, 30, 55, 55, 30, -10, -20, -35, -20, 70, 110, 110, 70, -20, -35, -60, -45, 120, 180, 180, 120, -45, -60 };
66+
inline Value outpostBonusKnight[2] = { 15, 30 };
67+
inline Value outpostBonusBishop[2] = { 10, 25 };
68+
inline Value kingProtector[6][2] = { { 0, 0 }, { 8, 12 }, { 5, 10 }, { 10, 15 }, { 3, 5 }, { 0, 0 } };
69+
inline Value threatByMinor[7][2] = { { 0, 0 }, { 0, 0 }, { 15, 25 }, { 15, 25 }, { 25, 35 }, { 35, 50 }, { 0, 0 } };
70+
inline Value threatByRook[7][2] = { { 0, 0 }, { 0, 0 }, { 10, 15 }, { 10, 15 }, { 20, 25 }, { 25, 35 }, { 0, 0 } };
13871
} // namespace engine::eval
13972
#endif

0 commit comments

Comments
 (0)