Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Question to Tord Romstad

Author: Russell Reagan

Date: 12:48:03 12/27/04

Go up one level in this thread


On December 27, 2004 at 14:31:53, Alvaro Jose Povoa Cardoso wrote:

>Hi,
>I would like to know the programming details of history based pruning.
>I think your are the author of this idea.
>Could you please explain it to me?
>
>Best regards,
>Alvaro Cardoso

Maybe this is what you are looking for?

http://chessprogramming.org/cccsearch/ccc.php?art_id=359542

This is what Tord wrote:

"The first three moves at all nodes in the main search are (almost) always
searched to full depth. All remaining moves are candidates for reductions. For
each move, I first check whether it is a  capture, check, or some other kind of
interesting move. If the move does not appear to be interesting at all, I do one
final test before I decide to reduce it:

if(History[Compress[m->from]][Compress[m->to]] <
(Nodes >> (20-EngineOptions.selectivity)))
return 1;

As you can see, I compare the history counter of the move (i.e. the number of
times the move has failed high in the past) to the number of nodes searched. If
the move has almost never worked before, it is also not likely to work this
time. EngineOptions.selectivity is a variable which contains the selectivity
setting in the init file.

When a reduced move fails [high], I search it again with full depth."



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.