Have it your way. I'm going to continue to use the traditional definition of "width" (W in the well-known minimax / alpha-beta formulas) and EBF. If you increase W, and EBF doesn't change, you are screwing up your math. It really is that simple...Laskos wrote:Wrong, EBF as you define it as N to N+1 is not the same as the width of the tree. To show you how they are different in Marco's (Stockfish) model simplified and put to integration by me with the formula for the wideness of the treebob wrote:N = W ^ D is a well-known formula. No, it doesn't fit today's trees. It doesn't fit _any_ tree except the "theoretical tree." But it gives a mathematical representation of the idea. And that is a useful thing because it gives us a way to discuss issues.
EBF is a _very_ specific concept. It is an estimate of how much effort it takes to do an N+1 ply search, knowing how long it took to do the N ply search. It is not accurate. You can have 20 2.1's in a row and then a 6.0. But it is an estimate. And from that, you can deduce characteristics of the tree and what is going on inside the thing.
If the EBF is not increasing, ply by ply, then the "width" of the tree is also _not_ increasing. It is simply mathematically impossible. Since "width" and EBF are synonyms in the world of tree search.
NormalizationFactor * Integrate (d depth_x) [ (Depth - 5 - depth_x) * Theta (Depth - 5 - depth_x) * Log (EBF1) + (5 - (depth_x + 5 - Depth) * Theta (depth_x + 5 - Depth)) * Log (EBF2) ]
Here is the plot:
EBF in this model seems a pretty straight (blue) line with a value of ~2.2. I linked the endpoints of tree shapes by hand, and exactly this blue line is EBF in tree widening model. The EBF line doesn't seem to widen even here.
Tree shape is a completely different matter, and as you can see, it is widening going to 5,10,15,20,25 _target_ depth. I can clearly separate EBF into two components: EBF_widening, which is ~1.4, and EBF_deepening, which is ~1.6, for a total EBF of 1.4*1.6 ~ 2.2. As I already wrote, going from target N to target N+1 requires a comparable effort in both deepening and widening. To see more clearly the effect of the widening, I substracted the EBF (blue) almost straight line (plane in my 3D plot):
As you can see, the main widening effort occurs towards the middle of the tree to target depth. Here we differ dramatically, your "non-widening" tree shape would be a flat horizontal plane at 0 in this plot. Certainly, this is just a model built from Marco's remarks, but I think it could be replicated in a real engine (at least in Stockfish, maybe not in Crafty)
This is my last try on the subject, hope some people will gather data from real engines.
Kai
The tree is exponential with respect to D, the degree of increase is with respect to W. There is absolutely no way to increase W and have the EBF remain the same, if the search remains constant iteration to iteration. And for stockfish, crafty, and any other program I am aware of, the search does _not_ change as we go deeper.
We use the same rules to extend, reduce and prune. We apply them deeper into the tree as the tree goes deeper, for sure. But for pruning, we only prune in the last N plies.
All of this chatter about increased width you are showing is _solely_ based on increased depth. If you simply draw the graph of the tree you search, root at top, tips at the bottom, all nodes searched left to right. Then for an N ply search, you measure the width across the left-to-right axis. You get X. Then you go one ply deeper. And measure the widest point of the tree. You get Y. And Y > X. And this has _always_ been true since we started doing iterated searches. It is not an "intentional widening" it is that the tree grows in two directions as it goes deeper. The branches get longer (depth) and you get more branches (wider).
your plots show this nicely. But that is _all_ they show...



