Author: David Paulowich
Date: 08:02:29 03/28/98
Something should be done to discourage GNU Chess from recklessly
advancing its Rook Pawns. My field is mathematics, not computer
science, and certainly not computer chess. But speaking as a layman, I
am inclined to blame the following table from eval.c
/* Pawn positional bonus */
static const SHORT PawnAdvance[64] =
{0, 0, 0, 0, 0, 0, 0, 0,
4, 4, 4, 0, 0, 4, 4, 4,
6, 8, 8, 10, 10, 8, 8, 6,
6, 8, 12, 16, 16, 12, 8, 6,
8, 12, 16, 24, 24, 16, 12, 8,
12, 16, 24, 32, 32, 24, 16, 12,
12, 16, 24, 32, 32, 24, 16, 12,
0, 0, 0, 0, 0, 0, 0, 0};
The following revised table may go too far. It is difficult to
know if "positional" considerations might cause the program to ignore a
potential back rank mate. This table should also make Rook Pawns a
little less valuable - which seems to me to be a good idea. Perhaps
someone with the necessary skills can run a test match between these
two versions of GNU Chess and report the results.
/* Pawn positional bonus */
static const SHORT PawnAdvance[64] =
{0, 0, 0, 0, 0, 0, 0, 0,
2, 4, 4, 0, 0, 4, 4, 2,
2, 8, 8, 10, 10, 8, 8, 2,
2, 8, 12, 16, 16, 12, 8, 2,
4, 12, 16, 24, 24, 16, 12, 4,
8, 16, 24, 32, 32, 24, 16, 8,
8, 16, 24, 32, 32, 24, 16, 8,
0, 0, 0, 0, 0, 0, 0, 0};
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.