Блог пользователя adurysk

Автор adurysk, история, 3 года назад, По-английски

Hi,

I have seen a lot of chess tournaments publishing performance rating. It can be a really good motivator to see at what rating did you perform in the last few contests.

Not sure how to ask for this feature, so posting a blog. Can we please have this feature in CodeForces?

Thanks in advance!

  • Проголосовать: нравится
  • +255
  • Проголосовать: не нравится

»
3 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Auto comment: topic has been updated by adurysk (previous revision, new revision, compare).

»
3 года назад, # |
  Проголосовать: нравится +34 Проголосовать: не нравится
  • »
    »
    3 года назад, # ^ |
      Проголосовать: нравится +16 Проголосовать: не нравится

    In that script, the performance is just old_rating + 4 * delta.

    • »
      »
      »
      3 года назад, # ^ |
        Проголосовать: нравится +26 Проголосовать: не нравится

      That's a very close approximation though. IIRC in the "real" performance rating there is another quadratic term that almost always gets rounded off anyway.

»
3 года назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

Yes, this feature can be borrowed and adjusted from atCoder.

»
3 года назад, # |
  Проголосовать: нравится +69 Проголосовать: не нравится

Carrot does this pretty well.

  • »
    »
    3 года назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Nice extension!

    I see that it is showing rating performance as Infinity for rank 1, which I am pretty sure shouldn't be the case.

    • »
      »
      »
      3 года назад, # ^ |
        Проголосовать: нравится +61 Проголосовать: не нравится

      Based on the available information about CF’s rating system, this actually turns out not to be especially unreasonable.

      Recall that the performance corresponding to a rank is the rating at which this rank gives exactly zero delta (thus, above this value, achieving the given rank would decrease rating). The Codeforces rating system essentially computes each participant’s expected rank by summing the probabilities that they lose to each other competitor (and adding one), increasing their rating if the participant’s rank is better than their seed and decreasing their rating otherwise. There is, of course, no finite rating at which a participant’s seed is better than or equal to first place, and thus, no rating at which a participant should receive zero delta for winning.

      In practice, there are two reasons it might be possible for someone achieving rank 1 to see no change in their delta. First, CF requires rating changes to be integers, so competitors with extremely high ratings could receive a rating increase less than one upon winning, which would be rounded to zero. Second, CF’s anti-inflation metric could make it impossible to avoid a negative delta, given a sufficiently high initial rating. However, both of these scenarios require an extremely high initial rating vastly beyond what anyone has achieved in practice. Beyond being somewhat hard to calculate accurately, it’s unclear that this performance level would be especially meaningful, given that nobody has or ever will reach this hypothetical rating. As a result, reporting first place’s performance as infinity seems like a fairly reasonable decision to make, as it’s unclear that showing a performance level over, say, five or six thousand would be much better.

      • »
        »
        »
        »
        3 года назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        I see. Good points, thanks!

        I was used to chess rating performances which used to be finite even with perfect scores. Just got to know they use a hard value of +-400 for each win/loss + opponent's rating.