Daniel Shawul wrote:Get a grip, there is no debate here because the one i gave you is the text book definition that was used during the decades to prove optimality of alpha-beta by many researchers. If one researcher had to use a different one, there would be no communication or agreement. There are so many wrong definitions spread around here in chess forums, such as comparing two nodes counts on two IID iterations ,that are completely wrong. I tried to clear this up some time ago by giving many
references, but chess-wiki still had those (not that i am complaining). For alpha-beta analysis, N is actually defined as the number of leaf nodes, which is close but not quite the same as the total nodes. But it is asymptotically the same as the total nodes so it is ok to use it there. But recently I had problems using that conventional definition when trying to analyse LMR! The reason is that at the leaves exactly one node is searched. So I had to revert back to the original text book definition even though all the alpha-beta literature uses number of leaf nodes.
Suggesting to use the qsearch depth is ridiculous because your branching factor will be so law to be non-existent with that definition. The 'd' in sqrt(d) is a typo as you already know but you should know many literature use 'd' for width (degree) too which is why i was inclined to make the mistake.
I have read through your reference:
* first of all the author places himself in the simplistic case where: (i) every interior node has exactly b children (ii) every root -> leaf path makes exactly d movs
* and he then writes N = 1 + b + b^2 + ... + b^d = (b^d - 1) / (b-1), and he pursues by saying that b ~= N^(1/d) is an asymptotic approximation
=> This is EXACTLY what I explained to you before you called me ignorant and disrespectful.
Besides when you say that all experts have agreed b=N^(1/d) definition, that's obviously not the case. At least the good old Professor Hyatt disagrees with you:
Robert Hyatt wrote:
The definition of EBF we have been using for _many_ years is simply one of the following: (both are equivalent)
EBF = time(i) / time(i-1) or
EBF = nodes(i) / nodes(i-1)
Also, the reference you mention does not mention say anything about how to account for search extensions, reductions, and quiescent search in the EBF (*). In the general case (where the paths do not all have the same length and/or the nodes do not all have the same number of children) they simply define the EBF as the solution of the equation:
Code: Select all
(b^d - 1) / (b - 1) = N
regardless of how the tree looks like, so long as it has a depth equal to d and N nodes. It does not answer or refute any of the
perfectly valid points I made about QS nodes, LMR and search extensions:
* define the depth of the tree? In the strictest mathematical sense, it's the longest path root->leaf that gives the depth. That means the longest variation, which is going to be much bigger than the nominal depth of the search:
- some quiescent searches run very deep as we all know
- plus search extensions (like checks or forced replies)
* no mention whatsoever of LMR in thie paper and how it fools the definition of the branching factor. I maintain that comparing the EBF of an engine with and without LMR is comparing apples and pears. It is not a valid common measure, because the large majority of paths in the LMR case are not even d/2 plies long. It's exactly the same reasoning at the QS point I made, except with reductions instead of extensions (reductions make non reductions a form of extension).
(*)That's perhaps because in the ancient time when this book was written, nobody used QS and LMR, and computers were so slow, you would barely do 3 plies with no qsearch (perhaps a basic SEE instead of the QS at the leaves). So as much as I respect the author, he did not have the hindsight that we have today.
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.