Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: qsearch questions

Author: Robert Hyatt

Date: 15:14:06 12/04/02

Go up one level in this thread


On December 04, 2002 at 03:43:09, Bas Hamstra wrote:

>On December 03, 2002 at 22:45:16, Robert Hyatt wrote:
>
>>On December 03, 2002 at 18:59:20, Jon Dart wrote:
>>
>>>On December 03, 2002 at 17:16:58, Robert Hyatt wrote:
>>>
>>>>
>>>>the idea is to do anything you can to exclude moves.  Because below each move
>>>>you search, you grow a tree, and that is expensive.  If alpha is 0.00, and
>>>>the current material score is -15.0, then capturing a pawn is not going to
>>>>help, and avoiding that capture avoids the tree below it.
>>>
>>>I've noticed that Crafty uses the material value as a basis for calculating
>>>futilty. In other words, if material + SEE gain + safety margin < alpha, you cut
>>>the move (I do something similar at present).
>>>
>>>What Mike is suggesting is to use the total position eval, which is also
>>>something I've experimented with. So: if eval + capture + SEE gain + safety
>>>margin < alpha, you cut. If you have large positional scores, this is possibly
>>>safer (the "safety margin" in Crafty is only 1 pawn).
>>
>>If you follow the logic carefully, this is also what crafty is doing.  At
>>the top of Quiesce() I grab the positional (stand-pat) score, and if this is
>>> alpha, then I set alpha to that value.  All the pruning is then based off
>>of this positional (material+positional returned by Evaluate()) score plus the
>>capture gain, plus a fudge as removing a piece could increase the score but
>>probably not by a lot...
>
>It is not the same IMO. I think Jon means this: suppose Eval is below alpha.
>Then in Crafty you calculate Delta=Alpha-Mat-Margin. However more accurate might
>be Delta=Eval-Margin. IE you prune based on Eval rather than material.
>I tried this, and the result is it will throw out less captures while I see no
>noticable improvement in accurracy.
>
>Bas.

I am not quite following.  I prune on the eval value _before_ the capture,
adjusted by
the value of the captured piece plus an "error estimate".  I think my error
estimate is
very safe except for one circumstance, that where the last piece is removed and
it can
allow a pawn to run...




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.