Author: Robert Hyatt
Date: 11:49:54 01/16/03
Go up one level in this thread
On January 16, 2003 at 14:35:25, David Rasmussen wrote: >On January 16, 2003 at 14:22:01, Dann Corbit wrote: > >>Do you probe in quiescent search? >> > >No > >>Under what conditions do you probe? > >I think my code is self explanatory (probably not...): > > /* > * Probe the endgame tablebases > */ > > if (ply <= iterationDepth > && EGTBEnabled > && PopCount(pos.occupied[WHITE] | pos.occupied[BLACK]) > <= EGTBLimit > && ( > Capture(currentMove[ply-1]) > || Promote(currentMove[ply-1]) wasted test. First, check for Capture(). Why do the PopCnt first when it is slow? Then check for popcnt or (better) just keep a count of pieces on the board and update it incrementally. Finally, dump the Promote test. If you have all egtbs you can never get here as you would have gotten a hit previously. > || ply < 2 > ) > ) > { > ++EGTBProbes; > Score EGTBValue; > if (EGTBProbe(pos,EGTBValue)) > { > ++EGTBHits; > alpha = EGTBValue; > if (Abs(alpha) > MATE - 300) > { > alpha += (alpha > 0) ? -ply : ply; > } > else if (alpha == 0) > alpha = DRAW; > HashStore(pos,MAX_PLY*ONE_PLY,ply,EXACT,alpha,0); > return(alpha); > } > }
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.