Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Help with Static Exchange Evaluator

Author: Bruce Moreland

Date: 21:04:29 07/18/99

Go up one level in this thread



On July 18, 1999 at 17:27:12, William Bryant wrote:

>I have created a SEE routine for my program (following the general plan of
>Swap()
>from Crafty) and now have a question about where it should be implemented.
>
>I initially implemented it in the move generator.  When generating captures, if
>the Captured_Piece - Capturing_Piece discard the move, never searching it.
>
>This created an overall speed up but leaves a number of questions.
>
>Some positions require a sacrifice to find the winning line.  These positions
>are never found because the sacrifice move is always discarded and never
>searched.
>
>Is this the tradeoff of this heuristic?
>
>Is there a better way to apply the SEE rather than to all capture moves as they
>are generated?
>
>Are there other heuristics that allow these discarded moves to be found in the
>right positions?
>
>Here is an example position:
>1rr3k1/4ppb1/2q1bnp1/1p2B1Q1/6P1/2p2P2/2P1B2R/2K4R w - -
>It is from a list of mating positions posted by Dan
>
>I can find the winning mate in 0:32 without the SEE,
>and never with the SEE.

"Never" is kind of strange.  You'd think that you'd see it eventually.  I
suggest that you keep this one around, and see if you find it in a version you
do approximately next week.

A SEE will sometimes prune out good moves, but you're way out at the tips when
you use it, and a lot of mistakes will happen out there even if you don't use a
SEE.

bruce



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.