Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: SEE (was extensions)

Author: Robert Hyatt

Date: 14:31:25 12/29/97

Go up one level in this thread


On December 29, 1997 at 17:18:05, Chris Whittington wrote:

>
>On December 29, 1997 at 15:07:36, Robert Hyatt wrote:
>
>>On December 29, 1997 at 14:37:53, Stuart Cracraft wrote:
>>
>>>On December 28, 1997 at 13:30:31, Robert Hyatt wrote:
>>>
>>>>On December 28, 1997 at 11:47:20, Stuart Cracraft wrote:
>>>>
>>>>>What is SEE? Some canned knowledge routine?
>>>>
>>>>Static Exchange Evaluator...  a procedure that looks at all possible
>>>>captures on a specific square and returns a score based on the expected
>>>>gain (or loss) of initiating the first move of the exchange sequence...
>>>>
>>>>used to order captures for one thing...  and to cull outrageously
>>>>losing captures for another...
>>>
>>>How much increase in quiescence-search (and overall search) efficiency
>>>does this provide? Or speedup for that matter.
>>>
>>>Is your SEE routine written in a way that it would be simple to
>>>rewrite/convert
>>>for another program?
>>>
>>>Which of the Crafty modules is it actually in?
>>>
>>>Thanks,
>>>Stuart
>>
>>
>>It is in swap.c...
>>
>>It can speed up the search by a factor of 2 or 3, assuming you aren't
>>doing anything "good" about ordering your capture search yet.  If you
>>apply SEE to each capture, sort based on the score returned, the tree
>>will shrink.  If you toss out captures (in the q-search) where SEE
>>returns a score < 0, you will get another big reduction...  and if you
>>use the SEE score to defer losing captures until after winning captures,
>>hash move, even exchanges, history and killer moves, you will save even
>>more time...
>
>Just a thought: suppose *all* programs perform the capture search
>according to the theory: try all 'winning or equal' captures and cull
>the rest.
>
>Then you play all these programs against each other to produce an SSDF
>list.
>
>Would it be any surprise if the list measured this sub-game of chess
>performance?
>
>Multiply it up by all the other 'kludgey' things that chess programs all
>do, and what have we got ?
>
>Chris Whittington

No idea.  I do this because, as I have written many times, I *don't*
want
the quiescence search to find tactics.  Because it is not qualified to
do
so.  I only want it to evaluate the most elementary of tactics, the
capture
moves.  I don't want it to consider checks, or find overloaded pieces,
or
anything like that, because I don't trust it to do so.  IE if you
include
PxR, QxB, because the P was overloaded defending two pieces.  But
suppose
you try that and follow it because it appears to win two pieces for a
rook, but after RxN, you discover your opponent casually plays Bb2
pinning
that rook on your king and winning it outright.  You won a knight,
dropped
a rook, and could end up losing.  I don't know how to pick up that Bb2
pinning
move in the q-search.  And since I don't, I really would like to see my
q-search almost non-existant, because it is so inaccurate.  But this
lets
the normal search depth reach a level that is quite good.  Remember that
what you do at the tips is expensive, while what you do well inside the
tips is almost free...  I'm trying to control "the work at the tips..."

losing captures, you occasionally will pick up on an overloaded piece
(RxN,



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