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.