QS investigation

Discussion of chess software programming and technical issues.

Moderator: Ras

JVMerlino
Posts: 1404
Joined: Wed Mar 08, 2006 10:15 pm
Location: San Francisco, California

Re: QS investigation

Post by JVMerlino »

Uri Blass wrote:
hgm wrote:So you are not counting QS nodes...
I disagree.

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. :oops:

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.

My humble apologies,

jm
User avatar
Rebel
Posts: 7381
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: QS investigation

Post by Rebel »

bob wrote:
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.

http://www.top-5000.nl/qs.htm

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:

Code: Select all

a++; if (QS) b++;
percentage = (b*100)/a;

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.
User avatar
Rebel
Posts: 7381
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: QS investigation

Post by Rebel »

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.
User avatar
hgm
Posts: 28387
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: QS investigation

Post by hgm »

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?