Author: Vladimir Medvedev
Date: 06:43:03 05/13/02
Go up one level in this thread
> - did you check the key with a non incremental verification function? Yes, I have checked it and compared incremental and non-incremental variants carefully. Captures, en passants, promotions and castling are processed correctly :) > - do you store things like > a) bound > b) depthleft to search > c) score of search I store the following set of data in each hash entry: * full 64-bit key * depth * entry type (alpha, beta or exact eval.) * evaluation I write new entries to hashtable after getting exact score from Quiesce(), or when doing beta cut-off, or when returning alpha from alpha node. HT seems to work correctly during one iteration. It speeds up my engine up to 20 times in elementary ending K+P vs. K (and plays right moves), and number of nodes diminishes from ~millions to ~100K while searching on ply 13 in this ending. > >Another thing can cause huge instabilities, that's if you forward prune >and combine that with hashtables and nullmove. > No, I do not implement null move yet. The only trick is "if(inCheck) depth++" while alpha-beta search, but I record depth into HT correctly. My HT implementation is very similar to described at http://www.seanet.com/~brucemo/topics/
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.