Computer Chess Club Archives


Search

Terms

Messages

Subject: Rebel trick one margin questions

Author: Uri Blass

Date: 05:21:51 01/02/03


This trick is from Rebel programming stuff:

MARGIN = 3.00                              // 3 pawns safe-guard value
  MARGIN + highest hanging piece value       // Queen=900, Rook=500 etc.
  MARGIN + 9.00 when own_king_was_in_check_before_make_move
  MARGIN + 6.00 when the opponent can promote the next ply
  if (SCORE-MARGIN > BETA)                   -> return TRUE
  else return FALSE

1)Why score-margin>beta?
I think that score+margin<alpha is more logical.

If the score of the side to move is already bigger than beta I return beta
except special cases(like a case when the king is in check)

2)What is the maximal value that margin can get?

Am I right to assume that it can get maximal value of 3+9+9+6=27 if
the side to move gave check in the previous move and the side to move can
promote and the side to move can capture a queen?

3)Am I right to assume that the only risk here are cases when there is mate or
cases when the evaluation is changed by more than 3 pawns?

I think that the main risk is cases of mate when there is no check before it.

I tested static margin of 12 pawns in the gcp test suite and found some
positions that there were positions that were solved one ply later(using your
full formula is possible but in that case I need to do some bigger changes in my
source code).

The first position is the following position

[D]1k1r2r1/pp3p1p/B2q1n2/8/3Pb1p1/2Q5/PR3PPP/2B1R1K1 w - - 0 1

Movei(with margin=12) found that Bxb7 is winning at depth 8 so it missed Bf4
that is even better and needed to wait to depth 9.

Uri



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.