Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Measuring NPS...

Author: Robert Hyatt

Date: 11:44:59 11/19/02

Go up one level in this thread


On November 19, 2002 at 12:29:44, Sune Fischer wrote:

>On November 19, 2002 at 11:44:07, Robert Hyatt wrote:
>
>>I don't follow your math.  If I do a 9 ply search (assuming no extensions here)
>>I don't ever
>>probe at ply=1 as that is useless, but I do probe at plies 2 through 9.
>
>How do you know it is useless, what if you have done a 15 ply search two moves
>(real moves) earlier, and the pv was correct? You might still have a useful 13
>ply result in the hash, perhaps an exact matescore.

What do you get if you get a hash hit _before_ you search anything at that
depth?
Nothing.  Do you now want to start another iteration?  If I find the ply-1
position
in the hash table, I will almost certainly find the ply-2 position there as
well, so
there is nothing lost.  But I don't like the idea of the search terminating
before it
starts...

>
>>I don't
>>see how my last
>>ply is "not a full ply" as I do everything at the last ply that I do at every
>>_other_ ply in the
>>full search..
>
>I don't follow that; just before going off to qsearch you makemove() and do some
>extensions, then you go to qsearch. There is no repetition detection or egtb
>probes or anything as far as I can tell, so I don't see how it can be a normal
>ply.

The _next_ ply doesn't do repetition checks.  The _current_ ply does, when I
enter.
The _current_ ply is normal.  Hash probe, repetition check, egtb probe,
null-move
search, iternal iterative deepening if needed, etc.  It is the _next_ ply that
won't do
a hash probe or any of that, just search captures that look reasonable.






>
>>>>Ditto for search extensions as they occur right after MakeMove() is called,
>>>>prior
>>>>to the recursive call to Search or Quiesce...
>>>
>>>I counted 6 calles to Quiesce() in Search() (Crafty 18.15), I need only 1 call
>>>:)
>>
>>
>>Are you doing (a) internal iterative deepening?
>
>no
>
>(b) null-move search?
>
>yes
>
>>those
>>account
>>for three distinct calls.  (c) PVS?
>
>on and off, I can't figure out if it works for me, I get more nodes every other
>ply and as a principle I don't like to destroy the only real good information
>there is: the alpha and beta values.
>
>>that requires three overall.  One for the
>>first move,
>>Potentially two for any move but the first, since the null-window search can
>>fail high
>>and it must be re-searched.
>>
>>None of those are "repeated" or "duplicates"...
>
>I have several Search() calls, but only one Quiesce() like I only have one
>Eval() and only one IsDraw().
>


I only have one eval call, in quiesce().  But everywhere I have a search() call
I have
a matching quiesce() call in case the depth is insufficient to call search yet
again.

>-S.



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.