Then I guess you meant to say to reduce the "absolute number for the score" rather than reducing the "score"?Uri Blass wrote:I think that it is exactly what I suggest and I suggested to increase the difference between 0 squares and 2 squares by 15-6=9 units of evaluation and to increase the difference bewtween 2 squares and 4michiguel wrote:what is the S ()? What is that macro doing? is that changing the values and composing only one of with both?Uri Blass wrote:I looked at the code of stockfish1.9 and it seems to me that the mobility evaluation is linear in the number of squares(except big number of squares and the difference in evaluation between controling 0 squares and controling 2 seaures is generally the same as the difference in evaluation between controling 4 squares and controling 2 squares)
I think that it is not logical to do it and it is may be better to reduce the mobility score for controling small number of squares.
stockfish has the following code
I suggest to change it to reduce the numbers of every line byCode: Select all
const Score MobilityBonus[][32] = { {}, {}, { S(-38,-33), S(-25,-23), S(-12,-13), S( 0, -3), S(12, 7), S(25, 17), // Knights S( 31, 22), S( 38, 27), S( 38, 27) }, { S(-25,-30), S(-11,-16), S( 3, -2), S(17, 12), S(31, 26), S(45, 40), // Bishops S( 57, 52), S( 65, 60), S( 71, 65), S(74, 69), S(76, 71), S(78, 73), S( 79, 74), S( 80, 75), S( 81, 76), S(81, 76) }, { S(-20,-36), S(-14,-19), S( -8, -3), S(-2, 13), S( 4, 29), S(10, 46), // Rooks S( 14, 62), S( 19, 79), S( 23, 95), S(26,106), S(27,111), S(28,114), S( 29,116), S( 30,117), S( 31,118), S(32,118) }, { S(-10,-18), S( -8,-13), S( -6, -7), S(-3, -2), S(-1, 3), S( 1, 8), // Queens S( 3, 13), S( 5, 19), S( 8, 23), S(10, 27), S(12, 32), S(15, 34), S( 16, 35), S( 17, 35), S( 18, 35), S(20, 35), S(20, 35), S(20, 35), S( 20, 35), S( 20, 35), S( 20, 35), S(20, 35), S(20, 35), S(20, 35), S( 20, 35), S( 20, 35), S( 20, 35), S(20, 35), S(20, 35), S(20, 35), S( 20, 35), S( 20, 35) } };
15(for 0 squares),10 (for 1 squares),6 (for 2 squares) 3 (for 3 squares),
1 (for 4 squares)
I wonder if somebody tested this idea or is interested in testing it.
I cannot comment without knowing that the above is doing, but I agree that mobility should NOT be linear, but the curvature should be the opposite of what you suggest!
It is more critical to have a piece that goes from 0 to 2 squares, than going from 12 to 14.
Miguel
squares by 6-1=5 units of evaluation.
Anyway, I hope that Ralph got the message correctly. I still do not understand it very well (I cannot match your numbers with the tables above).
Miguel
Note that for big numbers this is already the case in stockfish and there is
practically no difference between knight that control 7 squares and knight that control 8 squares and very little difference between rook that controls 13 squares and rook that control 14 squares.