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.