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.