Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Q-Search Nodes Too Re: nodes per second

Author: Brian Richardson

Date: 14:37:40 05/05/00

Go up one level in this thread


On May 05, 2000 at 09:58:45, Robert Hyatt wrote:

>On May 05, 2000 at 07:49:03, Brian Richardson wrote:
>
>>On May 04, 2000 at 22:03:12, Robert Hyatt wrote:
>>
>>>On May 04, 2000 at 19:05:20, Lance Nine wrote:
>>>
>>>>how do i calculate the nodes per second my program checks when i use the
>>>>alfa-beta algorithm? do i count the nodes it does not look at due to cutoffs?
>>>>
>>>>if i don't, the speed in nodes per second will be the same for negamax and
>>>>alfa-beta, right?
>>>>
>>>>the speed of my program is rather disappointing otherwise...
>>>>
>>>>thanks,
>>>>--lance
>>>
>>>
>>>The most common way to count nodes is a "nodes++" at the very top of
>>>Search().  divide that by the time used.  No way to count the nodes you
>>>don't search.  How many are there and how would you know that?
>>
>>
>>How about nodes in the quiscence search?  I was double counting (first q-search
>>level nodes) by doing nodes++ in search(), and again in q-search() along with
>>qnodes++, but changed to put the nodes++ in search after the if(depth<=0)
>>return(q-search...
>
>
>I am not sure how you would double-count.  I don't call search unless there
>is depth remaining, otherwise I call quiesce() instead.  IE for one node, I
>don't get into search and then hand that node off to quiesce, I go to quiesce
>directly.
>
>you are correct that you should inc in both, of course.

I was not testing in search like

if (depth>0) search()
else quiesce()

at all recursive calls to search.  As I reacall, Crafty used to have a macro for
this at one point.  I test at the start of search as well (and will likely leave
it for peace of mind), but testing before each call is even better to avoid a
wasted call to search that in turn simply calls quiesce anyway.
Thus my less efficient implementation was double counting the first level call
to quiesce since nodes++ is done for each search and in quiesce nodes++ and
qnodes++ is done.  I should have read the other post mentioning qnodes and not
complicated things, but I just found the double counting this week.



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.