Author: Robert Hyatt
Date: 14:07:50 09/14/04
Go up one level in this thread
On September 14, 2004 at 12:20:47, Jeff GAZET wrote:
>>>Good morning,
>>>
>>>in the main search, before the moves loop, i have the basic "In Check" extension
>>>(which add one ply).
>>>If there is only one legal move and the king is in check, this is interesting to
>>>extend one more ply. But i read that this is a bad idea to extend more than one
>>>ply, so i limit to one ply max.
>>>Then, "Single-response extension" is useless in this case :
>>>
>>>search(depth,alpha,beta)
>>> {
>>> int extend=0;
>>> ...
>>> if(InCheck=incheck(side)) extend+=ONEPLY;
>>> if(InCheck && side_has_only_one_legal_move) extend+=ONEPLY;
>>>
>>> // limit extensions
>>> if(extend>ONEPLY) extend=ONEPLY;
>>>
>>> for(each move) {...}
>>> ...
>>> }
>>>
>>>How is it possible to use both "Incheck" and "Single-response" extensions ?
>>>
>>>Thanks.
>
>>Two choices. Use the deep blue approach that says no more than two extensions
>>every two plies. I tried that but did not like it.
>>
>>In crafty, I extend on the ply where I check the opponent, and then the
>>one-legal-reply extension is done on the next ply where I notice I have only one
>>legal move, ie one extension per ply...
>
>Thank you all.
>I prefer your "Crafty" choice but i don't understand at all, i must miss
>something, maybe in translation :-) Here is what i understood, is that right ?
>
>search(depth,alpha,beta)
> {
> int extend=0;
> ...
> if(InCheck=incheck(side)) extend+=ONEPLY;
>
> // limit extensions
> if(extend>ONEPLY) extend=ONEPLY;
>
> for(each move)
> {
> domove();
> if(this_is_the_only_one) extend+=ONEPLY;
> ...
> }
> ...
> }
That is backward. More like this:
Search() {
GenerateMoves();
if (only_one_move) depth+=1;
while (move = NextMove()) {
MakeMove();
if (InCheck(-side)) depth+=1;
v = - Search( etc);
UnmakeMove();
}
}
IE extend if the move checks the opponent at ply=X. Extend if only one legal
move at ply=X+1;
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.