Author: Severi Salminen
Date: 02:53:54 01/11/02
Go up one level in this thread
> Also, I have heard a lot of flimsy descriptions of SEE's, but I have not >managed to distill from these any sort of idea about how to implement one >efficiently! Can anyone suggest how this might be implemented efficiently? >Ultimately I want high NPS, so it may be too expensive. Well, if you want high NPS, then forget SEE. Actually you should also forget hashtables, futility pruning, EGTBs, evaluation function (ok, material maybe) and tons of other things :) But, if you want high search depth (which I prefer over NPS) you _should_ at least try SEE. How to implement one? First Do the capture you are considering and record the score. Then check all the opposing pieces that are attacking it. Do the capture of the least valuable piece and now check if you can capture again. Do the capture of the least valuable piece and continue this until no captures are possible. And after each step (including the very first one) check somehow if you discovered an attack (if there was a bishop, rook or a queen behing the attacking piece). After this process you have to find out what is the maximum score that the first capturer can achieve. One method is to store all the scores at each step and then minimax that list remembering that each side has a possibility to "stand pat": stop the sequency. Let's consider next position: [d]7k/8/2q5/3p4/8/3R1B2/8/K7 w - - 0 1 1. W_bishop captures Bxd5, score=100. 2.B_queen captures Qxd5, score=-200. 3. W_rook captures Rxd5, score=700. 4. No more captures for black, we stop. 5. We go through the score list, which is 100, -200, 700: will white do the last capture, yes since the score is better than the previous. Now the score list is 100, 700. Will black do it's capture, no since 700 is worse than the previous (100, remember that black likes _smaller_ values). So now the score list is 100 and this is indeed a good capture. I hope this helped. And please correct all the mistakes I made :) Severi
This page took 0.07 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.