Computer Chess Club Archives




Subject: Re: Question about static exchange evaluation

Author: Robert Hyatt

Date: 14:17:32 11/13/98

Go up one level in this thread

On November 13, 1998 at 11:30:55, Larry Coon wrote:

>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?

The "loss" occurs because this is used for move ordering.  If you
don't "play out" all the captures, you might assume you can win a
rook, or you might assume you win the exchange, and quit early.  If
you use this score for ordering captures, you might look at the wrong
one first...

>>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

I don't do *any* of this in evaluate.  I use SEE to order captures, and in
the q-search, to cull captures that seem hopeless...

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.