Code: Select all
double delta = approximateEval - beta;
delta = Max(delta, 1.0);
double ddepth = double(depth);
double r = 0.18 * ddepth + 3.1 + log(delta)/5.0;
r = r > ddepth ? ddepth : r;
int dannR = int(r);
Note that all the depths are given in ply.
Code: Select all
Margin = approximateEval - beta
Depth = depth in ply of current node
Null Std = depth in ply of the resulting null move search for 1.6.2
Null Dann = depth in ply of the resulting null move search for Dann
Margin Depth Null Std Null Dann
300 2 qs qs
300 3 qs qs
300 4 qs qs
300 5 qs qs
300 6 1 qs
300 7 2 1
300 8 3 1
300 9 4 2
300 10 5 3
300 11 6 3
300 12 7 4
300 13 8 5
300 14 9 5
150 2 qs qs
150 3 qs qs
150 4 1 qs
150 5 1 qs
150 6 2 qs
150 7 3 1
150 8 4 2
150 9 5 2
150 10 6 3
150 11 7 3
150 12 8 4
150 13 9 5
150 14 10 5
0 2 qs qs
0 3 qs qs
0 4 1 qs
0 5 1 1
0 6 2 1
0 7 3 2
0 8 4 3
0 9 5 3
0 10 6 4
0 11 7 4
0 12 8 5
0 13 9 6
0 14 10 6
-150 2 qs qs
-150 3 qs qs
-150 4 1 qs
-150 5 1 1
-150 6 2 1
-150 7 3 2
-150 8 4 3
-150 9 5 3
-150 10 6 4
-150 11 7 4
-150 12 8 5
-150 13 9 6
-150 14 10 6
-300 2 qs qs
-300 3 qs qs
-300 4 1 qs
-300 5 1 1
-300 6 2 1
-300 7 3 2
-300 8 4 3
-300 9 5 3
-300 10 6 4
-300 11 7 4
-300 12 8 5
-300 13 9 6
-300 14 10 6
So we can do some consideration:
1) Dann goes in qsearch from null earlier then us. For instance SF goes from null in qsearch at depth 4 ply and below, while Dann goes in qsearch even at depth 5 ply.
2) Dann is much more aggressive in reducing at high depths. Our maximum reduction is 4/5 plies (according to margin to beta), instead Dann keeps reducing, for instance with a margin of 300 above beta at depth 14 null search turns out to be done with a depth of only 5 plies, so that he has reduced of 9 plies !!!
3) Both Dann and 1.6.2 does NOT change a lot with margin to beta, in both cases we are talking of one ply of reduction less going from 300 to -300, not a biggie.
I am not sure point (1) is good, we have made some tests that goes in opposite direction. While we have never tested along the lines of point (2) and I think this will be our next scheduled test