每个提交到排位战的NFT都在全球排行榜上排名。
排位战模式目前使用ELO计分系统。
Elo,以Arpad Elo命名,是许多游戏的排名系统的基础,从竞技体育到国际象棋。在一个典型的Elo系统中,玩家以1500分的平均分开始。 如果玩家表现良好(赢了对手),他们的Elo分数就会上升。如果他们表现不佳(输给对手),他们的Elo分数就会下降。系统在平均分上保持平衡,这意味着从Elo分数的角度来看,每场比赛都是零和的(赢家的分数上升和输家的分数下降一样多)。
随着时间的推移,每个玩家的分数应该准确地代表相对于排行榜上其他玩家的技能。事实上,该系统的设计方式是为了代表玩家的预期胜率。具体来说,一个比另一个玩家高200分的玩家预计会在~76%的时间内赢得低排名的玩家,而一个比另一个玩家高100分的玩家预计会在~64%的时间内赢得低排名的玩家。
这也意味着,爆冷胜利对分数的影响更大。例如,在两个分数相差悬殊的玩家之间的比赛中,如果分数较低的玩家获胜,他们的分数将大幅上升。然而,如果分数较高的玩家获胜,他们的分数可能不会改变。
让 $R_A$ 和 $R_B$ 分别为玩家 $A$ 和玩家 $B$ 的评级。
玩家 $A$ 的预期胜率计算如下:
$E_A = \frac{1}{1+10^\frac{R_B-R_A}{400}}$
玩家 $B$ 的预期胜率计算如下:
$E_B = \frac{1}{1+10^\frac{R_A-R_B}{400}}$
$E_A$ 和 $E_B$ 可以解释为玩家 $A$ 和玩家 $B$ 分别在对阵中获胜的概率。
<aside> 💡 考虑一个玩家 $A$ Elo等级为 $1500$ 分和玩家 $B$ Elo等级为 $1600$ 分之间的对决。
我们计算 $E_A$ as $\frac{1}{1+10^\frac{1600-1500}{400}}\approx 0.360$ 和 $E_B$ as $\frac{1}{1+10^\frac{1500-1600}{400}}\approx 0.640$。
</aside>
这意味着玩家 $A$ 对玩家 $B$ 有大约36%的预期获胜机会,而玩家 $B$ 对玩家 $A$ 有大约64%的预期获胜机会。
我们注意到 $E_A+E_B = 1$ ,因为比赛是在两个玩家之间进行。理想的比赛是两个玩家之间的技术差异最小的比赛,换句话说,就是 $E_A \approx E_B$ 的比赛,这只有在 $R_A \approx R_B$ 时才可能。
让玩家 $A$ 为挑战者(从其角度考虑比赛结果)。根据玩家 $A$ 的胜利、平局或失败,$Result$ 被记录为 $1$, $0.5$, or $0$。
玩家 $A$ 赛后调整后的Elo等级计算如下:
$R’_A = R_A + K *(Result-E_A)$
玩家 $B$ 赛后调整后的Elo等级计算如下:
$R’_B = R_B + K *(1-Result-E_B)$
$K$ 被称为K因子或发展系数,它是一个玩家的分数在一次Elo更新中所能改变的最大绝对量。换句话说,K因子越高,玩家的Elo评分就越不稳定。参见 Elo调整 关于确定 $K$ 的方法的章节。
在计算这两名玩家时,将使用挑战者玩家的K因子,在本例中为玩家 $A$ 。
<aside> 💡 考虑一个玩家 $A$ Elo等级为 $1500$ 分和玩家 $B$ Elo等级为 $1600$ 分之间的对决。假设玩家 $A$ 挑起了这场比赛,他们的 $K$ 为 $20$。我们记得 $E_A \approx 0.360$ 和 $E_B \approx 0.640.$
三种可能的情况如下:
如果玩家 $A$ 获胜,那么 $Result = 1$. 玩家 $A$ 的新Elo为 $\approx 1500+20*(1-0.360) = 1512.8$,而玩家 $B$ 的新Elo为 $\approx 1600+20*(1-1-0.640)=1587.2$.
如果玩家 $A$ 和玩家 $B$ 打成平手,那么 $Result = 0.5$. 玩家 $A$ 的新Elo为 $\approx 1500+20*(0.5-0.360) = 1502.8$,而玩家 $B$ 的新Elo为 $\approx 1600+20*(1-0.5-0.640)=1597.2$.
如果玩家 $A$ 输了,那么 $Result=0$. 玩家 $A$ 的新Elo为 $\approx 1500+20*(0-0.360) = 1492.8$ ,而玩家 $B$ 的新Elo为 $\approx 1600+20*(1-0-0.640)=1607.2$.
</aside>
我们注意到,由于我们使用相同的K因子来更新双方,并且由于 $E_A+E_B = 1$,获胜方获得的点数正好是失败方损失的点数。我们还注意到,Elo分数较高的玩家有更多的损失;评级较高的玩家在获胜时获得的分数比评级较低的玩家少,但在失败时损失的分数比评级较低的玩家多。这是因为评级较高的玩家预计更有可能获胜(在本例中,$E_B$ 比 $E_A$ 高),因此如果他们获胜,比评级较低的玩家获胜的情况要少。此外,我们还注意到,即使两位玩家打成平手,低等级的玩家仍然从高等级的玩家那里获得Elo分数。
确定棋手K因子的方法来自于国际棋联评级规则。该系统是动态的,其标准如下:
当玩家与他们的NFT(我们将其称为挑战者NFT)发起战斗时,匹配系统会随机选择一组NFT,这些NFT与挑战者NFT的Elo在可接受的偏差范围内。然后我们确定对手池的目标大小。将从对手池中随机选择一个对手,与挑战者匹配。
举例
➡️ 挑战者NFT Elo:1,600
➡️ 可接受的Elo偏差:100
➡️ 对手池Elo范围: 1,500 ≤ x ≤ 1,700
➡️ 对手池大小:30¹
对手池的组成
15个对手将在1,500至1,600之间挑选,15个对手将在1,600至1,700之间挑选。
注释:
<aside> ⬅️ 上一页
</aside>
<aside> ➡️ 下一页
</aside>