Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Sacrifices - eliminating them from the search?

Author: Colin Frayn

Date: 07:09:41 03/12/00

Go up one level in this thread


On March 11, 2000 at 15:03:58, John Coffey wrote:

>I wonder how much benefit there would be to doing a dynamic exchange evaluation
>on certain moves and just eliminating them from the search.  Remove moves that
>seem to obviously lose material.   We might allow sacrifices at the base of the
>tree and sacrifices that give check at any point.

If you could just cut out moves which you played then that would be great, but
overlooking good sacrifices that the opponent could make might seriously reduce
your program's strength.  Remember that they will mainly be playing other
programs, and other programs won't be so prejudiced against sacrifices as humans
are.

By that I don't mean that humans hate playing sacrifices, just that they are
naturally more prone to discounting them and missing purely tactical lines.  A
computer will easily spot a clever checkmate which is initiated by a sacrifice
without any problem at all, whereas a human often has great difficulty in doing
so.

As an example, study the 'immortal game' (anyone have a reference?).  A computer
would never play Rg1 sacrificing its bishop anyway, so there's no point arguing
about that move, but the method you described would totally miss the CM starting
with Nxg7+ and then the queen sac.  That's a very easy mate in 3, and ColChess
spots it in less that a fifth of a second.  You've got to expect that other
(better) programs will spot things like that even easier (and deeper).

>The benefit is that it would cut down on the size of the tree, and perhaps by a
>great deal.

I don't think so.  Sure that's correct (in some cases) with a very naive search,
but once you've added in lots of the better pruning algorithms and a hash table,
I don't think that the speed up would be that great at all.

Basically, what you've described sounds like a very strong variant of futility
pruning, which basically stops the search when it's near depth of 1 or 0, the
line you're following seems to be losing a lot of material, and it doesn't look
like you're going to get it back in the near future.  I've always been sceptical
of this method, and I think Bob Hyatt dislikes it too (from the comments that
come with Crafty's source code) - but note that I think Crafty uses razoring,
which is similar but less foolhardy.

>The cost is that the program would be blind to many tactical shots.
>It would probably miss that a piece is pinned and cannot recapture.

Why is that?

Bottom line : bad idea

Cheers,
Col



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.