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.