Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Using SEE to score capture moves

Author: Stuart Cracraft

Date: 19:08:23 09/05/04

Go up one level in this thread


On September 05, 2004 at 20:33:45, Michael Henderson wrote:

>On September 05, 2004 at 20:08:07, Stuart Cracraft wrote:
>
>>Odd improvement...
>>
>>I had used see within quiescence to discard moves
>>< 0 of see value (losing combinations) and those
>>that didn't make it past a certain margin (futility
>>cutoff / delta pruning).
>>
>>At the time I had added a capability in the move
>>generator when a move is added that scored any
>>capture with see and stored it for later use.
>>This was then used in the quiescence as above
>>for discarding, avoiding using the generate there.
>>
>>But because of having to do the see for each move
>>in the main search, the net result was worse performance
>>on test suite, not better.
>>
>>So I just made a separate routine to keep the see() running
>>completely out of the main search, do it for all capture
>>moves all the time in quiescence but at time move is added
>>to movelist instead of at time move is searched. This resulted
>>in 1% improvement in score:
>>
>>wacnew
>>
>>**** 6.80/23.83 80% 240/300 250.67 73082144 243607/1/291553 0/871282/397085/1606
>>781/18010090/63447
>>
>>wacnew with the see() call in movelist routine instead of quiescence,
>>but still used in quiescence
>>
>>**** 6.81/27.35 81% 244/300 249.71 74112552 247042/1/296798 0/854177/1447453/515
>>821/17298092/99799
>>
>>Not quite sure why this occurred. There may be some other confounding factor
>>that I just got lucky with when making the change.
>>
>>I looked more carefully and saw a side change I had made was simply to add
>>the "see" score into the mvv/lva and then make that the pre-search score
>>of the move from the move-generation routine.
>>
>>Previously, mvv/lva was used only, unless the global see() use in move
>>generation for all captures for both main search and quiescence search was
>>used.
>>
>>Now, see score is added in, with mvv/lva, in move generation, for all captures
>>but only in quiescence -- see is not used in main search.
>>
>>Anyway, add your see score in like the above and see if you experience
>>a small jump, rather than just using <0 to decide whether to cut. You
>>get the benefit of the sort, helping the move ordering.
>>
>>I speak only to the ones who didn't do this already.
>>
>>Stuart
>
>Are you doing 1 second searches?

Yes. And before some recent bugfixes in the search, SEE hurt 1 second searches.
But since the fixes, SEE helps the 1 second searches.

I use a qa program that runs a 6 hour set of all the possible permutations
of the best conditional compilation flags. SEE routinely boosts the score.



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.