Computer Chess Club Archives




Subject: Re: The "same threat extension" as effective way to resolve horizon prob

Author: Tord Romstad

Date: 06:42:09 10/01/03

Go up one level in this thread

On October 01, 2003 at 09:08:28, Sergei S. Markoff wrote:

>>What is the new quasy-Botvinnik extension if
>Well. I can inform chess community about one of my quasy-Botvinnik methods.
>I will be glad to receive your own experiment results and/or other
>considerations about this method.
>One of Botvinnik ideas is to determine attack/defence targets for further
>analysis of attack/defend trajectories. One of the way to find this target is
>null-move search. If the result of null-move search < beta we can see the move
>which fail low search bound. This move is a current threat. For example it's a
>threat of losing some piece.
>During the further search in this node we can found the defending move. The main
>idea is to extend the search if the threat moves on ply and ply+2 has the same
>target (capturing the same piece, promotes the same pawn). I can give you
>example if you want.
>It's one of simpliest way to use target info. But I think we can receive more
>improvement exploiting this idea.


I just posted a message almost identical to my current one on the Winboard
forum, but I guess CCC is a better place to discuss this.  Is the pseudo-code
below a correct implementation of your idea?

int search(int alpha, int beta, int depth) {
  int value, null_value;
  move_t *move;

  if(depth <= 0) return qsearch(alpha, beta, depth);

  null_value = -search(-beta, -alpha, depth-R-1);
  if(null_value >= beta) return null_value;
  else ThreatMove[Ply] = CurrentMove[Ply+1];


  while(move = pick_move(); move != NULL; move = pick_move()) {
    value = -search(-beta, -alpha, depth-1);
    if(value >= beta) {
      if(target_square(ThreatMove[Ply]) == target_square(ThreatMove[Ply+2]))
	/* Extend and re-search */
	value = -search(-beta, -alpha, depth);
      if(value >= beta) return beta; }}

  return alpha; }


This page took 0.02 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.