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.