Author: Robert Hyatt
Date: 07:32:23 01/10/99
Go up one level in this thread
On January 10, 1999 at 04:10:44, Horace Ho wrote: >Assume 40 seconds for each move. >After finished ply x, I have 25 >seconds left. > >Should I process to ply x+1 (the >extra ply will exceed time for >sure)? > >Or should I just return from a >partial finish ply x+1 when time's >up (i.e., at 40th second)? > >Thanks >horace I have tried lots of different ways to handle this. My preferred scheme is to simply search until 40 seconds has gone by. Why? Occasionally, after you finish your search and start the next iteration, your search will fail low. And this fail low happens quickly (it is caused by a circumstance called "the alpha- beta minimax 'wall'"). The good thing here is that (a) it happens quickly and (b) once it does, you now know to use more time than normal to try to repair whatever is going wrong. Early in Cray Blitz development I tried to predict whether I could start another search or not. I then simplified it with the current scheme that simply says 'search until time is out', and the results looked better. Another quirk: you don't "waste time" if you don't get anything back from the last search because you are definitely loading the hash table with lots of results, and after making your move, the search essentially picks up right where it left off, because when you start over, the hash results make it skip over the stuff it has already done...
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.