@@ -34,145 +34,69 @@ inline Value krkDistWeight = 5;
3434inline Value krkEdgeWeight = 10 ;
3535inline Value kpkWeight = 15 ;
3636inline 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 }
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 }
4444};
4545inline 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 }
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 }
5353};
5454inline Value kingTropismMg[7 ] = { 0 , 0 , 3 , 2 , 2 , 5 , 0 };
5555inline Value kingTropismEg[7 ] = { 0 , 0 , 2 , 2 , 3 , 4 , 0 };
5656inline Value passedBonusMg[7 ] = { 0 , 5 , 15 , 40 , 80 , 140 , 200 };
5757inline Value passedBonusEg[7 ] = { 0 , 10 , 30 , 70 , 140 , 230 , 350 };
58- inline Value mg_knight_table[64 ] = {
59- -50 , -40 , -30 , -30 , -30 , -30 , -40 , -50 ,
60- -40 , -20 , 0 , 5 , 5 , 0 , -20 , -40 ,
61- -30 , 5 , 10 , 15 , 15 , 10 , 5 , -30 ,
62- -30 , 0 , 15 , 20 , 20 , 15 , 0 , -30 ,
63- -30 , 5 , 15 , 20 , 20 , 15 , 5 , -30 ,
64- -30 , 0 , 10 , 15 , 15 , 10 , 0 , -30 ,
65- -40 , -20 , 0 , 0 , 0 , 0 , -20 , -40 ,
66- -50 , -40 , -30 , -30 , -30 , -30 , -40 , -50
67- };
68- inline Value mg_bishop_table[64 ] = {
69- -20 , -10 , -10 , -10 , -10 , -10 , -10 , -20 ,
70- -10 , 0 , 0 , 0 , 0 , 0 , 0 , -10 ,
71- -10 , 0 , 10 , 10 , 10 , 10 , 0 , -10 ,
72- -10 , 0 , 5 , 10 , 10 , 5 , 0 , -10 ,
73- -10 , 5 , 5 , 10 , 10 , 5 , 5 , -10 ,
74- -10 , 0 , 10 , 10 , 10 , 10 , 0 , -10 ,
75- -10 , 0 , 0 , 0 , 0 , 0 , 0 , -10 ,
76- -20 , -10 , -10 , -10 , -10 , -10 , -10 , -20
77- };
78- inline Value mg_rook_table[64 ] = {
79- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
80- 0 , 5 , 5 , 5 , 5 , 5 , 5 , 0 ,
81- 0 , 5 , 5 , 5 , 5 , 5 , 5 , 0 ,
82- 0 , 5 , 5 , 5 , 5 , 5 , 5 , 0 ,
83- 0 , 5 , 5 , 5 , 5 , 5 , 5 , 0 ,
84- 0 , 5 , 5 , 5 , 5 , 5 , 5 , 0 ,
85- 10 , 15 , 15 , 15 , 15 , 15 , 15 , 10 ,
86- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
87- };
88- inline Value mg_king_table[64 ] = {
89- -30 , -40 , -40 , -50 , -50 , -40 , -40 , -30 ,
90- -30 , -40 , -40 , -50 , -50 , -40 , -40 , -30 ,
91- -30 , -40 , -40 , -50 , -50 , -40 , -40 , -30 ,
92- -30 , -40 , -40 , -50 , -50 , -40 , -40 , -30 ,
93- -20 , -30 , -30 , -40 , -40 , -30 , -30 , -20 ,
94- -10 , -20 , -20 , -20 , -20 , -20 , -20 , -10 ,
95- 20 , 20 , 0 , 0 , 0 , 0 , 20 , 20 ,
96- 20 , 30 , 10 , 0 , 0 , 10 , 30 , 20
97- };
98- inline Value mg_queen_table[64 ] = {
99- -20 , -10 , -10 , -5 , -5 , -10 , -10 , -20 ,
100- -10 , 0 , 5 , 0 , 0 , 0 , 0 , -10 ,
101- -10 , 5 , 5 , 5 , 5 , 5 , 0 , -10 ,
102- 0 , 0 , 5 , 5 , 5 , 5 , 0 , -5 ,
103- -5 , 0 , 5 , 5 , 5 , 5 , 0 , -5 ,
104- -10 , 0 , 5 , 5 , 5 , 5 , 0 , -10 ,
105- -10 , 0 , 0 , 0 , 0 , 0 , 0 , -10 ,
106- -20 , -10 , -10 , -5 , -5 , -10 , -10 , -20
107- };
108- inline Value eg_knight_table[64 ] = {
109- -50 , -40 , -20 , -20 , -20 , -20 , -40 , -50 ,
110- -40 , -10 , 5 , 10 , 10 , 5 , -10 , -40 ,
111- -30 , 10 , 20 , 25 , 25 , 20 , 10 , -30 ,
112- -30 , 15 , 25 , 30 , 30 , 25 , 15 , -30 ,
113- -30 , 15 , 25 , 30 , 30 , 25 , 15 , -30 ,
114- -30 , 10 , 20 , 25 , 25 , 20 , 10 , -30 ,
115- -40 , -10 , 5 , 10 , 10 , 5 , -10 , -40 ,
116- -50 , -40 , -20 , -20 , -20 , -20 , -40 , -50
117- };
118- inline Value eg_bishop_table[64 ] = {
119- -10 , -5 , -5 , -5 , -5 , -5 , -5 , -10 ,
120- -5 , 5 , 10 , 10 , 10 , 10 , 5 , -5 ,
121- -5 , 10 , 15 , 20 , 20 , 15 , 10 , -5 ,
122- -5 , 10 , 20 , 25 , 25 , 20 , 10 , -5 ,
123- -5 , 10 , 20 , 25 , 25 , 20 , 10 , -5 ,
124- -5 , 10 , 15 , 20 , 20 , 15 , 10 , -5 ,
125- -5 , 5 , 10 , 10 , 10 , 10 , 5 , -5 ,
126- -10 , -5 , -5 , -5 , -5 , -5 , -5 , -10
127- };
128- inline Value eg_rook_table[64 ] = {
129- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
130- 0 , 5 , 10 , 15 , 15 , 10 , 5 , 0 ,
131- 0 , 5 , 10 , 15 , 15 , 10 , 5 , 0 ,
132- 0 , 5 , 10 , 15 , 15 , 10 , 5 , 0 ,
133- 10 , 15 , 20 , 25 , 25 , 20 , 15 , 10 ,
134- 10 , 15 , 20 , 25 , 25 , 20 , 15 , 10 ,
135- 20 , 25 , 30 , 35 , 35 , 30 , 25 , 20 ,
136- 0 , 0 , 0 , 5 , 5 , 0 , 0 , 0
137- };
138- inline Value eg_king_table[64 ] = {
139- -50 , -40 , -30 , -20 , -20 , -30 , -40 , -50 ,
140- -40 , -20 , 0 , 10 , 10 , 0 , -20 , -40 ,
141- -30 , 0 , 20 , 30 , 30 , 20 , 0 , -30 ,
142- -20 , 10 , 30 , 40 , 40 , 30 , 10 , -20 ,
143- -20 , 10 , 30 , 40 , 40 , 30 , 10 , -20 ,
144- -30 , 0 , 20 , 30 , 30 , 20 , 0 , -30 ,
145- -40 , -20 , 0 , 10 , 10 , 0 , -20 , -40 ,
146- -50 , -40 , -30 , -20 , -20 , -30 , -40 , -50
147- };
148- inline Value eg_queen_table[64 ] = {
149- -10 , -5 , -5 , 0 , 0 , -5 , -5 , -10 ,
150- -5 , 0 , 5 , 5 , 5 , 5 , 0 , -5 ,
151- -5 , 5 , 10 , 15 , 15 , 10 , 5 , -5 ,
152- -5 , 10 , 15 , 20 , 20 , 15 , 10 , -5 ,
153- -5 , 10 , 15 , 20 , 20 , 15 , 10 , -5 ,
154- -5 , 5 , 10 , 15 , 15 , 10 , 5 , -5 ,
155- -5 , 0 , 5 , 5 , 5 , 5 , 0 , -5 ,
156- -10 , -5 , -5 , 0 , 0 , -5 , -5 , -10
157- };
158- inline Value mg_pawn_table[56 ] = {
159- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
160- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
161- -5 , -2 , 2 , 5 , 5 , 2 , -2 , -5 ,
162- -10 , -5 , 10 , 20 , 20 , 10 , -5 , -10 ,
163- -20 , -10 , 25 , 40 , 40 , 25 , -10 , -20 ,
164- -35 , -20 , 50 , 80 , 80 , 50 , -20 , -35 ,
165- -55 , -40 , 90 , 130 , 130 , 90 , -40 , -55
166- };
167- inline Value eg_pawn_table[56 ] = {
168- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
169- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
170- -5 , -2 , 2 , 5 , 5 , 2 , -2 , -5 ,
171- -10 , -5 , 10 , 20 , 20 , 10 , -5 , -10 ,
172- -20 , -10 , 30 , 55 , 55 , 30 , -10 , -20 ,
173- -35 , -20 , 70 , 110 , 110 , 70 , -20 , -35 ,
174- -60 , -45 , 120 , 180 , 180 , 120 , -45 , -60
175- };
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 };
176100inline Value developedMg = 8 ;
177101inline Value developedEg = 4 ;
178102inline Value outpostBonusKnight[2 ] = { 15 , 30 };
0 commit comments