Author: David Rasmussen
Date: 23:40:04 02/11/03
Go up one level in this thread
On February 11, 2003 at 20:57:16, Nathan Thom wrote: >Ive just finished implementing a Q search for LittleThought, and was trying to >get a feel for my node stats compared with other engines out there. What % of >the total nodes searched are Q nodes in varying kinds of positions? eg opening, >middle game, end game etc. > >I have a feeling my q nodes are way way too many :) First of all, it depends on how you count. A common "mistake" is to increment the qnodes counter in the beginning of the qsearch() function. This will count all the "frontier" nodes that would have had to be considered anyway. Instead it is reasonable to count only the nodes _generated_ from qsearch(). That can be done in several ways. Either you can decrement the qnodes counter just before you call qsearch() from search(), and then increment at the very beginning of qsearch(). Or you can increment qsearch() only in qsearch() after makemove() when looping through the captures. To compare numbers with other programs, you have to at least make sure that they are counting in the same way. Furthermore, if you want to know whether what is happening to your qsearch subtrees, the second way of counting makes much more sense, instead of counting frontier nodes too. Because even if you manage to search only 1 ply after each call to qsearch(), you will still have a high qnodes percentage since you're counting frontier nodes too, and there is always many of these. You can't really make any decision in qsearch() that will lower your frontier node count. So count in qsearch() what you can control in qsearch(). Counting this way, Chezzz's percentage is usually about 5-15% in the middlegame (sometimes as high as 20% or higher, but that is rare). In the endgame it is typically much lower, about 1-5%. /David
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.