Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: History pruning

Author: Tord Romstad

Date: 12:09:43 02/27/06

Go up one level in this thread


On February 27, 2006 at 12:23:29, Robert Hyatt wrote:

>I ran with a flavor of this in CCT8 and noticed no problems whatsoever from a
>tactical perspective.  My original thinking when implementing this was that it
>would hurt tactics, but improve positional play, since reducing the depth on the
>oddball moves would tend to drive the tactics over the horizon.  Interestingly,
>in testing the idea prior to CCT8, I discovered the opposite.

That's my experience, too.  Tactically, my program is *much* stronger with
late move reductions enabled.  Horizon effects are rare.  It does happen (but
not very often) that some tactical shot is found one iteration later, but
usually
the time to solution is still shorter.

I tried a quick run through ECMGCP at 10 seconds/position now.  With late
move reductions enabled, my program scored 166/183.  When I disabled
them, the score dropped to 150/183.  This is a rather significant difference.

There are also some rather cheap ways to improve the tactical accuracy.
One simple trick which works surprisingly well for me is the following:
If I reduce a move, and at the following node the null move search fails
low, and furthermore the moving piece in the move that refuted the
null move is the same as the moving piece in the reduced depth move,
instantly stop the reduced depth search and re-search with full depth.
Various forms of static threat detection could also help.  It is probably
also a good idea not to reduce anything too close to the horizon.

>So, bottom line, the idea seems workable now.  I've got a few other things to
>test, and some are playing with the reduction amount (I used 1.0 plies for CCT8
>but Mike has been testing with 2.0 so there is room for improvement probably).

I have never had success with reducing by more than one ply, but of course this
doesn't mean that it is impossible.

>There are also a few other types of moves that might be excluded, but I am not
>doing this at present (yet).  Passed pawn pushes for example probably should be
>excluded, but presently are not.

I do this, in an indirect way.  I evaluate all internal nodes.  If a reduced
move
seriously increases the passed pawn eval for the moving side, I cancel the
reduction.  I do something similar for king safety, and consider to add other
evaluation components as well.  There are plenty of other obvious ideas which
are worth trying here.

>I'll release all the details once the WCCC event is over, but the idea appears
>to be fully workable despite what "some" will say.  :)

Well, let's rather say that it's fully workable in *some* programs.  :-)

Tord



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.