Computer Chess Club Archives


Search

Terms

Messages

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

Author: Fabien Letouzey

Date: 09:29:34 06/17/04

Go up one level in this thread



On June 17, 2004 at 12:05:37, Tom Likens wrote:

>I was probably a bit unclear.  Most of the program's evaluation terms are
>scaled (i.e. blended), but some terms are not.  A simple example is the
>king safety table.  In the middlegame the program gives a bonus for the
>king being near the corner.  In the endgame the situation is reversed and
>the bonus is for the king being near the "action" (more than likely the
>center of the board).  This term currently isn't scaled but is added in
>wholesale which causes a discontinuity at the boundary, similar to
>Berliner's "blemish effect".  Interpolation of the overall score would fix
>or at least mitigate this problem (and others like it).  You are correct
>though, my evaluation has been moving towards being an overall
>blended score.

I make no difference between "blending the features" and "blending the final
score".  They both try to reduce the problem of "blocky phases".

>Again in the trivial example above, to interpolate the king position value you
>would have to add both scores and take the average between them.
>Very small cost, but not zero (probably, too small to really worry about
>though).  Of course, this is a trivial example some eval terms might
>(will) be expensive to calculate.  Comprehensive king safety seems
>likely to be expensive.  Currently, Djinn spends a lot of time in the
>middlegame on king safety and very little in the endgame.  Using a truly
>blended eval would cause that cost to be accessed even in the endgame.

I did not say that (last thing you mention) was a desirable way.  I do believe a
"continuous" eval is a good thing though (at least I was convinced by Dr.
Berliner statements).

Take king safety, suppose that you consider the king to be safe if the opponent
has <= XXX material.  You can define a weight that goes from 1 (the opponent has
all pieces) to 0 (only XXX material) for that feature.  I consider it is
"continuous" (not 0/1).  Furthermore if the weight is 0 you don't need to
evaluate the feature.

You might say that then it is not better than having strict "phases", but the
fact that features don't share the phases probably helps with continuity.

The reason why I use only one interpolation parameter is because I have no
feature that would justify its own parameter yet.  To me the discussion is about
"phases" vs. blending, not single blending vs. multiple blending.

>Probably, my being very unclear again.  I was only surmising that you could
>have a variable for tracking the score of the middlegame-only features and
>another variable for tracking the endgame-only scores.  At the end of your
>evaluation routine (before returning to the main search) you could perform
>a single interpolation on the two scores rather than multiple interpolations
>as each term was evaluated- saving a cycle or two, (but probably not worth
>the effort, just something to think about).

Oh I see.

This is what I do, but only because I have no reason not to.  My reasoning was
opposit, why would I interpolate after each feature is evaluated if I can do it
only once in the end?

Fabien.




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.