Computer Chess Club Archives




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

Author: Omid David Tabibi

Date: 15:26:40 01/23/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
>( 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
>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;
>   }
>   return alpha
>Thanks in advance!

In addition to the points mentioned by others, why don't you send
max_checks_depth as a function parameter to quiescence? That will make the code
more readable.

In Falcon I use a different method for checks in quiescence, but if I switch to
Ed's method:

[D]5n2/B3K2p/2p2Np1/4k3/7P/3bN1P1/2Prn1P1/1q6 w - - 0 1

depth     time    nodes   nps  score  variation
 3/23     0.01       2k  259k   0.03  1.e3g4 e5f5 2.g4h6 f5e5 3.h6f7
 4/63     0.03       6k  222k   0.03  1.e3g4 e5f5 2.g4h6 f5e5 3.h6f7 e5f5
 5/63     0.06      11k  196k    #30  1.e3g4++
 5/63     0.08      15k  191k    #30  1.e3g4 e5f5 2.g4h6 f5e5 3.h6f7 e5f5
                                      4.f7d6 f5e5 5.f6g4 e5d5 6.g4e3 d5e5
                                      7.d6f7 e5e4 8.f7g5 e4e5 9.g5f3 e5e4
                                      10.f3d2 e4e5 11.d2f3 e5e4 12.f3g5 e4e5
                                      13.g5f7 e5e4 14.f7d6 e4e5 15.e3g4 e5d5
                                      16.g4f6 d5e5 17.d6f7 e5f5 18.f7h6 f5e5
                                      19.h6g4 e5f5 20.g4e3 f5e5 21.f6g4 e5e4
                                      22.g4f2 e4e5 23.f2d3 e5e4 24.d3f2 e4e5
                                      25.f2g4 e5e4 26.g4f6 e4e5 27.e3c4 e5f5
                                      28.c4d6 f5e5 29.f6g4 e5d5 30.c2c4

Works as intended :)

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.