Author: Matthew White
Date: 11:41:30 03/19/03
Go up one level in this thread
On March 18, 2003 at 22:57:21, Robert Hyatt wrote: >On March 18, 2003 at 16:33:29, Matthew White wrote: > >>On March 18, 2003 at 16:24:32, Robert Hyatt wrote: >> >>>On March 18, 2003 at 16:04:21, Matthew White wrote: >>> >>>>On March 18, 2003 at 09:59:00, Robert Hyatt wrote: >>>> >>>>>On March 18, 2003 at 04:18:05, Ed Schröder wrote: >>>>> >>>>>>On March 17, 2003 at 21:54:36, Nathan Thom wrote: >>>>>> >>>>>>>Im having troubles trying to figure out what to do with my search results when a >>>>>>>timeout occurs. eg I could have searched 10 plies fully, and am part way through >>>>>>>the 11th ply when time runs out. >>>>>>> >>>>>>>The simplest thing to do is ditch all results from the last incomplete search >>>>>>>and just go with what you had after 10 plies. But this seems a big waste. >>>>>>> >>>>>>>Thoughts? >>>>>> >>>>>>Nathan, >>>>>> >>>>>>It's quite simple, just check the "time_is_up" condition after your "undo_move" >>>>>>call and jump to the place where you climb back one ply in the tree (as if there >>>>>>are no more moves to search on the current ply). >>>>>> >>>>>>My best, >>>>>> >>>>>>Ed >>>>> >>>>> >>>>>This can be a fatal error. You are at ply=N and have 10 legal moves to search. >>>>>The first is horrible, but the second wins everything. If you quit after >>>>>searching the first move and return that score, the previous ply may well like >>>>>the move it tried, and since it has now searched every move, it backs the >>>>>score up. And so forth. But when the game really enters this path, the >>>>>first move is not actually played by your opponent, he plays the second, and >>>>>the roof falls in. >>>>> >>>>>You have to _not_ back up things from below the root, once you have decided that >>>>>time is up. >>>> >>>>What if you finished ply N with a lazy eval instead of the full eval. Would that >>>>solve the problem? >>>> >>>>Matt >>> >>> >>>I don't see how. I use lazy eval all the time... >>> >>>the point is that when time runs out, you can't just stop and back things up as >>>you >>>have not finished the current root sub-tree you are working on, and the scores >>>are >>>therefore worthless for this root branch. But anything else already completed >>>is >>>certainly good. >>I see what you mean. I was just wondering if giving the rest of that ply a quick >>"once-over" would give sufficient information to allow the score to stay in the >>tree. > > >It would be hard. IE how do you compare a move searched normally to a move >"glanced over quickly" if you want to choose between them? That's true. The case that I was trying to solve is the one where the next move at that ply is the winner. Even a lazy eval would determine that.the move is a stinker. The problem I have is, what happens if you have searched 9 out of 10 moves in a given ply, then your time runs out. Do you STILL throw away all that work? Move 10 could be obviously bad, and you'd waste a whole ply without at least giving it a look. Is there some way to scale the lazy eval so that it could only be used to point out a refutation of a line? Matt
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.