Author: Paul Clarke
Date: 07:51:07 07/15/04
Go up one level in this thread
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.) > 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.