Computer Chess Club Archives


Search

Terms

Messages

Subject: timing out and choosing a move

Author: Stuart Cracraft

Date: 08:40:09 07/25/04


So I made the change I read about in the archives
where you timeout and backup a timeout value to
unwind the recursion rapidly. I put the tests for
timeout and immediate return of timeout value at
the top of quiescence search and the top of the main search
as well as stopping any new move being evaluated
(in either) if a timeout had hit, from one of the
prior tests being triggered. In that case, it also
just immediately returns the timeout.

At the same time, at the top of the search I modified
it so that if there was a timeout, it would take the
first move of the previous completely finished iteration
as the move of the program -- rather than the prior behavior
of taking the current best move backed up from the partial,
time-interrupted, current variation.

When I did the above, one thing didn't happen that I expected
and one thing did that I was fearing.

1) my time continues to overstep by up to 50% or so for a
fixed time search. I expected it to overstep by very little if
any after the above change.

2) my moves obviously are frequently different now, picking the
last iteration's fist move of the PV and the result on my standard
test dropped from 93% to about 50%.

So my questions are on #1, where is the best place to put the
immediate returns if a timeout flag is set and where is the
best palce to set that flag in search and quiescence.

On #2, there must be a happy median, like "has it searched
the pv from the prior iteration but changed its mind?" There
must be some condition that would allow me to accept that
change of mind. What is it?

Thanks,

Stuart



This page took 0.02 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.