Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Problem searching too deep!

Author: José Carlos

Date: 02:52:21 05/27/02

Go up one level in this thread


On May 27, 2002 at 04:45:41, Sune Fischer wrote:

>Currently I have a search depth limit of 60 plies.
>However in this very simple (drawn) position my engine has no
>problem reaching 60 plies in no time.
>
>[D]8/8/p1K5/P4k2/8/8/8/8 b - - 0 1
>
>Actually it crashes when it goes beyond 60 plies in a search, has to do with the
>PV array that has a limited length (and probably other stuff too).
>
>The reason it can reach this deep is probably because the position is solved as
>drawn rather quick (and because of transpositions), but unlike a mate score that
>I can detect, I can't *detect* a draw score in the same way.
>Is there a way to now if an exact draw score has been returned?
>
>My outer iteration loop stops of course at the 60 plies, but the search is still
>called and on top of that there is the qsearch.
>I measured up to 71 plies reached, naturally it crashes.
>
>How do I end the search properly when these extreme deeps are reached?
>Should I just stop iterating at ply 45, that would give the search 15 plies of
>safety margin?
>
>Does other engines too have a maximum depth limit, if so how did you solve this
>problem?
>
>Thanks,
>-S.

  If I understood you right, you can simple put this on top of AlphaBeta() and
QSearch():

  if (ply >= MAX_PLY) return Eval();

  With 'ply' being the current depth, that you increment on every MakeMove() and
decrement on UnMakeMove().

  José C.



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.