rvida wrote:Mystery solvedlkaufman wrote:Okay, I did it. This time I got 157.2 elo (after 7k games), a dramatic reduction from 236.9. As a control, I reran 7 vs 8 ply, and got 180.0, up a bit from 173.6. I also reran 10 vs 9 ply (which also benefits from SE), and got 138.9 elo, down sharply from 175.2.rvida wrote:lkaufman wrote: I did a similar partial study for Critter 1.2 and 1.6, to see if the pattern is much different.Easy to verify. Retry the 8 vs 9 ply match with singular extensions disabled and compare the results.lkaufman wrote: As far as I know, Critter 1.2 does not have any search feature other than Singular Extension that kicks in at 9 ply, so this would appear to fully account for the observed jump in Critter
Conclusion: Singular Extension accounts for all the anomalies observed with the Critter matches. Without it the elo gain decays as it should from 180.0 to 157.2 to 138.9 at these depths. So there is no reason to think that this would not also fully explain the spike in Houdini 2 at depth 9, since the behavior was so similar.
I wonder whether Stockfish has a similar spike? SF starts doing singular extensions at different depths for PV and non-PV nodes:
Code: Select all
// Minimum depth for use of singular extension const Depth SingularExtensionDepth[] = { 8 * ONE_PLY, 6 * ONE_PLY }; /* ... */ singularExtensionNode = !RootNode && !SpNode && depth >= SingularExtensionDepth[PvNode] && ttMove != MOVE_NONE && !excludedMove // Recursive singular search is not allowed && (tte->type() & VALUE_TYPE_LOWER) && tte->depth() >= depth - 3 * ONE_PLY;
Okay, I ran the test for SF 2.3. Here are the results (3000 games minimum for each entry):
Elo gap
6 ply vs. 5: 175.7
7 ply vs. 6: 205.2
8 ply vs. 7: 175.4
9 ply vs. 8: 148.2
10 ply vs 9: 128.5
So the expected jump at 7 ply did materialize, but not the one at 9 ply. Based on this data, it appears that the SF Singular Extension works well enough at PV nodes but is pretty much worthless at non-PV nodes. I realize that the details of SF non-PV singular extension are rather different from Critter and from Ivanhoe (and therefore presumably also at least early Houdini versions), but I would still expect it to have a fairly significant effect. Does anyone have any idea from looking at the SF code why Singular extension at nonPV nodes would apparently do next to nothing?