Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Initialization of pawn hash table

Author: Peter Fendrich

Date: 11:33:05 09/26/04

Go up one level in this thread


On September 26, 2004 at 13:51:19, Zach Wegner wrote:

>In my program, I allocate the hash tables with calloc(), which initializes
>everything to zero. Recently I've been having a problem where the program
>crashes on somewhat longer searches. After debugging, it turned out to be the
>pawn hashkey is equal to 0, and the corresponding entry had not been written
>into yet, making the program think it was a valid hit. The pawn data is all set
>to zero and causes a seg fault later on. What's the best way to solve this?
>Better zobrist numbers/ignore it? A "used" bit?
>
>Thanks,
>Zach

I initialize the depth (draft) with -1. It takes essentially no time.
In the beginning I have, if depth == -1 then this is an empty entry.

You could also use zero as initial value and test against zero.
It would miss all keys==0 but that wont hurt your programs strength...
Don't test if depth==0, that's not a good idea.
If you store an alternative key or part of the full 64-bit key in the
hash-entry, test against that instead.
/Peter



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.