Computer Chess Club Archives


Search

Terms

Messages

Subject: Question to Ed Schröder

Author: Alvaro Jose Povoa Cardoso

Date: 14:29:57 05/05/04


Hi Ed,
The citation below is on your page about chess programming.
The topic is the first reduction example.
My doubt is about the line:
   { if (ALPHA > SCORE + MARGIN) reduce depth with 1 }
is the above right or should it be?:
   { if (ALPHA < SCORE - MARGIN) reduce depth with 1 }
You say: "The basic thought behind the idea is to reduce the search with one ply
if the side to move is already behind a rook or worse depending on remaining
depth."
Being "already behind a rook" means 'alpha<score-rookvalue' right?

Best regards,
Alvaro Cardoso



Citation:

REDUCTION-1 : In the main-search (not Q-search) after REBEL has called
"Make_Move();" it investigates if the move is candidate for a reduction. REBEL
uses the following formula:
  if (remaining_depth > 2
      && own_king_was_not_in_check_before_make_move
      && move_is_no_capture
      && move_does_not_check_the_opponent_king) then    // such as Bf1-b5+
       { if (ALPHA > SCORE + MARGIN) reduce depth with 1 }

  SCORE  = The score of the position (material value +
           piece-square value's)

  MARGIN = TABLE [remaining_depth];

  static int TABLE    0,   0,   0, 500, 500, 700, 700, 900,
                    900,1500,1500,1500,1500,1500,1500,1500,
                   1500,1500 ................................ };



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.