Well, they do make a difference, as it had been pointed out before. My initial thought was to perform the following instead of the reset:
1) Divide by a big number & round everyones score to maintain the proportions but get rid of a lot of digits.
2) Adjust the constant C (currently always 300) according to the big number used for the division - logarithmic. (so at the end, the algorithm maintains the same curve, scaled down)
I do not want to raise a flame war, and note that I was not complaining either - but am open to any discussion on the maths behind this.
Cheers,
T
I'm not quite sure what is it you think the reset does. Can you explain your thoughts on it, preferably with a link to Slush saying something similar?
Unfortunately I did not see this reset documented when Slush explained the scoring calculation (to which I did include the link). We observed that score resets are happening periodically, I assume the reason is to prevent an arithmetic overflow.
The cheapest way (in terms of both db performance and implementation effort) of performing a reset is zeroing out all the scores and simply carrying on the calculation without touching C or scaling back the round time (both of which would be the same). This would obviously not maintain the same characteristics, especially, if the round ends very close to the reset. What I have written is 'scaling down' rather then resetting existing scores, I hope the difference is clear - to maintain the proportions of the scores while also getting rid of digits.
Again, I am drawing conclusions based on observations since I could not find info about how resets are performed - the conclusions might therefore be right or wrong, and I try to be correct/careful about the wording as well. Does anyone know more details of how exactly the scores are currently reset?
Cheers,
T