Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Node counting confusion.

Author: Robert Hyatt

Date: 15:01:32 01/17/98

Go up one level in this thread


On January 17, 1998 at 16:43:39, Don Dailey wrote:

>In a message from Ed Schroder we run across this statement:
>
>> It depends of course how you count NPS.
>> I remember yours is different then mine.
>
>
>I have long suspected the  lack of a "standard" way  of doing this.  I
>think most of us  use a similar method but  it's not so clear.  I have
>always used the method of  counting strictly legal moves and requiring
>that they be  fully executed by the program  but  I can think  of good
>arguments for counting in other ways.
>
>For example, most good programs  will evaluate a position that  hasn't
>occured yet to save a significant amount of  time.  An example of this
>is in quies where you know in advance a  capture move will be punished
>brutally.   I do  not   count count these  as  nodes  but it  could be
>strongly argued that I should.
>
>I believe some programs count "moves generated."  This is not an issue
>if  you   are using a   purely incremental  move generation  but would
>inflate (or deflate  depending on your point  of view) the node counts
>since most of these moves get cut off before they are even considered.
>
>Another method  is to count end  nodes  only, which will  deflate your
>node counts    over  my method  but   probably  not  by large  amounts
>(depending on a lot of factors like the shape of the tree.)
>
>Some programs generate and "make" illegal moves as part of the testing
>for legality.  I view this as inefficient but leads to the question of
>whether these should be counted as nodes.   When I do check testing to
>determine if  a move is  legal should I count this  as a node since in
>some sense I'm definitely evaluating it?  I don't, but maybe I should?
>This adds a significant number of nodes to the nodes/second count.
>


efficiency is in the eye of the beholder.  IE if you look at chess
positions, you find two types:  (1) you are not in check.  Which means
most moves will be legal.  Testing for illegality is not as fast as
making
each move and when you generate at the next ply, capture the king means
to
return to previous ply and toss that move.  Because it hardly ever
happens,
and the time wasted is less than the time wasted legality checking the
moves
that are legal to weed those that are not out.  (2) you are in check.
Here,
it does make sense to legality check first.  In fact, in Crafty, I have
a
bitmapped move generator that only produces legal moves.  Because when
in
check, most moves are illegal.

But in counting nodes I simply bump the counter at the top of search and
the top of quiesce, which is the way most have counted them for 30 years
or
so now.  IE, *real* positions produced by making and unmaking a move...




>I am always  reluctant to attach  any significance  to big  (or small)
>node count claims.  Until you can actually compare apples to apples it
>can be quite misleading.  Also this is  certainly not the true measure
>of  a   chess program but   nevertheless  it's  an  interesting topic.
>Certain programs claim such high node counts that it's  hard for me to
>believe they are counting  nodes the same way  that some others  might
>be.
>
>What is known about the various programs and how they  count nodes?  I
>am quite interested in this since  it can give  some insights into how
>each program works.
>
>
>P.S.
>
>Please  forgive me if this discussion  has already made the rounds but
>I've never heard any of it myself.
>
>
>- Don



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.