Author: Edward Screven
Date: 15:26:47 05/15/98
Go up one level in this thread
On May 15, 1998 at 05:56:35, Harald Faber wrote: >AFAIK it is because the programs also profit from the permanent brain. >So if the program makes a forced move at depth=3 it may consider a >really bad move to be played next by the opponent and wastes time >finding the best answer to that move. So it is more senseful to let a >program think a little longer so that the chance is higher to see the >opponent's next move. having a better guess for "permanent brain" searching helps make the time spent searching for a forced move a little less wasted, but i don't think it's the reason why it happens -- certainly not for my own program. the real problem is how sure do you want to be that the obvious move is actually forced? if you spend too little time searching it what looks like a forced position, you might miss a good not-so-obvious move, or you might not see that capturing that pawn leads to dropping a piece. my approach to this is to use the notion of singularity to decide if a move is forced when replying to a check, capture, or promotion. basically, on the first iteration after searching at least 1/12 of the time i would otherwise allocate, i try to prove that all non-pv moves are more than some threshold worse than the pv move. if the answer is affirmative, then i search the pv one ply deeper. if i don't fall off of a cliff, then i end the search. this has proven relatively safe, and often does save time. before i added the "cliff" check i saved more time, but i also found a few cases of cutting searches short too soon, with disasterous results. it's not too expensive, because if the steps of the proof are similar to normal root search steps, so proof failures leave the root search close to where it would have been anyway. - edward
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.