Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Result of Hash Table

Author: Stuart Cracraft

Date: 20:02:11 01/20/98

Go up one level in this thread


On January 20, 1998 at 22:52:25, Stuart Cracraft wrote:

>On January 20, 1998 at 19:21:48, Bruce Moreland wrote:
>
>>
>>On January 20, 1998 at 18:43:19, Robert Hyatt wrote:
>>
>>>I'm sorry, but this is insane.  What is the purpose of doing a hash
>>>probe?
>>>To eliminate searching the positions you already know the outcome of,
>>>right?
>>>
>>>But instead, you are searching *first* and then looking up *second*?  Of
>>>what use is that lookup?  You have already done the search.. So throw
>>>that
>>>lookup out and go even faster, because it can't possibly provide any
>>>info
>>>that the search you just completed did.
>>
>>You are making the same mistake that I did.  The pseudo-code isn't doing
>>what you think it is doing.
>>
>>If he's in search, and is at depth < 0 (or whatever),  he's calling
>>quiescent search and *returning* that value.
>>
>>So what this boils down to is that he's not doing a hash probe at the
>>root of quiescent search.  Whether or not he's doing hash probles inside
>>quies (even at the root, which would mean doing it twice), I don't know.
>>
>>Before you say, of course it makes sense to not hash quiescent nodes, I
>>think this varies from program to program.
>>
>>bruce
>

That's right Bruce. I don't do hash probes in the quiescence search
nor before the call to the quiescence subroutine in the full-width
routine when depth <= 0 as that would mean I would be doing hash
probes below the full-width level, e.g. in quiescence.

My current arrangement
   extensions
   null move
   if (depth <= 0)
     return(quiescence(...));
   transposition table probe
   full-width processing here

So naturally I don't want to probe the transposition table
BEFORE the if statement above as that would mean I would be
doing transposition table probes at a depth below full-width,
e.g. in the quiescence. That was the bug in this arrangement
of the code. The probe had to go AFTER the if statement to
get the probe out of the quiesnce.

(An odd result. On a SUN Unix box, this results in a 20% speedup
in nps. But on a plain DOS PC (actually a WinDoze 95 in
Restart-in-DOS-mode) it results in only about 2.5% speedup.)

--Stuart




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.