Computer Chess Club Archives




Subject: Re: Zero-width Window Null Move Search

Author: Don Dailey

Date: 11:07:25 06/20/98

Go up one level in this thread

On June 20, 1998 at 13:02:54, Robert Hyatt wrote:

>On June 20, 1998 at 11:30:01, Stuart Cracraft wrote:
>>>1.  This shoule *not* be a compute-intensive task.  If you aren't yet hashing
>>>your pawn structure scoring, you should, because whether a pawn is passed or not
>>>is a static piece of information that is independent of other pieces.  If you
>>>hash this, you will find that you find over 99% of your pawn structure
>>>evaluations are not needed because after you compute them one time, you will not
>>>re-compute this again, just use the hashed value.
>>While what you say is true about the 99%/1%, passed pawns that are
>>carefully calculated are not hashable. The reason is that a good calculation
>>of a hashed pawn includes who controls its queening square and
>>who controls the square directly ahead of it (facillitating its advance)
>>as well as other attacks along its path as well as blockading enemy pieces
>>on that path that would impede its progress. These extra items involve
>>calculations related to non-pawn pieces and therefore may be in
>>different positions where the passed pawn is on the same square. Hence,
>>unhashable. If you take the trivial case of just hashing the fact that it is
>>a passed pawn,  then yes, that is hashable. But not the full case which
>>is what you really need.
>But if you read his post *carefully* he was talking specifically about the
>case of *recognizing* passed pawns, not *evaluating* them.  This is only
>dependent on the positions of enemy pawns, and the effective cost of this
>is always *zero* with hashing.  What you do with that information later is
>another issue, but not the recognition phase.


Don't you keep information in your pawn structure hash table?  I don't
even return a score, I simply calcuate all the important pawn things
I can and then, like you, evaluate them later.  For instance I have a list
of passed pawns.  I identify them and nothing more.  I have bitboards
telling me which squares can never be attacked by pawns and I identify
backward pawns.  In the evaluation I test for things like occupying
a square in front of a passed pawn or in front of a backward pawn, things
I cannot do in the pawn structure table.  Why should I have to recalculate
this again?

- Don

This page took 0.02 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.