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.