low scores for pawn weaknesses

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

outAtime
Posts: 226
Joined: Sun Mar 08, 2009 3:08 pm
Location: Canada

low scores for pawn weaknesses

Post by outAtime »

Can anybody explain how Gull (an interesting and strong playing program)
gets away with such low scores for pawn weaknesses? This to me seems against the grain of all other programs I have had the pleasure to study, be it Stockfish or Fruit, or Crafty etc..

From Gull:

Code: Select all

const int PawnUP[8] = {0, Compose(2, 3), Compose(4, 4), Compose(6, 5), Compose(7, 5), Compose(8, 6), 0};

const int PawnUR[8] = {0, 0, Compose(2, 2), Compose(3, 2), Compose(4, 3), Compose(4, 3), Compose(4, 3), 0}; 

const int PawnWeak[8] = {0, Compose(15, 10), Compose(10, 7), Compose(7, 5), Compose(7, 5), Compose(10, 7), 0, 0};

const int PawnWeakOp[8] = {0, Compose(15, 0), Compose(12, 0), Compose(10, 0), Compose(8, 0), Compose(6, 0), 0, 0};

const int PawnIsolated[8] = {0, Compose(2, 3), Compose(4, 4), Compose(6, 5), Compose(7, 5), Compose(8, 6), Compose(8, 6), 0};

#define PawnDoubled Compose(5, 7)
SF

Code: Select all

 // Doubled pawn penalty by file
  const Score DoubledPawnPenalty[8] = {
    S(13, 43), S(20, 48), S(23, 48), S(23, 48),
    S(23, 48), S(23, 48), S(20, 48), S(13, 43)
  };

  // Isolated pawn penalty by file
  const Score IsolatedPawnPenalty[8] = {
    S(25, 30), S(36, 35), S(40, 35), S(40, 35),
    S(40, 35), S(40, 35), S(36, 35), S(25, 30)
  };

  // Backward pawn penalty by file
  const Score BackwardPawnPenalty[8] = {
    S(20, 28), S(29, 31), S(33, 31), S(33, 31),
    S(33, 31), S(33, 31), S(29, 31), S(20, 28)
  };
Just one comparison, of course there are 1000 others as most programs have similar high penalties for pawn weaknesses. My thought is that the eval is not as good as SF or other programs which score weaknesses high but the search is very strong. (I haven't looked at test sites yet to confirm this, e.g. STS Corbit but I imagine the scores are quite good.) I just cant see how a strong program can score a doubled pawn only 5 because that type of score seems almost meaningless in the face of mobiltity, psq, etc... How much weaker would Gull play if the pawn weakness were further decreased by half? Id bet it would still be a very strong program and 1000's upon 1000's of games would be needed to tell any small difference. Whats the hitch?
outAtime
gladius
Posts: 568
Joined: Tue Dec 12, 2006 10:10 am
Full name: Gary Linscott

Re: low scores for pawn weaknesses

Post by gladius »

Stockfish scores it's eval in 1/256th units, not centipawns. So, those scores are quite a bit smaller than they appear. To get centipawns, divide the Stockfish scores by 2.56.

Modern programs penalize pretty lightly (relatively) for these conditions it appears.