Page 1 of 1

IvanHoe 58m pawn_eval.c shelter values

Posted: Sun Jun 20, 2010 1:34 am
by benstoker
In IvanHoe v. 58m's pawn_eval.c, there is the option to toggle a different set of shelter and storm values. Can anyone explain the code here, and how the changes in the values would effect the pawn evaluation? BB, are you around?

Code: Select all

#if 1
const uint8 SHELTERaa[8] = { 30, 0, 5, 15, 20, 25, 25, 25 };
const uint8 SHELTERab[8] = { 55, 0, 15, 40, 50, 55, 55, 55 };
const uint8 SHELTERac[8] = { 30, 0, 10, 20, 25, 30, 30, 30 };
const uint8 STORMaa[8] = { 5, 0, 35, 15, 5, 0, 0, 0 };
const uint8 STORMab[8] = { 10, 0, 50, 20, 10, 0, 0, 0 };
const uint8 STORMac[8] = { 10, 0, 50, 20, 10, 0, 0, 0 };

***

#else
const uint8 SHELTERaa[8] = { 45, 0, 10, 30, 40, 40, 40, 40 };
const uint8 SHELTERab[8] = { 55, 0, 15, 40, 50, 55, 55, 55 };
const uint8 SHELTERac[8] = { 20, 0, 5, 10, 15, 15, 20, 20 };
const uint8 STORMaa[8] = { 10, 0, 35, 15, 5, 0, 0, 0 };
const uint8 STORMab[8] = { 15, 0, 60, 25, 10, 0, 0, 0 };
const uint8 STORMac[8] = { 5, 0, 25, 10, 5, 0, 0, 0 };

Re: IvanHoe 58m pawn_eval.c shelter values

Posted: Mon Jun 21, 2010 6:28 am
by BB+
I'm not sure. Rybka uses a much different method here (the 4x3 blocks as in Strelka), but the end results are numerically not too far apart. One advantage of the IvanHoe method is that the shelter/storm values can be changed on a per-file basis (at least up to central symmetry), and that blocked "storming" pawns don't get counted so much. I really can't say how much impact any change would have, and testing at hyper-bullet games might not be too valuable, as this is a king safety feature. It does, however, make sense to me that the "optimal" values for storming/sheltering pawns should differ based on whether the king is in the centre or on the board's edge.