Author: Robert Hyatt
Date: 21:05:35 02/11/04
Go up one level in this thread
On February 11, 2004 at 16:43:06, martin fierz wrote:
>on my long todo list for my program, the item "pawn hashing" has slowly but
>steadily floated upwards. now it's on top. so: how large is your pawn hashtable
>(in # of entries)? how large are your entries? i'm using bitboards, and it seems
>to me that my entries will be huge, e.g. if i want to save some simple stuff
>like
>
>- passers
>- connected passers
>- isolated pawns
>- doubled pawns
>- backward pawns
>- blocked pawns
You can do all of those with 8 bit values, 1 bit per file, rather than 64 bits,
that is what I do... Here is my pawn hash info:
typedef struct {
BITBOARD key;
short p_score;
unsigned char allb;
unsigned char black_defects_k;
unsigned char black_defects_q;
unsigned char passed_b;
unsigned char candidates_b;
unsigned char allw;
unsigned char white_defects_k;
unsigned char white_defects_q;
unsigned char passed_w;
unsigned char candidates_w;
unsigned char protected;
unsigned char outside;
unsigned char open_files;
} PAWN_HASH_ENTRY;
I can explain what each term is, if needed, but note each is a char, which is
one bit per file.
>
>that would be 6x8 = 48 bytes; perhaps times 2 for each side (or i could pop
>black and white pawns in the same bitboard, and & it with the black/white
>bitboard to save space). still, that's already 48 bytes and i guess i could save
>some more stuff if i thought about it a bit longer :-)
>is that a reasonable size for a pawn hash entry?
>
>cheers
> martin
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.