I think that this is misleading.Tord Romstad wrote:Exactly. The "search depth" displayed by chess programs is nothing more than the iteration counter, and when all sorts of extensions, reductions and pruning are applied to the tree, it is not at all clear that the average branch is searched precisely one ply deeper at iteration N+1 than at iteration N (even if the initial depth in the call to search() is increased by exactly one ply per iteration, which is not the case in all programs).hgm wrote:(Effective) branching factor is the factor the search time increases per ply depth increase. As plies of depth are meaningless quantities, due to the different extension and reduction policies of different engines, so are the branchig factors.
In my program, it seems that going from iteration N to N+1 increases the effective search depth by about half a ply. For other programs, the increase might be bigger or smaller, rendering comparisons of effective branching factors useless (just like comparisons of search depths).
Here's a proposal: Count the number of nodes at each ply in the search tree. The search depth is the average distance from the root of all nodes in the tree. With this definition of depth, it would at least be possible to make somewhat more meaningful comparisons of the search depths of different programs.Not much that can be done about this. Unless you can devise a universal way to define search depth, of course.
Tord
by selective search that include only single move at every node except the root
I can easily have at iteration 199 the following nodes:
20 node at ply 1,20 nodes at ply 2,20 nodes at ply 3,.....
20 nodes at ply 199
It means that the average depth is 100 when the program searchs iteration 199
I think that the only way to compare depths of different programs is to play games and compare the practical playing strength of the program at fixed depth to
the practical playing strength at fixed depth with no extensions and no reductions(it is also possible to agree about qsearch that includes only captures).
You can modify glaurung to have no reductions and no extensions and play normal glaurung at depth 12 against the modified version at depth 11.
If the result is 50% then you can say that iteration 12 of normal glaurung is equivalent to depth 11.
There may be a problem with big depth because games may take too much time so we can guess some formula based on exrtopolation after having some table of equivalence for small depths.
Uri