Computer Chess Club Archives




Subject: Re: Question about static exchange evaluation

Author: Larry Coon

Date: 13:47:22 11/12/98

Go up one level in this thread

On November 12, 1998 at 15:45:39, Bruce Moreland wrote:

>  2. For each side, order the attackers in value, lowest
>>     to highest.  Include the piece that is initially
>>     captured to start off the exchange.  Put them into
>>     two....whatever, I'll say stacks just to make it
>>     easy to talk about.  The lowest valued pieces will
>>     be at the top of the stack.  Only the values of the
>>     pieces need to be pushed onto the stack.
>>  3. Start with a "trade balance" of zero.
>The trade balance starts out non-zero, you throw in the value of the piece
>you're taking to start with.

That's why I said to include the piece that is initially
captured.  Same effect.

>This is hard to understand (I haven't finished my first can of cola yet today)

I didn't post until I had my third cup of coffee.... :-)

>but it sounds right if what you are doing is exiting at the point where you
>prove you can win at least some material by initiating this exchange.

I defined two exit points -- one where you exit because
it's your move and you're ahead, so if you stop now you've
gained material.  The other is when your opponent stops
because it's his turn and he's already ahead.

>A couple other issues are being accurate about how much you are winning.  For
>instance, if your first move is NxR, you can return +2 at this point, assuming
>that the knight will be taken, or you can continue and execute QxN QxQ,
>determine that QxQ would not be played because QxQ makes this +11, and return +5
>instead (of course you proceed to discuss this later in this post).

I think I cover this by letting both sides terminate when it's
their move and they are up.

>Another thing is that if you have PxP PxP RxN PxR, you could stop after the
>second PxP and return an even exchange, so you need to remember that you could
>have done this, rather than returning that this was a losing exchange.

Hmm, good point.  Maybe if I do what I said, but if a zero ever
occurs when it's your turn, then the result of the SEE can never
be less than zero.  Sorta like an alpha value for the SEE.

[minor snip]

>All of this is a fake anyway, since it doesn't take into account the tactical
>situation over the whole board, but if it did you may as well just use search.

That kinda brings up another question -- are there criteria
that determine when you would want to use or skip a SEE?
I'd considered always doing it as part of my evaluate
function, but this is already my most time-consuming function.
If there's a way of being smart about when to use it, it'd

>>I think I'm missing something obvious here about
>>the essence of this problem.  Can anybody help?
>You're missing having tried it several different ways and determined which is
>best for you.  I think you understand the whole problem, you need to figure out
>how much of the problem you need to solve for best results.

Yeah, but I'd hate to spend a lot of time developing and
benchmarking an approach that fails, only to find that
there's a big, obvious drawback that I'd overlooked.

Thanks for the reply,

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.