提供给 Duel 的 Rating 计算方案
本方案基于加权 Elo 模型,并结合团队表现系数,客观反映选手实力。
比赛模型转换
难度权重设为:
\[ W_t=\frac{D_t}{100}\quad(D_t\in\{100,200,\dots,1000\}) \]
队伍评级与期望胜率
- 队伍平均评级 记 R 为选手的评级。 \[ R_A = \frac{1}{n}\sum_{i=1}^n R_{A,i},\quad R_B = \frac{1}{m}\sum_{j=1}^m R_{B,j} \]
其中 \(n,m\) 分别为 A、B 队参赛人数。 - 期望胜率 \[ E_A = \frac{1}{1 + 10^{(R_B - R_A)/400}},\quad E_B = 1 - E_A \]
若 A 队首解题目得 \(r_t=1\),B 队则得 \(r_t=0\);都未解或同时解则 \(r_t=0.5\) 。
表现系数 \(f(P)\)
- 表现指标 \[ P_A = \frac{\text{A队实际得分}}{\text{理论最高分 }(100+200+\dots+1000)},\quad P_B = \frac{\text{B队实际得分}}{\text{理论最高分}} \]
- 映射函数 \[ f(P) = \alpha + (1-\alpha)\,P,\quad \alpha = 0.5 \]
\(\alpha\) 为保底系数,此处为 \(0.5\)。
个人 Rating 更新公式
对于第 \(t\) 道题,第 \(i\) 位选手的增量为 \[ \Delta R_{i,t} = f(P_{\text{其队}})\;\times\;K \times W_t \times (r_t - E_A) \]
- \(K\):基础调整系数,此处为 \(K=32\)。
- \(W_t\):题目难度权重
- \(r_t - E_A\):胜负偏差(胜为正、负为负)
- \(f(P)\):表现系数。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 星光light!
评论
