Author: Jeff GAZET
Date: 02:59:18 04/23/04
Go up one level in this thread
Thanks Peter, this exactly answer my question. I'll try this soon.
>On April 23, 2004 at 03:37:38, Jeff GAZET wrote:
>
>>Good morning,
>>
>>i'm trying to add extensions to my engine. I'm using a classical alphabeta
>>function :
>>int alphabeta(int depth, int alpha, int beta)
>>depth is dicreased 1 by 1 :
>>eval=-alphabeta(depth-1,-beta,-alpha);
>>
>>At the beginning at the function alphabeta(), if king is incheck, i do
>>++depth. This works fine.
>>
>>In the main move loop, if do a ++depth on a promoting move, juste before
>>calling -alphabeta... the engine searches for ever when the first promoting
>>move is found. Then, if i add "if depth<1" or <2, i don't see any
>>improvment.
>>
>>I don't understand how engines like GnuChess can write : depth+=DEPTH when
>>extending.
>>(DEPTH is 12).
>>
>>Could someone give me some explanations, please ?
>>
>>Regards.
>
>I haven't read GnuChess code but I can describe what I (and many others) do and
>that is probably very similar to the GnuChess variant.
>
>Instead of using 1 as depth increment you can use for instance 100 (I'm using
>64).
>Your outer loop will be something like
>for (depth=100; depth < MAX_DEPTH; Depth += 100){
> .
> .
> .
>}
>
>In your call to alphabeta
>eval=-alphabeta(depth-100,-beta,-alpha);
>
>Now when you extend or reduce depth you can use fractions of one ply
>90, 75 or whatever instead of always 100 in all cases. This is valuable
>when you want different weights for different extensions.
>I suppose GnuChess uses the same idea.
>
>Regards,
>Peter
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.