Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Fractional search depth

Author: Robert Hyatt

Date: 07:56:08 11/26/02

Go up one level in this thread


On November 26, 2002 at 06:15:11, Vladimir Medvedev wrote:

>There can be two ways to implement fractional search depth (very useful in
>extensions, for example):
>
>AlphaBeta( int remain_depth, ...)
>{
>   if( remain_depth <=0 ) return QSearch();
>   ...
>   for(...){
>      AlphaBeta( remain_depth - HALFMOVE, ... )
>   }
>}
>
>or
>
>AlphaBeta( int remain_depth, ...)
>{
>   if( remain_depth <HALFMOVE ) return QSearch();
>   ...
>   for(...){
>      AlphaBeta( remain_depth - HALFMOVE, ... )
>   }
>}
>
>In the first case, when we increase search depth by extension = 0.7 * HALFMOVE
>(at each depth), we get one additional ply the first time, then no additional
>ply.
>
>In the second case, the search depth (in full) plies will not be increased
>immediately, but we'll get extension on depth+1.
>
>I suspect these two methods both are correct, but which one is more idiomatic?


I do it differently from either.  I "pre-load" the depth with a constant
(such as .5).  My test is "if remain_depth < 60" where 60 is one ply...  This
way a fractional extension of .5 will cause a full-ply extension the first time
it is done, due to that .5 pre-load at the beginning.



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.