Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Simple qsearch question

Author: Robert Hyatt

Date: 05:08:30 03/25/99

Go up one level in this thread


On March 25, 1999 at 02:16:49, JW de Kort wrote:

>On March 24, 1999 at 08:45:23, Robert Hyatt wrote:
>
>>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...
>
>
>Thank you very much Mr. Hyatt for ypur reply. I think it is quite an achievement
>of you to answer all these basic questions so promptly! I always learn a great
>deal from them.
>    But i still have a question. How does this search terminate in a case were
>both players can make equal captures in reply to the move of the other player?
>
>Thanks again
>
>Jan Willem!


You can't do that very far...  ie there are a limited number of 'equal'
captures you can do in a position.  And non-equal captures (ie qxp pxq) will
instantly stop the tree search due to a fail-high on pxq...



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.