Computer Chess Club Archives


Search

Terms

Messages

Subject: SEE implementation

Author: Rick Bischoff

Date: 12:20:31 09/20/04


Hello,

I had previously implemented a SEE routine, but today while the professor was
droning on about null hypothesis I revisited the subject and realized I had it
wrong all along.

The previous iteration worked as follows:  Add every piece that can attack
square X to a priority queue (sorted by piece value in ascending order)
depending on it's color.  A piece can attack a square on a ray if there is
another piece on that same ray that can also attack X regardless of color.
Then, alternately take the top values of the queue, adjusting the material
score, until one of the queues is empty and then return.

However, for positions like this:

[D]7q/3n2b1/8/4p3/3P4/8/1B6/Q7 w - - 0 1

The capture d4e5 would result in the following happening:

White queue:  B, Q
Black queue: N, B, Q

PxP +1 for white
NxP =
BxN +3
BxB =
QxB +3
QxQ -6

But white could have stopped capturing after black recaptured-- so that in fact,
PxP, in a SEE point of view only, is an even capture and not a -6 capture.

How do you handle this?



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.