Author: KarinsDad
Date: 13:53:00 04/03/00
Go up one level in this thread
On April 03, 2000 at 15:35:57, Robert Hyatt wrote: [snip] > > >What it does is ask the following question: > >If I capture the piece on square X, what will I gain (or lose) in terms of >material. You just enumerate the white and black pieces that attack square >X, and then do the exchanges to see if it is good or bad to do. Just like a >human asks "Can I move my knight to e5?" by noticing the pieces for both sides >that are currently attacking e5... Thanks Robert, What does SEE stand for? Static Exchange Evaluation? Also, is there an efficient way to do this (structure-wise)? I can easily put together an array of 8 directions of uint32s to hold upwards of 7 pieces in each rank, file, or diagonal (for batteries and hidden batteries) and use them in conjuction with a count of knight attackers/protectors (per color) for the square. However, most of these types of structures are wasted white space. It would seem that there is a better way to do it, but every one that I have thought of has some deficit or other. It appears that Swap() doesn't add into it's calculations a given battery piece unless the piece in front of it is actually "used" in the calculation. This would gain two things: 1) only pieces that directly attack the square have to be calculated in initially, 2) the colors of alternating battery pieces can be ignored since only the "top-most" piece will ever be looked at (until it is used). I'll have to think more on this. Thanks, KarinsDad :)
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.