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