Author: Robert Hyatt
Date: 21:04:35 01/20/98
Go up one level in this thread
On January 20, 1998 at 23:02:11, Stuart Cracraft wrote: >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 that makes more sense, but it is a *very* bizarre search formulation. The thing written by Ken Thompson years ago makes the code much more readable and understandable. IE I can't get to Search() if depth is == 0 so that test is not needed in mine. Whenever depth==0 I go directly to quiesce..
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.