Author: Robert Hyatt
Date: 12:21:20 11/25/98
Go up one level in this thread
On November 25, 1998 at 13:23:02, Frank Phillips wrote:
>Bob Hyatt 's response (message 33762) to Bas Hamstra mentioned counting nodes
>in the quiescent search correctly. Not sure I understand. How should you
>count q-nodes and nodes? I do it like this. Nodes being the thing I report as
>the nodes per second performed by the search.
>
>In the Q-search
>int Quiescent()
>{
>pvlength[ply]=ply;
>if(ply>=MAXPLY)
> return beta;
>nodes++;
>score=StaticVal();
>if(score>alpha)
>{
> if(score>=beta)
> return score;
> alpha=score;
>}
>q_nodes++;
>
>And in the main search:
>int ABsearch()
>{
>if(timeout)
> return;
>if(ply>=MAXPLY)
> return beta;
>if(depth<=0)
> return Quiescent()
>nodes++;
That's incorrect. The problem is that if you do a 2 ply search, you *must*
get to ply=3 after *every* ply=2 move. If you count those ply=3 nodes as q-
search nodes, your node count will be high, and you can't do anything about
it because those are *not* optional. Count those as leaves... and then
if you call quiesce from within quiesce, call *those* qnodes because you don
t *have* to make a capture. But you *must* get to quiesce for every branch
in the normal tree, so you can do an evaluation.
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.