Author: David Rasmussen
Date: 11:31:23 12/03/01
Go up one level in this thread
On December 03, 2001 at 10:07:43, James Swafford wrote: >>checked hamming distance etc. I don't use separate values for pawn hashing (as >>you did at some point, I think), I just use the first n bits of the normal >>hashkeys for pawns, where n=64 now that I've found n=32 not to work. >> >>/David > >What do you mean by 'first n bits of normal hashkey'? Are you just >taking a chunk of the regular hashkey and calling that the pawn >hashkey? > >You should be computing a separate key that doesn't factor in anything >about the position other than pawn location. Maybe you are, I don't >fully understand what you meant. I thought about this "ambiguity" when I wrote it, but decided that it wasn't ambiguous. I guess I was wrong... :) Note that it says "hashkeys for pawns". What I mean is that the hashed-in values for pawns (say a black pawn on c7), are not generated separately, I just use the values I already have for normal hashing. These values are 64-bit values, as my normal hashkeys are 64 bits. By the first n bits, I mean that if the pawn hashkeys are 32 bits, I take the first 32 bits of these 64 bit keys, to make the keys for hashing into the pawn hash key. In other words, I don't think about it at all, since the 64 bit values are automatically converted to 32 bit, if that is what I use. Of course there is a possible speed gain of using 32 bit values from the start, if the compiler isn't smart enough not to load the entire 64 bit value into registers, and _then_ "truncate", that is, ignoring one register. /David
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.