Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: SEE Function

Author: KarinsDad

Date: 11:02:21 04/05/00

Go up one level in this thread


On April 05, 2000 at 08:56:17, Robert Hyatt wrote:

[snip]
>
>
>Yes. You can try making SEE "legal" for testing, but you'll find that the
>cost in speed isn't offset by the increased accuracy.  Remember that in the
>normal search, SEE is not throwing moves away, just helping to order them.
>If it is wrong, it doesn't affect the chess, only the speed.
>

Actually, in my code, my PieceAttackers structure is used for move generation
for the next ply, evaluation of the current node, and SEE. So, it already has
legal move information embedded within it. What this means is that any piece
that directly attacks/protects a piece within a given square will only do so if
the piece is not pinned against moving to that square.

In other words, I get this level of legality for free in the SEE since I use it
for the other two functions.

However, at the moment, I use a set of bitmaps for calculating the x-raying
pieces. And, I do not maintain the information as to which pieces are pinned.
So, a pinned x-raying piece could accidentally modify the SEE when it should not
(a low occurrence probably). At some point in the future, I will probably have
to maintain the pinned pieces information (8 pieces max) in order to get this to
work correctly in all cases if it becomes necessary (depending on if I use the
SEE for anything other than move order).

KarinsDad :)



This page took 0.01 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.