Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Simple qsearch question

Author: Robert Hyatt

Date: 16:55:58 03/24/99

Go up one level in this thread


On March 24, 1999 at 12:26:16, Bruce Moreland wrote:

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


yes... I just tried to make the code short.

it really looks like this:

  value=Evaluate();
  if (value > alpha) {
    if (value > beta) return(beta);
    alpha=value;
  }

etc...

Bob



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