Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Extensions

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.