Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hashtables and iterative deepening (question)

Author: Vladimir Medvedev

Date: 06:43:03 05/13/02

Go up one level in this thread



> - did you check the key with a non incremental verification function?

Yes, I have checked it and compared incremental and non-incremental variants
carefully. Captures, en passants, promotions and castling are processed
correctly :)

> - do you store things like
>     a) bound
>     b) depthleft to search
>     c) score of search

I store the following set of data in each hash entry:

* full 64-bit key
* depth
* entry type (alpha, beta or exact eval.)
* evaluation

I write new entries to hashtable after getting exact score from Quiesce(), or
when doing beta cut-off, or when returning alpha from alpha node.

HT seems to work correctly during one iteration. It speeds up my engine up to 20
times in elementary ending K+P vs. K (and plays right moves), and number of
nodes diminishes from ~millions to ~100K while searching on ply 13 in this
ending.

>
>Another thing can cause huge instabilities, that's if you forward prune
>and combine that with hashtables and nullmove.
>

No, I do not implement null move yet. The only trick is  "if(inCheck) depth++"
while alpha-beta search, but I record depth into HT correctly.

My HT implementation is very similar to described at
http://www.seanet.com/~brucemo/topics/



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.