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.