Author: Uri Blass
Date: 02:19:56 02/12/04
Go up one level in this thread
On February 12, 2004 at 04:30:39, Tord Romstad wrote: >On February 11, 2004 at 18:13:25, Dann Corbit wrote: > >>On February 11, 2004 at 18:01:44, martin fierz wrote: >>[snip] >>>hi dann, >>> >>>i am quite aware that a normal hashtable works as you say - store a key and a >>>score. but really, i think that is a much too simplistic view of pawn structure. >>>pawns interact with pieces in complex ways, and i basically would like to store >>>the information i think important about pawns in the pawn hashtable, to retrieve >>>them quickly later. i can also imagine storing a "baseline score" for the given >>>pawn configuration. but i really want interactions with pieces too, and as i >>>can't hash scores for that, i'd have to save intermediate computations (such as >>>connected passers, or potential levers etc) in the pawn hashtable, and then use >>>them for the interaction terms. >> >>I bet it will be more expensive to store all that stuff in the hash table and >>try to reuse it than to recalulate it. > >Not in my experience. My pawn hash table contains lots of stuff similar >to what Martin describes. I don't store any scores, just lots of pawn >structure related information which is used elsewhere in the evaluation >function. By the way, I don't hash the position of the kings in the >pawn hash table. > >Using a pawn hash table gives me a huge speedup compared to computing >everything from scratch in every single node. See this post for some >numbers to illustrate the speedup I get with different pawn hash table >sizes: > >http://chessprogramming.org/cccsearch/ccc.php?art_id=317762 > >Tord last time I implemented pawn hash tables to store information it gave me almost no change in speed. Maybe the reason is the fact that I use biboards for pawn structure like Gerd suggested and the information that I calculate is easy to calculate by bitboards(I need the information in every node because I evaluate every node so I cannot do the same save like other people do). Today I do not have pawn hash tables because I decided few months ago to go back to previous version that has not the pawn hash and also has not other data that I calculated because I decided that more tables is a bad decision and it is better to calculate new information by functions(I suspect that my attack tables that are calculated incrementally after every move are also bad and it is better to have functions to calculate the same data but I decided not to rewrite my move generator in the near future). I remember that Gerd claimed that it is possible that it is better not to store the simple information that I calulate in pawn hash and calculating it incrementally after every move may be better and I do not calculate complex information but only some information by bitboards like Gerd suggest. Uri
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.