Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: how large should a pawn hashtable be?

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.