มีซอฟต์แวร์หรือบริการบนเว็บสำหรับการจัดระดับ Elo ของสโมสรหรือไม่


19

มีซอฟต์แวร์ใด ๆ (หรือบริการบนเว็บ) ที่ช่วยให้คุณติดตามการจัดอันดับ Elo ของสโมสรในระดับท้องถิ่นหรือไม่?

การจัดอันดับเหล่านี้จะไม่มีส่วนเกี่ยวข้องกับการจัดอันดับ Elo อย่างเป็นทางการมันจะเป็นเพียงการจัดอันดับ Elo ภายในจักรวาลของผู้เล่นในสโมสร (เช่นเกมในการแข่งขันทางสังคมต่างๆจะคำนวณเพื่อจัดอันดับ)


2
นั่นเป็นแนวคิดที่น่าสนใจสำหรับโครงการ
Eve Freeman

ฉันทำด้วยมือกับสโมสรท้องถิ่นของเรา เกือบเป็นเรื่องง่ายเหมือนกับการป้อนข้อมูลลงในโปรแกรมเพื่อทำงาน
yobamamama

คำตอบ:


10

แม้ว่าจะไม่พร้อมใช้งานบางอย่างเช่นนี้ก็ไม่ยากเกินกว่าที่จะนำไปใช้กับตัวเอง นี่คือตัวอย่างของระบบการให้คะแนนที่เรียบง่ายและไร้สาระที่มีจุดประสงค์เพื่อให้คุณได้แนวคิด แต่ฉันไม่คิดว่าการใช้สูตร Elo ที่แท้จริงนั้นจะยากกว่านี้มาก

แก้ไข:ฉันแก้ไขการใช้งานของฉันเพื่อใช้สูตร Elo (ไม่รวมชั้น) ที่กำหนดโดยสูตรที่นี่

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)

งานนี้เป็นดังนี้:

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

นี่คือการใช้งานหลามแบบดั้งเดิมของฉัน:

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

งานนี้เป็นดังนี้:

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

ฉันคิดว่าอีโลอาจจะง่ายอย่างนั้น :)
Eve Freeman

ดี หาก OP ต้องการแก้ไขสิ่งนี้ด้วยอัลกอริทึมการจัดอันดับ USCF จริงรายละเอียดทางคณิตศาสตร์มีอยู่ในส่วนที่ 2 ของเอกสารนี้: glicko.net/ratings/rating.system.pdf
ETD

2
ขอบคุณ แต่ฉันได้รับ curios จริง ๆ และใช้สูตร Elo เอง :)
Akavall

สำหรับจักรวาลเล็ก ๆ เช่นชมรมหมากรุกฉันคิดว่ามันเป็นการดีที่สุดที่จะไม่มีพื้นมิฉะนั้นคุณจะได้รับอัตราเงินเฟ้อในไม่ช้าหากผู้เล่นที่อ่อนแอมากเล่นมาก
Pep

สำหรับการจัดอันดับของสโมสรท้องถิ่นความซับซ้อนทั้งหมดของ elo glicko ไม่ว่าจะเป็นการเพิ่มผลประโยชน์ที่แท้จริงใด ๆ ก็ตาม
yobamamama

6

มันดูเหมือนว่าrankade , ระบบการจัดอันดับของเราสำหรับการเล่นกีฬา, เกมส์, และอื่น ๆ ที่เหมาะกับความต้องการของคุณ

ใช้งานได้ฟรีและออกแบบมาเพื่อจัดการอันดับ (และสถิติรวมถึงสถิติการจับคู่และอื่น ๆ ) สำหรับผู้เล่นกลุ่มเล็กถึงใหญ่

Rankade ไม่ได้ใช้Eloแต่อัลกอริธึมของมัน (เรียกว่าอัลกอริธึมree ) แม้ว่าจะซับซ้อนกว่า (นี่คือการเปรียบเทียบระหว่างระบบการจัดอันดับที่รู้จักมากที่สุดรวมถึงElo , GlickoและTrueSkill ) คล้ายกับ Elo ถ้าคุณเล่น 1 ต่อ 1 เท่านั้น


2
แอพสุดเจ๋ง!
andras

1
ฉันลองแล้วดูเหมือนว่าจะเหมาะกับความต้องการของฉัน ง่ายสะอาดสามารถเพิ่มผู้เล่นได้หลังจากการแข่งขันเริ่มขึ้น ฉันอยากจะแนะนำที่อนุญาตให้ผู้ใช้ CSS ที่กำหนดเอง เพิ่งเปิดให้มี textarea (หรือ div ที่น่าพอใจ) เพื่อให้ผู้ใช้วาง CSS ของพวกเขา
Coisox

4

ฉันเพิ่งดาวน์โหลดและเล่นกับรายการฟรีแวร์น้ำหนักเบาสำหรับ Windows ที่เรียกว่าELORaterที่ดูเหมือนจะให้สิ่งที่คุณต้องการ คุณสามารถสร้าง "กลุ่ม" สำหรับสโมสรของคุณแล้วเพิ่มผู้เล่นเข้ากับกลุ่มพร้อมกับการจัดอันดับเริ่มต้นที่คุณต้องการให้มี จากนั้นคุณสามารถป้อนผลลัพธ์ของเกมใด ๆ ที่เล่นและโปรแกรมจะจัดอันดับรายชื่อผู้เล่นที่อัปเดตให้คุณ


มันยังออนไลน์อยู่ไหม?
Aubrey

3

ฟรี Excel Add-in หมากรุกการจัดอันดับผู้ช่วยพบได้ที่https://www.add-ins.com/free-products/chess-ranking-assistant.htmใช้ระบบ glicko และเป็นเมนูที่ขับเคลื่อนด้วยเพื่อความสะดวกในการใช้ มันถูกออกแบบมาสำหรับชมรมหมากรุก




0

http://elorankings.com

ช่วยให้คุณสร้างการจัดอันดับ elo ที่กำหนดเองและควบคุมพารามิเตอร์บางอย่าง ส่วนใหญ่ใช้โดยชุมชนวิดีโอเกม แต่สามารถทำได้เพื่อสร้างอันดับและจัดการคะแนน elo สำหรับอะไร ใช้งานง่ายมาก เก็บประวัติการแข่งขันที่สมบูรณ์และช่วยให้คุณสามารถดูประวัติผู้เล่น WL และการเปลี่ยนแปลงคะแนนของพวกเขาต่อการแข่งขัน ฉันใช้มันสำหรับทัวร์นาเมนต์สแมชที่ฉันวิ่งทุกสัปดาห์: http://elorankings.com/rankings.aspx?id=1


ไซต์ดูเหมือนจะหยุดทำงานหรือไม่อยู่อีกต่อไป
andrewb


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.