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.
Implementing SEE
Moderators: hgm, Rebel, chrisw
-
- Posts: 3232
- Joined: Mon May 31, 2010 1:29 pm
- Full name: lucasart
Re: Implementing SEE
Oh yes, indeed! I actually started with an older version of Glaurung, where the en passant case wasn't handled.mcostalba wrote:I'd think that the en passant case was already handled in the original Stokfish version....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.
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 ?