Author: Robert Hyatt
Date: 10:00:56 06/24/98
Go up one level in this thread
On June 24, 1998 at 11:44:20, Don Dailey wrote: >On June 24, 1998 at 09:47:15, Robert Hyatt wrote: > >>On June 24, 1998 at 04:08:23, Inmann Werner wrote: >> >>>What are nodes per second. >>>I count, how often alpha-beta is called in a search, and taht are my nodes. >>>Is this correct, or should I count the generated moves? >>>It is not really important, but everybody speaks about, how many nps a program >>>makes, and if everybody defines nodes different, all compares a nonsense. >>>On the other hand, nps only give sense, if there is no computer thinking on >>>opponents time!? >>> >>>Werner >> >> >> >>that's what most of us are doing... and your count should be >>comparable to ours... just add nodes++; to the top of search() >>and quiesce(); > >Technically (or sematically) this is correct, but you need to >be careful. I count how many moves >are actually executed in a search (or in my program calls to >make_move(). I think this is more accurate. > >Depending on how your program is structured counting calls to >alpha-beta could give you the wrong answer. An early program >of mine would sometimes do a static evaluation without making >this final call, using your method would have seriously deflated >the node counts. > >Really though this is an issue of semantics. But a node is a >new position visited and not an issue of how you structure >your recursion. I would guess that by far most programs this >would work the same. > >- Don I miss a few here, because in the basic (full-width) search, I don't allow illegal moves, because that screws up the null-move search. In such a case, I make the move, discover my king is in check, and unmake the move without ever "counting" it. Doesn't happen a huge number of times, except when things are tactical. In Quiesce() I don't do this, so it is always counting MakeMove() calls, effectively. I can never make a move, and call Evaluate() without counting the node, however... but I can make some moves and they never get counted. Note that I only generate legal moves when in check, so I don't discard (and not count) dozens of moves each time that happens.
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.