D Sceviour wrote:I tried Singular Extension for the first time. Surprisingly it is not that difficult to code, and there are several modern examples available. What is astounding is the less than 2% hit rate for singular extensions. The extra exclusion search should produce a decrease in overall strength. Either the singular hit is very successful (as it sometimes indicates in tactical test positions), or the exclusion search is so shallow and fast that delay is un-noticeable. The exclusion search would return quickly on hash hits with the reduced depth. So far, the results seem to accomplish no overall gain (or loss) in tests. Better extension conditions seem necessary.
The unanswered question is - why extend at all on fail-high nodes?
I do think the main effect is on the PV. In Harm Geert's implementation it is only PV nodes. In that case you are not extending a Cut node (extending a fail high node in your terms), technically PV nodes are ALL nodes. And you can have extensions for both colors, every ply, so I think that is a reason why the PV searches can get extended further by Singular Extensions than nullwindow searches leading from Cut nodes. The main reason why you are doing that (extending PV nodes) is I think safety, you have to look as far ahead as possible to avoid mistakes, as long as the selective deeper search is not too expensive of course. (The search becomes more selective, more "intelligent" if you wish, but it is not sure that in all cases strength is improved, that depends on so many factors)
In the nullwindow searches from CUT nodes, it is mainly safety as well, in CUT nodes where you have the move you have to look as far ahead as possible to make sure they are really CUT nodes, and there is only one move that works. In the side branches of the Rootnode it is the opponent who has the move in CUT nodes, but if his singular move fails, suddenly it is an ALL node for him. A lot of the tree becomes useless if the singular move fails (that goes for all singular nodes) and if you have done an exclusion search at least part of the new tree will be ordered. So a form of preemptive internal iterative deepening.