Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: SEE results

Author: Stuart Cracraft

Date: 20:49:07 08/10/04

Go up one level in this thread


On August 10, 2004 at 23:33:01, Robert Hyatt wrote:

>On August 10, 2004 at 21:59:39, Stuart Cracraft wrote:
>
>>On August 10, 2004 at 12:52:28, Robert Hyatt wrote:
>>
>>>On August 10, 2004 at 10:59:29, Tord Romstad wrote:
>>>
>>>>On August 10, 2004 at 10:35:29, Anthony Cozzie wrote:
>>>>
>>>>>Plus, if you have only PST eval you should be getting 3-4M nps, so SEE probably
>>>>>slows you down a _lot_.
>>>>
>>>>Yet another proof of how bad my programming skills are.  With PST eval and
>>>>nothing
>>>>else, I get about 800,000 nps (on a PIV 2.4 GHz).  Adding SEE slowed me down to
>>>>around 750,000 nps.
>>>>
>>>>Tord
>>>
>>>
>>>SEE slowed me down by 10%.  Move ordering improved to speed me up 10%.  Washed
>>>out to no advantage, _until_ I added the stuff about tossing out captures that
>>>can't bring the score back to within the alpha/beta window.  That made me about
>>>2x faster overall, which is a _big_ gain.  Stuart isn't getting all the
>>>advantages of SEE yet, and, in fact, It isn't necessary to use SEE on _every_
>>>capture.  IE for PxQ there is no need to see if that is +9 or +8.  Either is
>>>good enough and there MVV/LVA is faster.
>>
>>Then the question that is begged here is about "added the stuff about tossing
>>out captures that can't bring the score back to within the alpha/beta window."
>>I take this to be similar at what you hinted when you said if the capture
>>gets me back a pawn but I'm a queen down, why bother?
>>
>>So are you talking about, in quiescence in move loop:
>>
>>  while next capture
>>     if material_evaluation_after_this_capture + MARGIN < alpha
>>       skip
>>     else
>>       if (see()<=0) skip
>>       else
>>         makemove
>>         search
>>         unmove
>>       fi
>>     fi
>>  endloop
>>
>>where MARGIN is like 2 pawns or something?
>>
>>Stuart
>
>
>In Crafty MARGIN is calculated, and represents the largest positional score
>produced during this game...
>
>But that is the basic idea...  The first test is wrong as you can't base
>anything on just the value of the captured piece.  IE QxR might bring the score
>back in the window but if the R is defended, you don't want to examine that
>capture in the actual search.

Okay, but I'm not using see (that's after it avoids the delta cut) so there
must be something else. Yo uhint that the capturer might be captured so
that leads one to believe one should evaluate for both but then we're
talking about minisee.

Should I just include see there instead

  while next capture
     if see + MARGIN < alpha
       skip
     else
         makemove
         search
         unmove
       fi
     fi
  endloop


Finding the defender of the captured piece is not hard but it is
a call to my attack/defense finder which is ugly and expensive
(only slightly less so than the see which uses it.)

Stuart



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.