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.