Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: SEE implementation

Author: Bas Hamstra

Date: 12:27:21 09/20/04

Go up one level in this thread


On September 20, 2004 at 15:20:31, Rick Bischoff wrote:

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

By allowing a "stand-pat". Just like int the qsearch.

Bas.






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.