Pawn hash tables

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

mageofmaple

Pawn hash tables

Post by mageofmaple »

Hello all!

I'm interested in your thoughts on pawn hash tables. For one thing, a 32-bit hash key is not considered adequate for storing a full-board representation, but do you think that 32 bits would be enough if you are just hashing the pawn position?

Also, what information besides an evaluation is worth storing? A bitboard of passed pawns sounds useful, because you might try placing a move that pushes a passed pawn higher in the move ordering. Any other ideas?

Thanks,
Greg
Gerd Isenberg
Posts: 2250
Joined: Wed Mar 08, 2006 8:47 pm
Location: Hattingen, Germany

Re: Pawn hash tables

Post by Gerd Isenberg »

mageofmaple wrote:Hello all!

I'm interested in your thoughts on pawn hash tables. For one thing, a 32-bit hash key is not considered adequate for storing a full-board representation, but do you think that 32 bits would be enough if you are just hashing the pawn position?

Also, what information besides an evaluation is worth storing? A bitboard of passed pawns sounds useful, because you might try placing a move that pushes a passed pawn higher in the move ordering. Any other ideas?

Thanks,
Greg
Hi Greg,

32-bit keys for pawn-hashing should be fine.

Storing king-safety related pawn-shield stuff for both wings and eventually center comes in mind. Some pure pawn related aggregated first order scores. What about arbitrary enumeration of pawn-structure of center and wings, where one can possibly index appropriate piece-square tables with?

I would not store bitboards of pawns with certain properties, since they are sparsly populated or often empty and take too much space and in average low information density. File sets only take one byte instead of eight.

Gerd
jwes
Posts: 778
Joined: Sat Jul 01, 2006 7:11 am

Re: Pawn hash tables

Post by jwes »

Gerd Isenberg wrote:
mageofmaple wrote:Hello all!

I'm interested in your thoughts on pawn hash tables. For one thing, a 32-bit hash key is not considered adequate for storing a full-board representation, but do you think that 32 bits would be enough if you are just hashing the pawn position?

Also, what information besides an evaluation is worth storing? A bitboard of passed pawns sounds useful, because you might try placing a move that pushes a passed pawn higher in the move ordering. Any other ideas?

Thanks,
Greg
Hi Greg,

32-bit keys for pawn-hashing should be fine.
Gerd
32-bit keys for pawn-hashing + the address bits should be enough, but if you take the address bits from the 32 bit key, leaving 10-18 effective hash bits, you will have false matches.