Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Pawn Transposition Table

Author: Don Dailey

Date: 21:07:20 01/11/98

Go up one level in this thread


On January 11, 1998 at 21:13:33, Stuart Cracraft wrote:

>I wanted to share my experience with the group regarding
>implementation of the pawn transposition table this weekend.
>
>It took about an hour to put in and another few hours to
>test. I do like the result. Now I just probe the table and
>if the score is there, use it, avoiding costly pawn structure
>evaluation, the bane of programmers, the preventer of positional play.
>
>On the Win-at-Chess suite, it is able to get the pawn structure
>score about 93% of the time from the pawn transposition table,
>avoiding calculation.
>
>There was a lot of pawn logic (backward pawns, pawn holes,
>attacks by pawn on the center, pawns in the center, wing pawn
>advances, .etc) that I had written but kept out of the evaluation
>function because it slowed down the search and resulted in worse scores
>on tactical suites. I tossed it back in and retested at WAC and there
>was no horrible slow-down.
>
>But, due to the tactical nature of WAC, this extra pawn evaluation
>logic, once running at normal program-speed without slowdown, was not
>helpful in getting a better score though. I suspect it might be more
>helpful in real games or positional positions like levers in Bratko-
>Kopec or the positional and endgame problems in Louguet II.
>
>One point: I don't clear the pawn transposition table between searches
>unless solving a problem suite on the theory that in a real game,
>the table will be filled with useful pawn structure evaluations.
>Actually it needn't ever be cleared since there is no real replacement
>scheme other than just over-write/replace-with-new, so having a few
>pawn structures in the table from any previous search is always better
>than having none.
>
>My experience with pawn transposition table has been positive;
>however I do not see 98% successful probes, only 93%, on average.
>
>--Stuart

There is more than likely a problem.  93% sounds more like a worst
case situation, look for a bug.   The first thing I would check is
the quality of the hash function.  This is the easiest thing to get
wrong and is very non-intuitive.

Here are some things that might explain your numbers:

  1. You're testing with short searches.
  2. You're testing the opening position or positions near it only.
  3. Your hash table is pretty small.

If one or more of these things are true you may be ok. Otherwise
look at your hash function, your address calculation etc.  Is your
table size correct?   Is your address calculation mask correct (assuming
you are using the power of 2 method?)

At the Dutch championship I had a bug in my hash tables.  My
random number table was constructed wrong (my fault) and we were
effectively only using 1/8 of our hash table.  Every 8th bit in each
number was the same!  This kind of bug is very hard to catch.  It
was quite a relief since I had been sensing something wrong with the
program and could never put my finger on it.  We think this had a
lot to do with our bad results.

- Don







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