Author: Robert Hyatt
Date: 15:10:57 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 That seems to be wrong. A leaf node is perhaps better called "a quiescence frontier node" in the context we have been using it. It is the _first_ quiescence node on any path, because for that node you have no choice. But for nodes below that node, you can avoid the all if you so choose to just use the stand-pat score and not search any captures... The classic definition of "leaf" is "endpoints". But they are really no different than nodes interior to that point on the tree. You did generate moves, you made a move and now you have a brand new position to work on...
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.