Computer Chess Club Archives




Subject: Re: Question about static exchange evaluation

Author: Larry Coon

Date: 08:30:55 11/13/98

Go up one level in this thread

On November 12, 1998 at 21:33:55, Robert Hyatt wrote:

>you can't really cut off...  ie you get to choose to capture the opponent's
>piece, but then you *must* give him the opportunity to stop or else capture
>yours... and so forth...

Exactly.  As I described it, each side has the option of
stopping if it's their turn and they are ahead in the
exchange.  It's exactly the way you coded it when you
work backward and compare the current score to the
previous score, and keep the best of the two.

>you can stop early at the cost of a little accuracy... and you can even cut
>the whole algorithm to something pretty simple, and give up some more...

I'm wondering how much a loss of accuracy here can really
cost you.  After all, by the time you're doing a static
evaluation you're so focused on one set of exchanges that
you're ignoring any other tactical possibility.  My guess
would be that the loss of accuracy from ignoring all the
other tactical possibilities probably overwhelms the loss
of accuracy from cutting off the SEE a little early, so
the loss from cutting off the SEE is insignificant.  Has
that been your experience?

>there aren't any branches... you *always* capture with the least valuable
>piece...  so that simplifies this... and it only considers the target square,
>without regard to pins, overloaded pieces and so forth... to do more may
>make it too expensive to use...

Yeah, that's what I was getting at.  In my second position
(1k6/8/3nq1p1/4np2/8/6N1/5R1Q/4RK2 w), the focus of the
exchange moved from f5 to e5 midway through.  So in that
case there were two brances -- continue at f5 or move to
e5.  But I understand that the whole point of a *static*
evaluation is that you don't consider alternatives like
that (as you said below).

>SEE doesn't do this... there is a single target square...  to do more
>requires a normal search...

Side note, and I asked this in another branch of this
thread -- are there criteria that determine when you do
and don't do a SEE, or do you always do one when you're
in evaluate() and there are pieces under attack?

Larry Coon

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.