Inizialmente avevo pubblicato questo su StackOverflow in quanto potrebbe essere un bug nelle implementazioni, ma alcuni hanno suggerito di postare in matematica. Ho appena trovato questo stackexchange e ho pensato chi sarebbe meglio? Alcuni di voi potrebbero sapere fin dall'inizio che questo sembra accurato o no, senza la necessità di eseguire il debug. Tutti i collegamenti a calcolatori online o metodi di valutazione alternativi sono i benvenuti.
Glicko-2 è un sistema di classificazione utilizzato negli scacchi, ma può essere utilizzato in molte altre situazioni. Glicko-2 è un miglioramento rispetto a Glicko-1, che ha affrontato i problemi del vecchio rating ELO.
Ciò che rende speciale Glicko-2 rispetto alla versione 1 è che incorpora una deviazione di rating più alta (RD) più a lungo qualcuno è rimasto inattivo. Lo fa con l'idea di una costante di sistema che si riferisce ai periodi di tempo / valutazione.
Un esempio scritto dall'autore si trova qui: http://www.glicko.net/glicko/glicko2.pdf .
All'interno di questo documento, spiega:
Il sistema Glicko-2 funziona meglio quando il numero di giochi in un periodo di valutazione è da moderato a grande, diciamo una media di almeno 10-15 giochi per giocatore in un periodo di valutazione. Il periodo di tempo per un periodo di valutazione è a discrezione dell'amministratore.
Partendo dal presupposto che un gruppo di giocatori di scacchi attivi gioca in media 10-15 partite in un periodo di 1 mese, l'amministratore aggiorna quindi le valutazioni alla fine di ogni mese.
Avevo bisogno di un'implementazione PHP del sistema di classificazione Glicko-2 e ho riscontrato quanto segue:
Implementazione JavaScript di Glicko-2
- JavaScript ha avuto un piccolo errore, nel quale non ha lasciato corrispondere all'esempio tecnico di redazione, l'autore l'ha trovato abbastanza vicino e non si è preoccupato di eseguire il debug.
Implementazione PHP di Glicko-2
- L'implementazione di PHP è stata afflitta da molti bug, ma ciò non era evidente a meno che tu non abbia fatto più di un periodo di valutazione (di cui la scrittura tecnica non mostra mai i valori previsti di)
Calcolatrice Glicko-2 in Excel
- Finalmente il calcolatore Excel sembrava essere privo di errori e il più professionale, fatto da qualcuno nella comunità degli scacchi. Una volta risolto il bug JavaScript, il calcolatore JavaScript ed Excel si combinavano molto strettamente tra loro (anche se non perfetto, potrebbe essere in errore di arrotondamento)
Avevo corretto i bug (e inviato problemi / patch agli autori) che trovavo nelle versioni PHP e JavaScript in modo che corrispondessero al calcolatore Excel
Ora sono fiducioso al 99% di avere un'implementazione accurata di Glicko-2 (tra i 3) per l'analisi e questo è quando mi sono imbattuto in qualcosa di strano e l'argomento di questa discussione.
Dato il valore predefinito suggerito per Glicko-2 per un nuovo giocatore:
Rating: 1500
RD: 350
Volatility: 0.06
Se ti trovi di fronte a un avversario medio di rating 1378 e RD 99 ( Fonte ) solo una volta per ogni periodo di valutazione (1 mese) per i successivi 12 periodi (1 anno) avrai accumulato una valutazione nazionale di Classe A (1800-1999) del 1852 quando in realtà hai battuto solo 12 giocatori con un punteggio medio nell'arco di 12 mesi.
Month Rating RD Volatility Class
1 1625 259 0.059999 National Class B
2 1682 225 0.059998 〃
3 1718 205 0.059997 〃
6 1784 174 0.059994 〃
12 1852 148 0.059988 National Class A
24 1922 127 0.059976 〃
Se affronti 2 avversari medi in ogni periodo di classificazione, puoi raggiungere la Classe A nazionale circa 4-5 mesi, affrontando solo 8-10 avversari medi.
Month Rating RD Volatility Class
1 1672 215 0.059999 National Class B
2 1733 183 0.059997 〃
3 1770 166 0.059995 〃
4 1797 154 0.059993 〃
5 1819 146 0.059992 National Class A
6 1836 140 0.059991 〃
Questi presupposti sono accurati? C'è un bug nella mia calcolatrice?
Se non si tratta di un bug, quali sono alcuni modi per contrastare questo oltre a:
- Considera "valutazione reale" come limite inferiore della deviazione (Valutazione - RD)
- Non mostrare la valutazione dell'utente inattivo
- Non mostrare agli utenti con meno di N giochi