Author: Nagendra Singh Tomar
Date: 17:08:49 10/19/02
Go up one level in this thread
Another question that is part of the same discussion is if(sval > alpha) { if(sval >= beta) { } alpha = sval; /* why this */ } be setting alpha to sval we are telling the qsearcher that we will not be interested in any score less than the static score at the qsearch root. Why so? Normally we decide bounds on the search with a previous search done with a higher or same depth as the current search. But here we are deciding the bounds of a deeper search (qsearch) with a lesser depth search (static eval at the qsearch root). Any comments are highly welcome tomar On October 19, 2002 at 19:16:59, Nagendra Singh Tomar wrote: >Hi All, > In quiesce search as soon as we enter the quiesce() routine and we find that >the the side to move is not in check, we call static evaluation to get the >static score(say sval). Now if sval >= beta, we simply return sval/beta >(depending on whether its a fail-soft search), *without* doing the quiesce >search. Does that mean that we are assuming that the quiesce search will only >increase the score, because if the quiesce score were to be less than the static >board score then failing high would not have been correct. >We fail-high when we know that anything else will only better the score. >An incomplete routine highlighting the above point is shown below. > >int quiesce(alpha, beta, depth) >{ > if(ptm_not_in_check) > { > sval = evaluate(); > if(depth == 0) > return sval; > if(sval > alpha) > { > if(sval >= beta) > return sval; /* why this */ > } > } >} > >\tomar
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.