lies and statistics

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

flok

lies and statistics

Post by flok »

Hi,

Do you guys also count the visited quiesence nodes when calculating the number of nodes visited per second?
Same question for depth reached.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: lies and statistics

Post by bob »

flok wrote:Hi,

Do you guys also count the visited quiesence nodes when calculating the number of nodes visited per second?
Same question for depth reached.
I count every node visited. This includes normal search, quiescence search.

The depth I report is the nominal depth carried to full-width. q-search depth does not get included. Some display two depths like this "xx/yy" where xx is the nominal full-width depth and yy is the max depth the q-search reached.
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: lies and statistics

Post by Daniel Shawul »

I fail to see the connection between the title of your post and the content. You say that phrase when you see people trying to cover up for weak arguments with statistical jargon. Some engines count nodes 'differently', not counting pruned nodes, qnodes etc. However iterative depth probably doesn't leave much room for misinterpretation, thus counting depth differently is probably a deliberate action that CIA should take a look at :)
flok

Re: lies and statistics

Post by flok »

Daniel Shawul wrote:I fail to see the connection between the title of your post and the content. You say that phrase when you see people trying to cover up for weak arguments with statistical jargon. Some engines count nodes 'differently', not counting pruned nodes, qnodes etc. However iterative depth probably doesn't leave much room for misinterpretation, thus counting depth differently is probably a deliberate action that CIA should take a look at :)
Daniel, I tried to be funny.
The question at itself was serious though.
elpapa
Posts: 211
Joined: Sun Jan 18, 2009 11:27 pm
Location: Sweden
Full name: Patrik Karlsson

Re: lies and statistics

Post by elpapa »

flok wrote:Hi,

Do you guys also count the visited quiesence nodes when calculating the number of nodes visited per second?
Same question for depth reached.
I think you should, because every time you make a move you reach a new position. It doesn't matter if it's made in the normal search or the quiescence search.

However, if you increase the node counter at the top of the search functions you will count the horizon nodes twice, since you never make any move in search() before the call to qsearch(), so it's still the same position. This could possibly affect your root move ordering if you sort the moves by node count. I think the best way to go is to put your ++nodes inside the move loop or in make_move().
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: lies and statistics

Post by bob »

elpapa wrote:
flok wrote:Hi,

Do you guys also count the visited quiesence nodes when calculating the number of nodes visited per second?
Same question for depth reached.
I think you should, because every time you make a move you reach a new position. It doesn't matter if it's made in the normal search or the quiescence search.

However, if you increase the node counter at the top of the search functions you will count the horizon nodes twice, since you never make any move in search() before the call to qsearch(), so it's still the same position. This could possibly affect your root move ordering if you sort the moves by node count. I think the best way to go is to put your ++nodes inside the move loop or in make_move().
How would you count 'em twice? If you count at the top of search, you certainly don't call search twice in a row without making a move do you??? I don't.
User avatar
Steve Maughan
Posts: 1221
Joined: Wed Mar 08, 2006 8:28 pm
Location: Florida, USA

Re: lies and statistics

Post by Steve Maughan »

In Maverick I count every call to AlphaBeta and QSearch.

Steve
http://www.chessprogramming.net - Maverick Chess Engine
Robert Pope
Posts: 558
Joined: Sat Mar 25, 2006 8:27 pm

Re: lies and statistics

Post by Robert Pope »

bob wrote:
elpapa wrote:
flok wrote:Hi,

Do you guys also count the visited quiesence nodes when calculating the number of nodes visited per second?
Same question for depth reached.
I think you should, because every time you make a move you reach a new position. It doesn't matter if it's made in the normal search or the quiescence search.

However, if you increase the node counter at the top of the search functions you will count the horizon nodes twice, since you never make any move in search() before the call to qsearch(), so it's still the same position. This could possibly affect your root move ordering if you sort the moves by node count. I think the best way to go is to put your ++nodes inside the move loop or in make_move().
How would you count 'em twice? If you count at the top of search, you certainly don't call search twice in a row without making a move do you??? I don't.

if(depth<0) Quiesce();
at the beginning of alphabeta will cause more calls to alphabeta than if you have

if(depth==0) val=Quiesce();
else val=-alphabeta(depth-1,-beta,-alpha);

in the middle of alphabeta.

I increment nodes at each makemove, which works the same with either type of code.
elpapa
Posts: 211
Joined: Sun Jan 18, 2009 11:27 pm
Location: Sweden
Full name: Patrik Karlsson

Re: lies and statistics

Post by elpapa »

bob wrote:How would you count 'em twice? If you count at the top of search, you certainly don't call search twice in a row without making a move do you??? I don't.
It depends on where you check for depth==0 and make the call to qsearch of course. I make it at the top of the normal search and that's where it can go wrong, like this:

Code: Select all

search&#40;)
&#123;
   ++nodes;
   if&#40;depth <= 0&#41;
       return qsearch&#40;);
   ...
&#125;

qsearch&#40;)
&#123;
   ++nodes;
   ...
&#125;

User avatar
Steve Maughan
Posts: 1221
Joined: Wed Mar 08, 2006 8:28 pm
Location: Florida, USA

Re: lies and statistics

Post by Steve Maughan »

Then just increment the nodes after the zero depth test:

Code: Select all

search&#40;)
&#123;

   if&#40;depth <= 0&#41;
       return qsearch&#40;);
   ++nodes;
   ...
&#125;

qsearch&#40;)
&#123;
   ++qnodes;
   ...
&#125;
http://www.chessprogramming.net - Maverick Chess Engine