Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Simple qsearch question

Author: Bruce Moreland

Date: 09:26:16 03/24/99

Go up one level in this thread



On March 24, 1999 at 08:45:23, Robert Hyatt wrote:

>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);

You mean alpha >= beta, but this is goofy if Evaluate returns a value < alpha,
isn't it?  This will make your window wider.

bruce

>    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 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.