Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Simple qsearch question

Author: Robert Hyatt

Date: 05:45:23 03/24/99

Go up one level in this thread


On March 24, 1999 at 06:03:26, JW de Kort wrote:

>Hi Chess friends,
>
>I have a simple question concerning the quiescence search. Standar alpha-beta
>usualy starts with something like
>
>   if (depthh == 0)
>      return evaluate (position)
>
>most qsearches i have seen do not have thsi kind of ply depth termination. Now
> i wonder how can a q search ever terminate? I have seen a question like this
>before, but could some one please explain? What i'am afraid off is that my
>qsearch will go on and on evaluating a line of play in wich white takes all the
>pieces at the kingside, while black does the same on the queen side.
>
>Thanks in advance.
>
>Jan Willem


Most of us replace the above with this:

  if (depth == 0)
    value=-Quiesce(-beta,-alpha,wtm^1, etc);
  else
    value=-Search(-beta,-alpha,wtm^1,depth-1,etc);

Quiesce is a simple search that looks like this (details omitted but basic
idea is present):

  int Quiesce(alpha,beta,wtm) {
    alpha=Evaluate(etc);
    if (alpha > beta) return(beta);
    while(more_captures) {
      MakeNextCapture();
      value=-Quiesce(-beta,-alpha,wtm^1);
      if (value > alpha) {
        if (value >= beta) return(beta);
        alpha=value;
      }
    }
    return(alpha);
  }


the difference between Quiesce and Search is that Quiesce sets the lower bound
to the current positional evaluation + material.  Because we allow the current
side to 'stand pat' and not play any move (capture only) if he doesn't want to.

Search() doesn't allow one side to 'not move' as that is illegal.  But here we
use it to 'stop' the sequence of captures and exit, or else we can make a
capture that helps our score, but then the opponent gets to decide whether he
wants to 'stand pat' or make a capture in response.

Hope that helps..

If something isn't clear, feel free to ask, as there could easily be a typo in
the above...



This page took 0.01 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.