Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Classification of central pawn structures

Author: Ryan B.

Date: 14:09:41 02/10/06

Go up one level in this thread


On February 10, 2006 at 05:47:56, Tord Romstad wrote:

>On February 10, 2006 at 01:01:28, Ryan B. wrote:
>
>>I am surprised that there are so many more binary files being downloaded than
>>source.
>
>I was surprised for the opposite reason, in fact.  I thought the source code
>would only be interesting for programmers, and considering that there are only
>about 300 publicly available chess programs, it is remarkable that the source
>code has been downloaded more than 400 times.
>
>>I download the source from every engine I can no matter how strong it
>>plays.  I consider Glaurung a strong engine based on what I have seen.
>
>Compared to other open source engines, it isn't too bad.  When running
>on a single CPU, it's probably one of the strongest open source engines
>not derived from Fruit.
>
>>I like your center pawn structure code.  I think it can be refined some and
>>also use for other things in your eval.
>
>An evaluation discussion?  Cool, we don't have enough of these.  Thanks for
>bringing up the topic.  :-)
>
>For those not familiar with Glaurung's source code:  I classify the central
>pawn structure for each position evaluated, and store it in the pawn hash
>table.  The following comment from pstruct.c explains the different types
>of pawn centres I have defined so far:
>
>  /* Analyse the central pawn structure.  The following types of central
>   * structures are defined:
>   *
>   *     OPEN:         At most one pawn on the e and d files.
>   *     HALF-OPEN:    Two or three pawns on the e and d files, and no pawn
>   *                   is blocked.
>   *     HALF-CLOSED:  Two, three or four pawns on the e and d files, and
>   *                   there is a pawn ram.
>   *     TENSION:      A central pawn capture is possible.
>   *     UNRESLOVED:   Four central pawns, still not in direct contact.
>   *     CLOSED:       Four central pawns, none of which can move.
>   */
>
>I agree that this could be refined further, and that I could make more use
>of it than I currently do.  At the moment, I only use it for my bishop
>pair bonus.  Instead of having a constant bishop pair bonus, I use an array
>indexed by the pawn centre type (if the numbers look big, it is because I
>use pawn=256 rather than the more common pawn=100):
>
>int BishopPairBonus[7] = {
>  60,  /* UNKNOWN */
>  100, /* OPEN */
>  80,  /* HALF_OPEN */
>  0,   /* CLOSED */
>  30,  /* HALF_CLOSED */
>  70,  /* TENSION */
>  60   /* UNRESOLVED */
>};
>
>I have made some experiments with using the pawn centre type in other parts
>of my eval, but without much success.  I have tried to use it to scale my
>pawn shelter evaluation (a good pawn shelter should be more important in
>open positions), and for my side to move bonus (having the side to move
>is also more important in open positions).  In principle I think both of
>these look like good ideas, but making them work requires careful tuning.
>
>If anyone has thoughts about this, I would love to hear about them.
>
>Tord

Here is a slight refinement that should help with transitioning between center
pawn structure types.

int BishopPairBonus[] = {
60  /* Unknown */
100 /* Open */
90  /* Half Open with Tension */
80  /* Half Open */
60  /* Unresolved */
50  /* Half Closed with Tension */
30  /* Half Closed */
15  /* Closed with Tension */
0   /* Closed */
};

This of course could be even further refined with levels of half open and half
closed.  Also I suspect that slightly higher bishop pair values in the opening
than endgame would be productive.  Using this data for side to move bonus is
something I had not thought of but it sounds like a good idea.  My initial
though is that it should be useful for bishop pair, pawn shelter, pawn storms,
and knight value.

Ryan



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.