我正在尝试为当地网球运动员实施 elo 评级系统。然而,我不想像大多数 elo 评级系统那样为所有玩家提供相同的起始 elo 评级,因为这最初会匹配完全不同级别的玩家。
因此,我想使用他们的 NTRP 评级(从 1 到 7 的范围描述玩家的技能水平)来确定他们的起始 elo。类似于
NTRP rating * m
,其中 m 是某个常数值。假设我们有 m=100,初学者网球运动员开始时会接近 100,职业运动员开始时会接近 700。
但是,我很难尝试确定 m 的值,以及这将如何影响我设置其他变量的方式,例如将实际结果和预期结果之间的差异转换为该等式中评级变化的参数 k:
rating_new = rating_old + k*(actual_outcome - expected_outcome)
要找到
m
,这取决于您想要给予玩家的最大 elo 评级。假设您的 elo 系统的最大评级为 1400,那么您的 m
将为:-
1400/7 = 200
。
设置您的
m
将更改您想要对每个结果赋予的 k
评级的敏感度。因此,如果您的最大 elo 为 3500,那么您可以负担得起 k = 40
,但如果您的最大评级为 1400
,您可能希望将其保留在 5
左右。