Author: Robert Hyatt
Date: 13:25:45 11/02/98
Go up one level in this thread
On November 02, 1998 at 11:59:53, Koen van Dijken wrote: >On November 02, 1998 at 08:24:08, Robert Hyatt wrote: > >>On November 02, 1998 at 02:49:14, Koen van Dijken wrote: >> >>>mr Hyatt, >>> >>>I was comparing the speed in nps of my own program against that of Crafty. I >>>have the sources for 14.2 and 15.20. I noticed that in Search there is a >>>difference in node counting between 14.2 and 15.20. In 14.2 you do not count >>>illegal moves, in 15.20 you do. Is there a reson for this? >>> >>>15.20 >>> } else tree->nodes_searched++; >>> UnMakeMove(tree,ply,tree->current_move[ply],wtm); >>> >>>Is this maybe the way nodecounting is done in other programs as well, for better >>>comparising? >>> >>>Koen van Dijken. >> >> >>That was the main idea. However it turned out to have no effect... because now >>I increment nodes_searched at the top of search, and I *never* get there unless > >Well, as far as i understand, you count nodes at the top of Search() both in >14.2 and 15.20, but in 15.20 also in the else branch of > > MakeMove(tree,ply,tree->current_move[ply],wtm); > if (tree->in_check[ply] || !Check(wtm)) { >... > } else tree->nodes_searched++; > UnMakeMove(tree,ply,tree->current_move[ply],wtm); > >>the position is "legal"... so for search() it doesn't matter. In quiesce, I >>do count illegal positions... but the point is counting "work" really... and if >>I do a MakeMove() and so forth, I "searched" that node whether it was legal or >>not. > >I agree with Ernst Heinz that only counting legal moves is cleaner and allows >for a more fair comparison with other programs (as far as it has any use to >compare programs on nps). I don't buy the "fairer" argument... because the two node counts are *badly* mangled by quiescence searches. IE if I took out the line you mention, the nodes searched is *still* a mixture of legal and illegal positions. It's a semantic argument of whether you 'searched' an illegal position or not, because in my case, I had to make the move, notice it leaves me in check, and unmake the move... which is the same amount of work I do for "legal" positions... So I consider it more accurate, unless I actually start counting only legal positions, which I don't plan to do...
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.