All the nodes that he is counting are QS nodes
and he is counting the number that is more interesting because it is
the number of the additional nodes that you need to search because of having a qsearch(instead of evaluation that gives the same value with no search in case the last thing was possible).
You're both right.
I believe I am counting correctly, but I found that some (new) code that was intended to prevent SEE from being called unnecessarily was actually pruning the entire qsearch branch. me=idiot.
I will have new percentages as soon as I fix and test the above code.
Rebel wrote:What I am always missing in the QS discussions (checks or no checks, TT or no TT) is the percentage of time (nodes, evals) a program is spending in QS in comparison to the main search. I made a little table and if you are interested post or PM me your results and QS description and I will update the page and perhaps we can make some sense out of it.
For sure the default settings (allow 2 checks + full TT use) are best for my thing and with a significant margin. I like to understand why others experience something else, sometimes even the opposite. Comparing percentages could be a start.
First question: "Define q-search node".
A simple definition is given on the page. In eval do:
For example, your last full-width ply will make a move, and then call q-search. Is that a q-search node? Or do you call that something else and only call a q-search node as a node that is produced by making a capture/check inside quiesce? That makes a huge difference in the counters since you ALWAYS get to quiesce at least once at the end of each full-width branch. That will, by definition, be a larger number than the total interior nodes combined.
bob wrote: Most every time I have participated in a discussion that led to making comparisons, we discovered we were not talking about exactly the same thing.
Correct. Therefore lets stick to the formula I gave for the moment. We can define a second (commonly used) formula and put results in a second table.
That doesn't define anything. All it says is that you count it as QS when QS is true. But it does not say in which nodes it is true, which is the issue here.
Bob raises a good point: most tree nodes will be leaves. Yet a minority of your nodes seem to be labeled as QS. So a large majority of your nodes will be leave nodes (i.e. where no moves are searched) that are not QS. So what nodes are they? Full-width d=1 nodes where every move is futile?