Computer Chess Club Archives


Search

Terms

Messages

Subject: SEE basics and an example:

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.