Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Rebel's long checks concept in QS

Author: rasjid chan

Date: 09:10:13 01/24/04

Go up one level in this thread



I do not fully understand your post especially about calling q-search
without alpha, beta.

I don't know about the long check part but his quiescent search
itself seems obviously wrong.His style of QS follows that of TSCP
and it should fit into this :-


int search(depth, alpha, beta){
int score;

if (depth <= 0)
return quiescent(alpha, beta);


for (all moves){
makemove();
score = -search(depth - 1, -beta, -alpha);
etc...

}


return alpha;
}

if that is basically his search() then this line in his
q-search cannot work:
if (score < alpha) return score




quiescent(alpha, beta)
{
   save the MAX_CHECKS_DEPTH
   score = full_evaluate()
   if (score < alpha) return score
   if (score > alpha) alpha = score

   if (side_to_move_is_in_check)
      generate_legal_moves()
   else if (MAX_CHECKS_DEPTH > 0)
      generate_good_equal_captures_queenpromotions_and_checks()
   else generate_good_equal_captures_queenpromotions()
   sort_the_moves()

   for each move in the list {
      make_the_move()
      score = - quiescent(-beta, -alpha)
      undo_the_move()
      restore MAX_CHECKS_DEPTH
      if (score < alpha) return score;
      if (score > alpha) alpha = score;
   }
   MAX_CHECKS_DEPTH = MAX_CHECKS_DEPTH - 1

   return alpha
}
Best Regards
Rasjid




This page took 0.01 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.