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