Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: SEE Function

Author: Dan Newman

Date: 13:49:22 04/03/00

Go up one level in this thread


On April 03, 2000 at 10:56:08, KarinsDad wrote:

>On April 03, 2000 at 05:00:20, Jan Pernicka wrote:
>
>>On March 31, 2000 at 14:17:12, KarinsDad wrote:
>>
>>>
>>>Could someone please explain how they implement their SEE function, when they
>>>use it, and what they use it for?
>>>
>>>Or possibly a good web site that explains it.
>>>
>>>Any help is appreciated.
>>
>>  Excuse me, could someone explain to me in several sentences what is
>>  SEE function good for?  Thanks
>>     Jan
>
>
>Good luck.
>
>That is what my original post asks for and I did not receive any good answers.
>
>KarinsDad :)

In Shrike I use the SEE everywhere to order the captures before I try them.
I don't use the SEE to do actual evaluation but do use it to prune losing
captures in the quiescence search and to delay trying losing captures in
the full width search.  Currently I put losing captures at the tail end.

Implemention.  In my SEE I do some initial stuff to record the results of
the first capture which is fixed by the move in question.  Then I create
a bunch of bitboards containing the remaining pieces that bear on the square
in question.  Then I cycle through them "capturing" with less valuable pieces
first, more valuable later, alternating between sides.  As I'm doing this I
knock out pieces that bear on the square but are blocked.  I also determine
if pieces bearing on the square become unblocked and put them back in their
respective bitboards so that they will be found on a later pass.  (The
machinery is fairly complicated and does a bit more than described above.)
All the while an array is being filled out with the current balance.  After
all the attacking pieces of one side or the other are exhuasted and captured,
I quit making passes.  At that point I "mini-max" the values in that array
to determine where one side or the other can simply stop and retain the best
advantage.  The score at this point is the score returned by the SEE.

-Dan.



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.