Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Limit extensions

Author: Dan Honeycutt

Date: 10:21:27 07/06/04

Go up one level in this thread


On July 06, 2004 at 12:30:48, Jeff GAZET wrote:

>Hi,
>
>i'm not sure about the way to limit extensions into the search tree.
>I think some code will be easier to understand than my english. Example :
>
>search(int depth,int alpha,int beta...)
>{
>int base_extended=0, extended;
>
>if(InCheck(side)) {depth++; base_extended+=ONEPLY;}
>
>foreach(move)
>   {
>   extended=0;
>
>   if(is_pawnn_push_7(move)) {depth++; extended+=ONEPLY;}
>   if(is_recapture(move)) {depth++; extended+=ONEPLY;}
>
>   if(extended>ONEPLY) {extended=ONEPLY;}
>   if(base_extended+extended>TWOPLY) {extended=0;}
>
>   domove()
>   score=-search(...);
>   undomove()
>
>   if(extended) {depth-=extended;}
>   }
>}
>
>Is that right ?
>
>Regards.

Why don't you extend the move rather than the position.  ie:

foreach move
  domove(move);
  extended=0;
  if(is_pawnn_push_7(move)) extended+=ONEPLY;
  if(is_recapture(move)) extended+=ONEPLY;
  if(is_check(move)) extended+=ONEPLY;
  if (extended > LIMIT) extended = LIMIT;
  score = -search(depth+extended, ...);
  undomove(move);

Dan H.





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.