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.