Computer Chess Club Archives


Search

Terms

Messages

Subject: Futility

Author: Stuart Cracraft

Date: 07:28:16 10/14/04


I don't think I'm implementing it properly because my node
reductions are not happening.

My implementation is based on Ed Schroder's comments on
page 8 of his comments (Search Techniques in Rebel (Futility
Pruning)


   makemove
   if depth == 1 (i.e. one more ply for sarch)
   if side just moved king was in check before the move or
   if side on move king is in check after the move or
   if move is a capture or
   if (alpha < material[sideonmove]-material[sidejustmoved]+
               pcsq[sideonmove]-pcsq[sidejustmoved] + 3 pawns)
   then do normal search with depth-1
   but if all of the above are true then unmakemove and
     return material[sideonmove]-material[sidejustmoved]+
            pcsq[sideonmove]-pcsq[sidejustmoved]

   as well as the above but with depth == 2 and 5 pawns instead of 3.

The only thing I can think of doing is not doing the makemove at
the top and doing it only if the futility is avoided due to one
of the conditions being true.

Stuart



This page took 0.11 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.