Apakah ada perangkat lunak atau layanan web untuk peringkat Elo tingkat klub?


19

Apakah ada perangkat lunak (atau layanan berbasis web) yang memungkinkan Anda melacak peringkat Elo tingkat klub lokal?

Peringkat ini tidak akan memiliki hubungan dengan peringkat Elo resmi, itu hanya akan peringkat Elo dalam semesta pemain di sebuah klub (yaitu game di berbagai turnamen sosial akan menghitung peringkat).


2
Itu ide yang menarik untuk sebuah proyek.
Eve Freeman

Saya melakukannya dengan tangan untuk klub lokal kami. Hampir semudah memasukkan data ke dalam program untuk melakukan pekerjaan.
yobamamama

Jawaban:


10

Bahkan jika itu tidak tersedia, sesuatu seperti ini tidak terlalu sulit untuk diterapkan sendiri. Berikut adalah contoh dengan sistem penilaian yang sangat konyol dan sederhana yang hanya dimaksudkan untuk memberi Anda ide. Tapi saya tidak berpikir bahwa menggunakan formula Elo yang sebenarnya jauh lebih sulit.

EDIT: Saya mengedit implementasi saya untuk menggunakan rumus Elo (tidak termasuk lantai) yang diberikan oleh rumus di sini

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)

Ini berfungsi sebagai berikut:

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

Berikut ini adalah implementasi python asli saya:

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

Ini berfungsi sebagai berikut:

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

Saya pikir Elo mungkin sesederhana itu. :)
Eve Freeman

Bagus. Jika OP ingin memodifikasi ini dengan, katakanlah, algoritma penilaian USCF yang sebenarnya, perincian matematisnya tersedia di Bagian 2 dokumen ini: glicko.net/ratings/rating.system.pdf
ETD

2
Terima kasih, tetapi saya benar-benar ingin tahu dan menerapkan formula Elo sendiri :).
Akavall

Untuk dunia kecil seperti klub catur, saya pikir yang terbaik adalah tidak ada lantai, jika tidak, Anda akan segera mendapatkan inflasi jika pemain yang sangat lemah bermain banyak.
Pep

untuk peringkat klub lokal semua kompleksitas elo glicko apa pun yang tidak akan menambah manfaat nyata
yobamamama

6

Tampaknya rankade , sistem peringkat kami untuk olahraga, game, dan banyak lagi, sesuai dengan kebutuhan Anda.

Ini gratis untuk digunakan dan dirancang untuk mengelola peringkat (dan statistik , termasuk statistik pertarungan, dan banyak lagi) untuk kelompok kecil hingga pemain besar.

Rankade tidak menggunakan Elo , tetapi algoritmanya (disebut algoritma ree ), meskipun lebih kompleks (inilah perbandingan antara sistem peringkat yang paling dikenal, termasuk Elo , Glicko dan TrueSkill ), mirip dengan Elo jika Anda memainkan pertandingan 1 lawan 1 hanya.


2
webapp sangat keren!
andras

1
Saya sudah mencobanya dan sepertinya sesuai dengan kebutuhan saya; Sederhana, bersih, dapat menambahkan pemain setelah pertandingan dimulai. Saya ingin menyarankan yang memungkinkan pengguna untuk CSS khusus. Baru saja menyediakan textarea (atau konten yang dapat diedit) bagi pengguna untuk menempelkan CSS mereka
Coisox

4

Saya baru saja mengunduh dan bermain-main dengan item freeware ringan untuk Windows yang disebut ELORater yang tampaknya memberikan apa yang Anda cari. Anda dapat membuat "grup" untuk klub Anda, dan kemudian menambahkan pemain ke grup, bersama dengan peringkat awal apa pun yang Anda inginkan. Kemudian, Anda cukup memasukkan hasil dari setiap permainan yang dimainkan dan program mempertahankan daftar peringkat pemain yang diperbarui untuk Anda.


apakah masih online?
Aubrey




0

http://elorankings.com

Memungkinkan Anda membuat peringkat elo khusus dan mengontrol parameter tertentu. Sebagian besar digunakan oleh komunitas video game tetapi dapat dilakukan untuk membuat peringkat dan mengelola peringkat elo untuk apa pun. Sangat mudah digunakan. Menyimpan riwayat pertandingan lengkap dan memungkinkan Anda untuk melihat sendiri sejarah pemain, WL, dan bagaimana skor mereka berubah per pertandingan. Saya menggunakannya untuk turnamen besar yang saya jalankan setiap minggu: http://elorankings.com/rankings.aspx?id=1


Situs tampaknya turun atau tidak hidup lagi
andrewb


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.