Existe algum software ou serviço da web para classificações do Elo em nível de clube?


19

Existe algum software (ou serviço baseado na Web) que permita acompanhar as classificações locais do Elo em nível de clube?

Essas classificações não teriam nenhuma conexão com as classificações oficiais do Elo, seriam apenas uma classificação do Elo no universo de jogadores de um clube (ou seja, jogos em vários torneios sociais seriam computados para a classificação).


2
Essa é uma ideia interessante para um projeto.
Eve Freeman

Fiz isso manualmente para o nosso clube local. Quase tão fácil quanto inserir dados em um programa para fazer o trabalho.
yobamamama 9/01

Respostas:


10

Mesmo que não esteja disponível, algo assim não é muito difícil de implementar. Aqui está um exemplo com um sistema de classificação extremamente bobo e simples que serve apenas para lhe dar uma idéia. Mas eu não acho isso usando a fórmula Elo real muito mais difícil.

EDIT: edito minha implementação para usar a fórmula Elo (sem incluir pisos) fornecida pela fórmula aqui

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)

Isso funciona da seguinte maneira:

>>> 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

Aqui está minha implementação python original:

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

Isso funciona da seguinte maneira:

>>> 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  

Eu acho que Elo é possivelmente tão simples quanto isso. :)
Eve Freeman

Agradável. Se o OP quis modificar isso com, digamos, o algoritmo de classificação atual da USCF, os detalhes matemáticos estão disponíveis na Seção 2 deste documento: glicko.net/ratings/rating.system.pdf
ETD

2
Obrigado, mas fiquei muito curioso e implementei a fórmula Elo :).
Akavall 25/09/12

Para um universo pequeno, como o clube de xadrez, acho melhor não haver pisos, caso contrário você receberia inflação em breve se jogadores muito fracos jogarem muito.
Pep

para classificações de clubes locais, toda a complexidade de elo glicko, o que quer que seja, não trará nenhum benefício real
yobamamama

6

Parece que rankade , nosso sistema de classificação para esportes, jogos e muito mais, se adapta às suas necessidades.

É de uso gratuito e foi projetado para gerenciar classificações (e estatísticas , incluindo estatísticas de confronto e muito mais) para pequenos e grandes grupos de jogadores.

Não Rankade não usar Elo , mas seu algoritmo (chamado ree algoritmo), embora mais complexo (aqui está uma comparação entre a maioria sistema de classificação conhecido, incluindo Elo , Glicko e TrueSkill ), é semelhante a Elo se você jogar 1-on-1 partidas só.


2
webapp muito legal!
18715

11
Eu tentei e parece atender às minhas necessidades; Simples, limpo, pode adicionar jogadores após o início de uma partida. Gostaria de sugerir que permita ao usuário CSS personalizado. Acabei de disponibilizar uma área de texto (ou div
editável

4

Acabei de baixar e brincar com um item de freeware leve para Windows chamado ELORater que parece fornecer o que você procura . Você pode criar um "grupo" para o seu clube e adicionar jogadores ao grupo, juntamente com as classificações iniciais que você deseja que eles tenham. Depois, basta inserir os resultados de qualquer jogo que seja jogado e o programa manterá uma lista atualizada de classificações de jogadores para você.


ainda está online?
Aubrey




0

http://elorankings.com

Permite criar classificações elo personalizadas e controlar certos parâmetros. Usado principalmente por comunidades de videogame, mas pode ser feito para criar classificações e gerenciar classificações de elo para qualquer coisa. Muito fácil de usar. Mantém o histórico completo das partidas e permite que você veja individualmente a história dos jogadores, WL e como a pontuação deles foi alterada por partida. Eu o uso em um torneio de sucesso que corro toda semana: http://elorankings.com/rankings.aspx?id=1


Local parece estar em baixo ou não viver mais
andrewb


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.