Rankings
This page describes a proposed system for computing complex rankings from submission scores in info-arena. In infoarena1 the latest score of a user on a particular task and round is the official one and it is placed in a scores table. What I propose here is to generalize this system to arbritary rankings.
Storing rankings
The info-arena2 rankings table would have 4 column: ranking name, user, task and round, with everything but the ranking name optional. This way, rankings are related to users, tasks, rounds (or combinations). Some sample rankings:
- Final Score, (user, task, round) is just the latest score from submissions to a certain task.
- Round Score, (user, round): sum of the final scores for the tasks that make up the round.
- Preoni2007 Grade 9, (user): a sum of scores in a bunch of different rounds.
- Global IARank, (user): A complex formula similar to topcoder's ranking method. You are a number.
If tasks could give scores more complex than a simple number we could build an USACO-style weighted round ranking.
Macros could be inserted in any wiki page using a RankingTable? macro. The judge? would be responsible for calculating ratings.
Calculating rankings
Rankings could be calculated with functions that receive the user, task, round to calculate for (some could be missing). What is nice about this system is that at any time we can flush the rankings table and build it from scratch, since all required information is in the submission tables.
Unresolved issues:
- How do we define rankings? Hardcoded would work mighty fine, but defining in the wiki seems tempting.
- Rankings have to be calculated only for certain u/t/r triples (or whatever you want to call them). Only some rounds want an usaco-style rating, etc. HOW?
- Aside from arbritary rankings each round might want a certain method to define the round ranking.
![[infoarena] development](/chrome/site/logo.png)