Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hash table efficiency

Author: Ricardo Gibert

Date: 12:46:58 12/05/00

Go up one level in this thread


On December 05, 2000 at 15:21:02, Miguel A. Ballicora wrote:

>Before the question, a little background and an aknowledge.
>I am writing a program that plays chess mainly for fun. I started 3-4 years
>ago and I could not keep up but now I want to continue. I made it to work,
>and I can play a game against it (in fact, it plays much better
>than I would have predicted being so basic). I like to thank most of the
>people in this forum because the little I know I learned it from one chapter
>in the enciclopedia of A.I. and mainly from
>reg.games.chess.computer and their archives in www.dejanews.com 3-4 yrs ago.
>Most of the authors of those messages are writing here now.
>
>My program generates the moves using bitboards. It does what it is called
>"aspiration search" and iteration deepening,
>I sorts the move by something similar to MVV/LVA, it uses history tables, i t
>does not do "killers" yet. It has a transposition/refutation table, I use the
>store moved trying to make a cutoff first (>=beta). It has a rudimentary
>evaluation function that takes into account material, movility
>terms and rudimentary pawn structure (isolated and double pawns).
>I extend teh search when I found a check or a recapture. Also when
>It looks like there could be a perpetual. It detects draw repetition.
>I also implemented null move (I am using what I understand people call it R=2)
>The program is slow (30-40 knps in AMD K-2 400 mhz) and my "to do list"
>is huge. I am happy because it is "running" but I feel that most of
>the code should be updated, debugged, improved, modified, profiled, optimized
>etc. etc.
>(any suggestion about what my next step should be will be greatly appreciated)
>My plans now are to improve the search and the tree size.
>
>Too much of an introduction. My question is:
>How do you realize that your hash table is efficiently coded?
>from the initial position into ply 7 or 8 I have ~4-5% of the nodes
>hit in the hash table (position was found) but only ~10% of those hits (0.5%
>total) can be used to return a value (depth stored is >= than depth).
>Are these numbers reasonable?
>If I use two tables, one for overwriting always and the other to overwrite
>only if depth >= depth stored it does not change much.
>
>If the numbers are not reasonable, what would you try to change or debug?
>
>Regards,
>Miguel

How about some sample search output on test positions from your program with
data on PV, nodes per second, depth, total nodes, etc. People will get a better
idea of what to suggest with this information. Also, a game score would be
helpful. Interesting too.



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.