Esistono software o servizi Web per le classificazioni Elo a livello di club?


19

Esiste un software (o un servizio basato sul Web) che ti consenta di tenere traccia delle valutazioni Elo locali a livello di club?

Queste valutazioni non avrebbero alcuna connessione con le classifiche Elo ufficiali, sarebbe solo una valutazione Elo nell'universo dei giocatori di un club (cioè le partite in vari tornei sociali verrebbero calcolate per la valutazione).


2
È un'idea interessante per un progetto.
Eve Freeman,

L'ho fatto a mano per il nostro club locale. Quasi facile come inserire i dati in un programma per fare il lavoro.
Yobamamama,

Risposte:


10

Anche se non è disponibile, qualcosa del genere non è troppo difficile da implementare. Ecco un esempio con un sistema di valutazione estremamente stupido e semplice che vuole solo darti un'idea. Ma non penso che usare la formula Elo sia molto più difficile.

EDIT: modifico la mia implementazione per utilizzare la formula Elo (esclusi i piani) fornita dalla formula qui

def get_exp_score_a(rating_a, rating_b):
    return 1.0 /(1 + 10**((rating_b - rating_a)/400.0))

def rating_adj(rating, exp_score, score, k=32):
    return rating + k * (score - exp_score)

class ChessPlayer(object):
    def __init__(self, name, rating):
        self.rating = rating
        self.name = name
    def match(self, other, result):

        exp_score_a = get_exp_score_a(self.rating, other.rating)

        if result == self.name:
            self.rating = rating_adj(self.rating, exp_score_a, 1)
            other.rating = rating_adj(other.rating, 1 - exp_score_a, 0)
        elif result == other.name:
            self.rating = rating_adj(self.rating, exp_score_a, 0)
            other.rating = rating_adj(other.rating, 1 - exp_score_a, 1)
        elif result == 'Draw':
            self.rating = rating_adj(self.rating, exp_score_a, 0.5)
            other.rating = rating_adj(other.rating, 1 - exp_score_a, 0.5)

Funziona come segue:

>>> bob = ChessPlayer('Bob', 1600)
>>> john = ChessPlayer('John', 1900)
>>> bob.rating
1600
>>> john.rating
1900
>>> bob.match(john, 'Bob')
>>> bob.rating
1627.1686541692377
>>> john.rating
1872.8313458307623
>>> mark = ChessPlayer('Mark', 2100)
>>> mark.match(bob, 'Draw')
>>> mark.rating
2085.974306956907
>>> bob.rating
1641.1943472123305

Ecco la mia implementazione originale di Python:

class ChessPlayer(object):
    def __init__(self, name, rating):
        self.rating = rating
        self.name = name
    def match(self, other, result):
        if result == self.name:
            self.rating += 10
            other.rating -= 10
        elif result == other.name:
            self.rating += 10
            other.rating -= 10
        elif result == 'Draw':
            pass

Funziona come segue:

>>> bob = ChessPlayer('Bob', 1600)
>>> john = ChessPlayer('John', 1900)
>>> bob.match(john, 'Bob')
>>> bob.rating
1610
>>> john.rating
1890
>>> mark = ChessPlayer('Mark', 2100)
>>> mark.match(bob, 'Mark')
>>> mark.rating
2110
>>> bob.rating
1600
>>> mark.match(john, 'Draw')
>>> mark.rating
2110
>>> john.rating
1890  

Penso che Elo sia probabilmente altrettanto semplice. :)
Eve Freeman,

Bello. Se l'OP volesse modificarlo con, per esempio, l'attuale algoritmo di valutazione USCF, i dettagli matematici sono disponibili nella Sezione 2 di questo documento: glicko.net/ratings/rating.system.pdf
ETD

2
Grazie, ma ho avuto curiosità e ho implementato io stesso la formula Elo :).
Akavall,

Per un piccolo universo come il club di scacchi, penso che sia meglio che non ci siano piani, altrimenti otterresti presto l'inflazione se i giocatori molto deboli giocano molto.
Pep,

per le classifiche dei club locali tutta la complessità di elo glicko qualunque cosa non aggiungerà alcun reale beneficio
yobamamama

6

Sembra che la classifica , il nostro sistema di classificazione per sport, giochi e altro, si adatti alle tue esigenze.

È gratuito e progettato per gestire classifiche (e statistiche , comprese le statistiche di matchup e altro) per gruppi di giocatori da piccoli a grandi.

Rankade non usa Elo , ma il suo algoritmo (chiamato algoritmo ree ), sebbene più complesso (ecco un confronto tra il sistema di classificazione più noto, tra cui Elo , Glicko e TrueSkill ), è simile a Elo se giochi partite 1 contro 1 solo.


2
webapp molto interessante!
Andras,

1
L'ho provato e sembra adatto alle mie esigenze; Semplice, pulito, può aggiungere giocatori dopo l'inizio di una partita. Vorrei suggerire che consentono all'utente di personalizzare i CSS. Ho appena reso disponibile una textarea (o div contenteditable) per l'utente di incollare il proprio CSS
Coisox,

4

Ho appena scaricato e giocato con un oggetto freeware leggero per Windows chiamato ELORater che sembra fornire ciò che stai cercando . Puoi creare un "gruppo" per la tua squadra, quindi aggiungere giocatori al gruppo, insieme a qualsiasi valutazione iniziale desideri che abbiano. Quindi puoi semplicemente inserire i risultati di tutti i giochi che vengono giocati e il programma mantiene un elenco aggiornato delle valutazioni dei giocatori per te.


è ancora online?
Aubrey,




0

http://elorankings.com

Ti permette di creare classifiche elo personalizzate e controllare determinati parametri. Utilizzato principalmente dalle comunità di videogiochi, ma può essere fatto per creare classifiche e gestire valutazioni elo per qualsiasi cosa. Molto facile da usare Mantiene la cronologia completa delle partite e ti consente di vedere individualmente la storia di un giocatore, il WL e come il loro punteggio è cambiato per partita. Lo uso per un torneo di successo che corro ogni settimana: http://elorankings.com/rankings.aspx?id=1


Il sito sembra non essere più
attivo


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.