could you add a timestamp in the last decimals of the score in the great dispatch, it would order the score by order of arrival.
or do you really want us to optimize double rounding errors ?
That logic should be applied to every optimization/golf leaderboard.
EDIT : I don’t understand how the current leaderboard works. Me and Magaiti got the same score at one point (every decimal was the same) and I was behind him for a few hours, then I was in front of him. Same thing just happenned with Magaiti and iadevoops, they got the exact same score and iadevoops have just just been pushed in front of Magaiti without any change in their respective scores.
Bump for visibility
I’ve asked the dev team. Will update you once I get an answer.
a) The leaderboard does not display every single digit. Neumann currently has scored “0.000410000000897526” (wow!)
and Magaiti has “7.00000014148827e-05” (double wow!)
b) If your ranking has been bumping up and down for no apparent reason, then that means you’ve found a bug. Possibly related to the moment when we round the values.
EDIT: I’ve been doing some investigating and I am wrong.
Basically, the leaderboard is ranking those with equal scores by taking into account precisions errors. This is buggy behaviour.
Things we could do :
- We force the leaderboard to use a rounded value, which corresponds to the real value since all box weights are truncated after the fifth digit. The problem here is that we have nothing to break the tie and the ranking will be just as wrong.
- We make the box weights truncate after the sixth digit, or more. The problem here is that we’re effectively changing every test case and validator and everybody’s score can and will change.
I think the best solution for everyone is to think of some way to break ties.
Or to have a leaderboard that allows ties and gives everyone the same rank. egaetan suggested the “order of arrival”, so the first to reach a certain score gets the highest ranking. While that seems fair for the dispatch (for now, as the dispatch is quite new), it doesn’t for older puzzles, codegolfs.
That would mean you can’t get the first place, just because you started later (I think the top codegolf scores were the same when I registered more than a year ago).
Interesting feedback, thanks.
We figured that out already, but the issue I was refering to concerns ranking with exact same score (as displayed in the JSON response, with 20 decimals). When I said “Me and Magaiti got the same score at one point (every decimal was the same)” I meant that the 20 decimals were the same.
At the moment I’m writing this, Nkoyan is #5 with 0.00006000000155381713, and aPoStAl is #6 with 0.00006000000155381713.
Hopefuly the ‘bug’ will reproduce itself in the next few days to prove my point
I’ve seen similar behaviors in code-golf puzzles (where there is no rounding errors), in which some of my submissions ranked me between other people with same score. Apparently, SaiksyApo told on the chat that in such cases, people are awarded the same amount of CP, but the leaderboard choses to display an arbitrary ranking.
It doesn’t really matter for a few points, I’m just curious to know how all of this works
Regarding tie breaks, I personally like the idea of using time of submit. Starting a puzzle one year after everyone sure will prevent you from reaching the top, but on the other hand, when several people start at the same time, the ones who reach top score first should be awarded higher rank.
Anyway congratz, CG’s ranking system is the hardest reverse-engineering puzzle I’ve encountered so far
And there it is, they swapped positions, even though their respective score remained untouched :