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.