Computer Chess Club Archives


Search

Terms

Messages

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

Author: milix

Date: 12:26:39 01/23/04

Go up one level in this thread


On January 23, 2004 at 14:53:17, Harald Lüßen 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
>
>Change the last line to
>if (score >= beta) return beta;
>And again
>if (score >= beta) return beta;
>
>>      if (score > alpha) alpha = score;
>>   }
>>   MAX_CHECKS_DEPTH = MAX_CHECKS_DEPTH - 1
>>
>>   return alpha
>>}
>>
>>Thanks in advance!
>
>Harald

Thanks for the response but this didn't work also. Returning beta seems to not
work with long checks concept (I get wrong evaluations and bad moves).
Ed writes in his article:

  Get_a_Move_Until_No_More_Moves         -> following the move ordering
  if (Lazy_Eval_is_true)                 -> done, return score, see elsewhere
  Evaluate_Position();
  if (Trick_one_is_true)                 -> done, return score, see elsewhere
  if (move_does_check_the_opponent_king) -> go one ply deeper in QS
  if (ALPHA >= SCORE)                    -> done, return score
  if (Trick_two_is_true)                 -> done, return score, see elsewhere
  else: go one ply deeper in QS

I do not use Lazy_Eval, Trick_one and Trick_two.
When I return when alpha >= score get correct move but I doesn't found the
mates. For example:
2k4r/ppp5/2p1b1Q1/4q3/3bP3/3B2P1/PPP1N2P/5R1K b - - 0 26
it see the Rxh2 but evaluates it with -4.86, not mate score
5n2/B3K3/2p2Np1/4k3/7P/3bN1P1/2Prn1P1/1q6 w - - 0 1
doesn't find the mate

The long checks concept supposed that it will find these mates in the first
iteration of main search (and it does in Rebel) but it doesn't for me...



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.