Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Aborting a search

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.