Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Pawn Transposition Table

Author: Robert Hyatt

Date: 12:12:10 01/12/98

Go up one level in this thread


On January 12, 1998 at 14:07:59, Don Dailey wrote:

>You may not have a problem.  A assume given a longer search your
>numbers will climb to the 95-99% range.  Is your table pretty
>small?
>
>Now that you have ps hash tables there are lot's of wonderful tricks
>you can play.  I store lot's of info in mine that the evaluation
>can use further, like locations of passed pawns and holes etc.
>
>- Don

So do/did I.  Only problem is that as I improve things, that which
depends only on the locations of pawns is getting smaller.  I flag
passers, protected passers, weak pawns, and so forth.  But the savings
is not really all that great since I have to use these in evaluating
pieces.

But the "structure" can certainly grow.  And everything is basically
free
if you can stick it in there, and if you have enough memory for a decent
table (even 32,000 entries is enough for most positions if you look at
how many ways the pawns can realistically be moved around)...



>
>
>On January 12, 1998 at 10:49:20, Stuart Cracraft wrote:
>
>>The 93% table-probe match I mentioned before for pawn transposition
>>table was for discrete, unrelated positions, such as from a problem
>>suite.
>>
>>When the pawn tranposition table is not cleared between moves in
>>a regular game, I am getting typically 95-99%.
>>
>>I'm pretty sure of my hash function, however I'll try some other
>>things. Formerly, I just took a mask of the bits for the index into
>>the hash table. Recently I've done a modulo of the hash to determine
>>the index.
>>
>>--Stuart
>>
>>On January 12, 1998 at 00:07:20, Don Dailey wrote:
>>
>>>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 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.