Author: Jeff GAZET
Date: 06:11:14 04/23/04
Go up one level in this thread
>Two points:
>
>1. Extending all promotions is probably not a good idea.
>
>2. Be *very* careful about extending by more than one ply at the same node.
> From what you write above, it appears that you add one ply to the search
> depth at the beginning of the search function if the side to move is in
> check, and make additional extensions to individual moves inside your
> main move loop. This is very dangerous, and can easily cause search
> explosions.
Thanks, i will only have on "++depth" at a ply. And thanks to other guys, i
understood about "--depth" in the move-loop.
I have another question about "singular reply extention", which applies when
there is only one move left for a side. As it happens (99%?) when the king is in
check, it the folowing code right ? can we add 2 times "++depth" ? This seems to
find MAT quickly but then i have a bug about "ply". The engine says "MAT0"
instead of "MAT5" for example.
int alphabeta(int depth, int alpha, int beta, bool DoNull)
{
if(depth<=0) {return quiesce(alpha,beta);}
if(InCheck=in_check(g_side)) {++depth;}
gen_move_list();
// Singular Reply Extensions
if(there_is_only_one_possible_move) {++depth;}
for(each move)
{
if(!domove(gen_dat[i])) {continue;}
eval=-alphabeta(depth-1,-beta,-alpha,true);
undomove();
if(eval>alpha) {...}
}
return alpha;
}
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.