Author: rasjid chan
Date: 06:34:49 01/24/04
Go up one level in this thread
On January 23, 2004 at 14:22:28, milix wrote:
>I tried to implement the long checks idea of Ed Schröder
>(http://members.home.nl/matador/chess840.htm#QS) but not worked for me.
>Maybe my QS is not implemented correctly to have this checks concept but I can't
>figure it by myself. I wish for some help here (maybe from Ed himself) :-)
>
>In my main search, before I enter the QS I set the variable MAX_CHECKS_DEPTH to
>2.
>
>My quiescent in pseudo code:
>
>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
>}
>
>Thanks in advance!
quiescent(alpha, beta)
save the MAX_CHECKS_DEPTH
score = full_evaluate()
if (score < alpha) return score
if (score > alpha) alpha = score
These lines WRONG.
should be
if (score > alpha){
if (score >= beta) return score;
alpha = score;
}
Ed's article have alpha and beta reversed to the TSCP style.
someone pointed this out to me.
He has
search(){
go-thru move-list
makemove()
score = eval();
etc...
}
}
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.