Author: Christophe Theron
Date: 00:20:34 11/09/03
Go up one level in this thread
On November 09, 2003 at 02:39:40, Daniel Shawul wrote: >I am not doing stand pat at the frontier nodes(d==1). >BTW after we made the moves at the frontier we go to qsearch(d==0),right? >And at d==0,we do the stand pat.If we leave out the futility >pruning,what happens is the futile move will be made and then we are right >at the horizon node at which the stand pat cutoff occurs for the futile move. > >Here are my search algorthms.Please tell me where the fault is. > > search(alpha,beta,depth) > { > generate moves > for each of the moves > { > make move > if(depth==1)//frontier > { > if(material balance + 3 pawns < alpha) > continue; > } > > if(depth>0) -search(-beta,-alpha) > else -qsearch(-beta,-alpha,depth-1) > . > . > . > } > > } > > qsearch(alpha,beta) > { > score=evaluate position > if(score>beta) return beta; > if(score>alpha) score=alpha; > . > . > . > } I do not remember if Ernst's paper said that you make the move first and then decide if it is futile. If it did, then it's definitely killing all the interest of futility pruning at depth 1! The idea is to prune before you make the move. So you stay at depth==1, look at the move, and say "hey, this move looks completely futile, let's ignore it!". Christophe
This page took 0.01 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.