Author: Anthony Cozzie
Date: 09:11:52 04/23/04
Go up one level in this thread
On April 23, 2004 at 09:11:14, Jeff GAZET wrote:
>>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;
> }
Most people keep separate ply and depth variables.
anthony
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.