Computer Chess Club Archives




Subject: Re: Hash Tables - Should one store EP, Castling rights etc?

Author: Robert Hyatt

Date: 08:23:31 01/30/99

Go up one level in this thread

On January 30, 1999 at 09:59:38, Steve Maughan wrote:

>I have a couple of question regarding hash tables - can anyone help?
>1 I see in the Crafty code that the flag for a hash entry can be "value is
>worthless".  What is the condition for storing this type of entry?

that's an entry that has been 'cleared'.  IE the score/bound is totally
no good because something changed at the root that caused the piece/square
tables to be recomputed... which means scores will change.  I set the type
to 'worthless' because the 'move' stored in such a position is still good for
move ordering, but the score/bound is not.

if I just cleared the entire entry, I'd lose the move ordering stuff the table
contains...  this way I just lose the score.

>2 Is it advisable to store the a) the side to move b)Enpassant square c)
>castling right in the hash code? ie assign a random value that is XORed for
>these conditions.

you _must_.  I do it by dynamically updating the hash signature when I make a
move that makes an enpassant possible, and updating it again when I make a move
that makes the EP capture impossible.  Ditto for castling.  If you don't do this
you will get matches that are wrong, and results that are wrong.

>All help appreciated.
>Steve Maughan

This page took 0.01 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.