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.