Implementing SEE

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
cms271828
Posts: 316
Joined: Wed Apr 12, 2006 10:47 pm

Re: Implementing SEE

Post by cms271828 »

Thanks that might be a good idea.

I see HG's point about the black pawn capture, in that case Qxknight was better than Bxknight.
Perhaps that type of position doesnn't show up too much.
If you played the same engine against itself, one with SEE, one with BLIND, a 1000 times, I would use the one that wins most, surely that would verify which is most efficient.

I tried googling BLIND, it just comes up with blind fold chess, and chess for the blind.
Also I program in java, so this C code is more awkward for me to understand.

I think firstly I need to develop a way of generating the attackers, storing them, and updating them as the capture sequence is played through.

Currently I feel a bit overwhelmed with variations of SEE, I can't really apply them without the mechanisms I described above working first.
Colin
User avatar
lucasart
Posts: 3232
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: Implementing SEE

Post by lucasart »

mcostalba wrote:
lucasart wrote: Here's mine if it helps. It's basically the one of StockFish, that I also improved to handle promotions and en passant captures.
I'd think that the en passant case was already handled in the original Stokfish version.... ;-)
Oh yes, indeed! I actually started with an older version of Glaurung, where the en passant case wasn't handled.

On a connected subject, I'm thinking of modifying it to detect if any checks are involved in the process. If not then the delta pruning could use the SEE directly (more agressive pruning), otherwise normal delta pruning.

What do you think ? Have you ever tried SEE delta pruning ?