Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: programmers: pawn hash tables

Author: Ed Schröder

Date: 03:01:47 03/08/03

Go up one level in this thread


On March 08, 2003 at 04:21:25, Tony Werten wrote:

>On March 08, 2003 at 03:43:20, Ed Schröder wrote:
>
>>On March 08, 2003 at 01:42:15, Robert Hyatt wrote:
>>
>>>On March 08, 2003 at 01:29:46, Joel wrote:
>>>
>>>>Hey All,
>>>>
>>>>Just wondering what everyone thinks is the best way to implement a pawn hash
>>>>table?
>>>>
>>>>At the moment I am incrementally generating a seperate pair of pawn hash keys,
>>>>and using them to index a table - very similar to how my transposition table
>>>>works.
>>>>
>>>>Is it possible to do _significantly_ better than this? It seems to be somewhat
>>>>expensive to do, although having said that my NPS still went up at least 20% in
>>>>most situations.
>>
>>>That is what everyone since chess 4.x has done.  Two signatures, one for
>>>all pieces and pawns, one just for pawns.
>>
>>I don't use it, the problem is that you can not evaluate the coherence between
>>pawns and the other pieces. If you have stuff like that in your eval pawn
>>hashing is unusable and IMO that evaluation (coherence) is a must in a chess
>>program.


>One doesn't exclude the other. You can skip expensive "is this a
>backward/passed/ouside passed/isolated/double pawn" tests if the hashtable
>indicated that there isn't a backward/passed etc pawn on the file the pawn is
>on.

Of course I know that, but in case you have coherence code you should try it to
combine with pawn-hashing and look at the troubles you get, if you are lucky you
gain a few percent speed-up but end-up with a program that is very complicated
to modify. Well, at least that was my experience with pawn-hashing, so I dropped
it.

I am not saying it can't be done, but if you have coherence code a major rewrite
of the pawn stuff is needed, but maybe I have become just lazy during the years
:)

Ed



>If there is and there isn't a double pawn on the current file then you can skip
>all tests because you know it can only be the current pawn.
>
>Tony
>
>>
>>My best,
>>
>>Ed
>>
>>
>>
>>>
>>>
>>>>
>>>>I am not really worried about effeciency as much as some other people here, so I
>>>>guess I am really asking whether I am missing something major.
>>>
>>>Doesn't sound like it.  But you will end up storing more than just a score for
>>>the position.  IE passed pawn locations, weak pawn locations (or bitmaps that
>>>feature them).  Etc...
>>>
>>>>
>>>>Regards,
>>>>Joel



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.