Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Interpreting my analysis of the Fine 70 position.

Author: Stuart Cracraft

Date: 10:32:11 07/15/04

Go up one level in this thread


On July 15, 2004 at 10:51:07, Paul Clarke wrote:

>On July 14, 2004 at 13:24:53, Stuart Cracraft wrote:
>[snip]
>>Hi Dieter,
>>
>>Please see if you see anything obvious with my basic search.
>>Any comment you make is welcome.
>>
>>search(depth,alpha,beta)
>>   if draw-rules-met return draw
>>   if extensions-met depth+=1
>>   if depth <= 0 return quiesce()
>>   try to retrieve hash position of current position
>>     if length retrieved >= depth then
>>       if flag is VALID, return score from hash table for position
>>       if flag is LOWERBOUND, set alpha to MAX(score-from-table,alpha)
>>       if flag is UPPERBOUND, set beta to MIN(score-from-table,beta)
>>       if alpha>=beta return score
>>       set flag meaning hashed
>
>Shouldn't you be setting this flag regardless of the length retrieved? Otherwise
>when you do an iteration at depth n you won't use the move found by the depth
>n-1 iteration as the first move to search. (Probably just confusion in the
>pseudo-code rather than a bug in the real code.)

No -- I think you are right. The code sets hashed only if length>=depth.
I'll try it both ways once the a bad bug is found and the other item
is fixed.

My mind is simply a hash right now.

>
>>     endif
>>    if null-move-ok, do it (not endgame, not incheck, not 2 in a row already)
>>    if hashed flag above is set, add a value to make hashed move be searched 1st
>>    generate moves
>>    if hashed flag was set add value to make hashed move 1st
>
>[snip the rest of the algorithm]



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.