Revizia anterioară Revizia următoare
Rating-ul infoarena
![]() |
Sistemul de rating infoarena ofera un mod de a ordona si diferentia utilizatorii in functie de performantele acestora in regim de concurs. Rating-urile se calculeaza folosind elemente de statistica si probabilitati.
Este important de retinut ca rating-ul unui utilizator se actualizeaza doar dupa finalizarea unui concurs organizat pe infoarena. Activitatea de pregatire din arhiva de probleme nu influenteaza rating-ul.
La ce serveste rating-ul?
Sistemul de rating ideal ne-ar permite sa afirmam care dintre doi concurenti este mai puternic. Evident, acest sistem ideal nu exista (chiar notiunea de mai puternic este discutabila), totusi putem aproxima unul.
Rating-ul infoarena te ajuta sa...
- iti urmaresti evolutia personala in regim de concurs
- iti raportezi performantele la ceilalti utilizatori infoarena
Cum imi cresc rating-ul?
Participa la concursurile infoarena si rezolva cat mai multe probleme. Tu iti vezi de treaba si rating-ul te urmareste :)
Cum se calculeaza rating-ul?
infoarena foloseste un sistem de rating relativ standard numit Glicko, adaptat la nevoile noastre.
Glicko este un sistem de rating folosit in turnamentele de sah, o varianta imbunatatita a algoritmului larg acceptat ELO.
Distributia rating-urilor
Din grafic se observa ca rating-urile infoarena aproximeaza distributia normala - Gauss (varful dintre neasteptat de inalt dintre 450 si 500 se datoreaza utilizatorilor care au participat la prea putine concursuri). Desi asta nu dovedeste nimic in particular, e un semn bun ca algoritmul functioneaza :)
Detalii despre implementare
Vezi direct codul sursa al implementarii noastre de Glicko.
Fata de algoritmul standard Glicko, am modificat urmatoarele:
- Glicko a fost inventat pentru jocuri de sah (sau, mai general, jocuri head-to-head) insa concursurile de informatica includ mai multi participanti. Astfel, consideram fiecare pereche de concurenti ca un joc head-to-head.
- Functia care calculeaza scorul probabil (expected value) normalizeaza diferentele de rating mai mari decat IA_RATING_MAX_DIFF
- Glicko acorda 0 pentru infrangere, 1/2 pentru remiza si 1 pentru victorie. Am facut o functie care acorda un numar real din intervalul [0, 1] in functie de deviatia standard. Astfel, acordam un numar real in intervalul [0, 1/2) pentru o infrangere, 1/2 pentru o remiza, respectiv un numar in intervalul (1/2, 1] pentru o victorie.