Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Do programmers mean to the same thing when they say nodes?

Author: Robert Hyatt

Date: 07:52:38 09/06/99

Go up one level in this thread


On September 06, 1999 at 07:05:03, blass uri wrote:

>I know that nodes in some programs(like Junior) include illegal moves and my
>question is if the same illegal moves are defined as nodes by all the programs.
>
>If the answer is negative then we cannot say that one program is a faster
>searcher only because it searches more nodes per second.
>
>We need a clear definition of nodes to compare.
>
>Uri


This is difficult to answer, and here's why.  Some programs generate _all_
moves, then try them one at a time and recognize that a move is illegal
because either (a) it leaves the king in check or (b) at the next ply the
king is captures.  If you count these, which some do, you get somewhat
higher node counts...


In Crafty I do two things.  (a) If I MakeMove() and then discover that the
king was left in check, I UnMakeMove() and don't count that as a node searched.
But even if I did, my node count would probably differ from others that did
the same thing, because (b) If I start off at a ply and am in check, I have a
special move generator (easy to do with bitmaps) that only generates legal
moves.  When in check, it is common to generate 40-60 moves, but only have 10
or fewer that are legal.  I don't generate those moves at all so that there is
no way to count what I don't generate.

If you pick non-tactical positions, NPS should be comparable between all of the
approaches.  If you pick wild mate in 12 positions, mine will probably report
fewer nodes so that the NPS will be down...



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.