Author: Uri Blass
Date: 07:17:34 01/24/04
Go up one level in this thread
On January 24, 2004 at 09:34:49, rasjid chan wrote: >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. I assume that the writer also does not use the tscp style based on his post so your reply is not relevant. He also does not call search before evaluating I have today before rewriting my alphabeta immediately after make move the following line val = -alphabeta(depth - 1, -beta, -alpha); I assume that both the writer of the original post have not it if they find that the remaining depth is 0 and they first calculate extensions and if they find that the depth after extensions is smaller than 1 they call qsearch without alpha,beta and not -beta -alpha so being bigger than beta in my old code should be equivalent to being smaller than alpha with the new code that I plan to write. Uri
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.