Note that nothing in the usage of EBF suggests it is in any way an approximation of BF. It was a term coined many years ago, from the following reasoning:Daniel Shawul wrote:But that is just a rule of thumb since T(n)/T(n-1) = 2 does not mean BF = 2 even in minmax as we agreed above. Even for a uniform depth tree of constant BF, it never becomes equal to the real BF. Yes it approaches the real BF at large depths for the same BF at each depth of tree. For instance for a tic-tac-toe minimax tree, BF decreases with depth, and this definition gives incorrect results. With prunings/widening the situation is worse. The ratio T(n) than T(n-1) can become far from BF.No. Never was. The point was, if each iteration takes 2x longer, then the trees are getting 2x bigger per iteration. If this were minimax, one could say the branching factor is 2, since that is about the only way to get 2x the nodes for one additional ply. For alpha/beta, it would mean that the branching factor is acting like it is around 4.0, since alpha/beta searches sqrt(bf) for each additional ply...so if b1 is slightly larger say 1.1 times larger than b2, the branching factor gets maginifed by 1.1^n which could explode at larger depths. When b1=b2 that factor is always 1. So for that to work no difference in prunings/widenings at the two iterations. So lets just drop this business of trying to determine BF from this ratio.Code: Select all
T(n) / T(n-1) = b1^(n+1) / b2^n = (b1/b2)^n * b1
As W increases, so does the work. In an iterated search, the work for the next iteration is proportional to W. Which is also known as "BF". Since that number is very difficult to quantify for chess, and since it varies position by position, many started to use the I / (I-1) idea since that is easy to compute. And clearly BF and EBF are related. But are not approximations of each other at all.
That's really all it has ever meant, as it gives some idea of the selectivity of the tree (EBF is smaller, selectivity is greater, and vice-versa). The same is true of the real BF. But with EBF being trivial to compute, and the real BF being all but impossible to compute (and it would be a probability-based answer if it were computed), it has been convenient to use EBF for discussions about pruning, reductions, and extensions.
First, I would cite 15 years of CCC posts using it in that way. I would also cite the JICGA which has papers that use the term in that way. I might have used it as far back as the "Using Time Wisely" ICCA paper, I am not sure. I've not seen an AI book define EBF in any way, although I won't claim to have read every AI book in print. I could certainly see where a theorist might use such a term, since BF is essentially impossible to compute in today's searches...You would be surprised how many AI books formulate EBF like that but I have found none so far with T(n)/T(n-1)... So I ask you once again to show me a defintion from an AI book or publication that defines EBF as you claim. I got things like how many nodes iterative deepening adds to a not iterated search i.e ( b / (b - 1) ) but none so far with consecutive iterations as used in your EBF.That would seem to be an error. That is the _true_ branching factor, not the EBF. Otherwise what is "real Branching Factor"???
I understand that but I am eager to see the definition apart from discussions in this board. For me it is confusing that we attach "branching factor" to the name when it is not a comparable measure to BF. So a formal definiton of EBF from a publication or AI book is necessary.I didn't create the term. I've just been using it for years. As have others that have written papers about chess search trees... Whether it is the "best terminology" is certainly open for debate. But it is so often mentioned in chess tree discussions, changing it would be confusing, to say the least...