Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Quiescence Explosion

Author: Andreas Guettinger

Date: 12:27:15 11/26/02

Go up one level in this thread


On November 26, 2002 at 14:26:38, David Rasmussen wrote:

>On November 26, 2002 at 13:52:11, Robert Hyatt wrote:
>
>>>
>>>Thanks for the reminder, but I know this :)
>>>As you can see in my code, I do _not_ count leaf nodes and qnodes together.
>>
>>Actually it seems you count leaf nodes twice?  Once at the top, once when you
>>call
>>quiesce()?   Or did I mis-remember???
>>
>
>I think you did, but I might be wrong.
>I increment in the beginning of Search(). Then just before I'm calling
>Quiescence(), I decrement. And then on entering Quiescence, I increment. So leaf
>nodes are counted once. I will probably change this to a conceptually simpler
>way. But I think my counts will be the same. And I don't believe that node
>counting can be measured in nps at all.
>
>>>
>>>>Most count leaves and q-search together, which is fine.  And you should see
>>>>numbers in the 50% range there because for every move at the last full-width
>>>>ply you search, you will get one leaf node for sure, plus (optionally) more
>>>>capture nodes below that...
>>>>
>>>>If you count leaf nodes as q-nodes, you can't possibly get down to 5-10%
>>>>and you can see this by trying a tree with a branching factor of (say) 2.0.
>>>>3 plies means you try two moves at ply1, 4 at ply2 and 8 at ply3.  For each
>>>>ply3 node, you get one leaf node which is 8 leaf nodes vs 14 interior nodes.
>>>>Then you tack on captures and you pass 50% instantly...
>>>
>>>But I do _not_ count qnodes and leaf nodes together. I don't, because I want the
>>>qnodes percentage to reflect more directly what changes I do to the qsearch.
>>>
>>>/David
>>
>>
>>That's the right way to do it, but I don't see how you are separating the two.
>>The first layer
>>of Quiesce() calls are leaf nodes and are _not_ optional.  Any layer beyond the
>>first is subject
>>to your decision-making policies...
>
>Read the code I posted. I only count nodes that are _generated_ from
>Quiescence(). A leaf node is counted as a node, as are all other nodes, in the
>general node count. In my program
> nodes = interior nodes + leaf nodes + qnodes
>so
> nodes - qnodes = interior nodes + leaf nodes
>
>/David

The node counting is very unlikely the problem because I count the nodes similar
like David does (increment, decrement at leaf, increment in qsearch) and I get
only 38% of qnodes in this position.

(But I have to add that my eval() is still really tiny, and I might get a lot of
cutoffs because of this)



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.