Computer Chess Club Archives


Search

Terms

Messages

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

Author: Ed Schröder

Date: 14:36:38 01/23/04

Go up one level in this thread


On January 23, 2004 at 15:26:39, milix wrote:

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

Have you set ALPHA to LOW_VALUE when the king is in check?

My best,

Ed



This page took 0.03 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.