Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Futility Cutoff futile?

Author: Carlos del Cacho

Date: 09:18:00 08/30/01

Go up one level in this thread


On August 29, 2001 at 22:09:20, Stuart Cracraft wrote:

>So here is a pseudo-code fragment the attempts to implement
>futility cutoff but fails. The result is 2.67% less time for the
>same search and 4.35% fewer nodes, a far cry from what I heard
>it would do. So what's wrong with it?
>
>for all moves (sorting, etc.)
>  make move (backup if move leaves king in check and proceed to next move)
>  # Futility code follows
>  if side that moved was not in check before move AND
>    depth == 1 (i.e. 1 move until quiescence search, the "frontier") AND
>    no extensions so far at this node AND

Try "if no extension at the parent node" instead of this. You are missing a lot
of cutoffs. I use futility pruning and it does save nodes, not much but it
speeds up the search a bit.


>    this is not a principal variation node AND
>    this move was not a capture AND

Why? If I'm -5 (related to alpha) and I capture a pawn the chances that this
gets into the alpha beta window are very low. You can "safely" prune here.


Greets,
Carlos

>    side now on move is not in check AND
>    ((material difference between side on move before move and side now on move
>      PLUS the maximum of (maximum positional score of side not now on move,
>      value of a knight) <= alpha) then
>     unmake the move just made
>     continue with next move (bypassing this move, i.e. the futility cutoff)
>  endif
>:
>  search move normally as usual
>end
>
>Stuart



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.