Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Opening, Middlegame, Endgame (for authors)

Author: Tom Likens

Date: 12:43:29 06/16/04

Go up one level in this thread


On June 16, 2004 at 10:54:18, Jaime Benito de Valle Ruiz wrote:

>I'm re-writting the eval code to give consider different weights at different
>stages of the game... which is something I should have tried earlier. I've even
>considered having a late-midgame stage.
>
>I've tried a few methods for differenciating these stages of the game, all of
>them based on counting pieces on the board, but I suspect it has more little to
>do with the number of pawns, and it might not be so simple.
>
>Can anyone give me some suggestions on this?
>Thanks,
>
>  Jaime

Hello Jaime,

In Djinn I scale a number of the evaluation terms based on the amount of
material left, excluding pawns.  If you give the pieces pawn equivalent
values of 3, 3, 5 and 9 (used only for indexing purposes of course) then the
index can range from 0 to 31.  I keep track of this number incrementally
during the search so it is always available.  To use it I have a number of 32
entry floating point arrays with names like "Scale3to1", "Scale1to6" etc.,
(I wrote a C program to generate all the arrays and the floating point values).
These arrays scale linearly from 3.00 to 1.00 across 32 values or 1.00 to
6.00 and so forth.

I also scale the values for white and black independently depending on
the material for each side.  One caveat, with using this method- often a score
will be scaled depending on the amount of material the *opponent* has (in fact,
this is often the case).  A good example is king safety, if your opponent has
little
material left then it may be okay to bring your king into the fray, regardless
of
how much material you have left.  Once you start down this road, it's amazing
how many places it can be applied. I use this idea to scale passed pawns,
king attacks, center control etc.

Another option, which I don't currently use, is to blend (i.e. interpolate) the
final
score from the middlegame evaluation and the endgame evaluation.  I believe
Phanlanx, Gothmog and perhaps Fruit all use this technique so you might
inquire from them how they apply it.  I've always shied away from this idea
because it seemed computationally expense, but perhaps not.

regards,
--tom



This page took 0.01 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.