Elo这个词现在被太多人错误的滥用,很多人根本没理解其本身的含义,因此我来介绍一下Elo、MMR和匹配机制之间的关系。
首先最离谱的误区是把Elo联系上“系统针对”、“连胜制裁”、“卡组检测”、“系统局”等概念,Elo其实和这些完全没关系,想表达上述含义时直接用中文这么写就行了,没有什么响亮的英文称呼。至于炉石有没有这些机制,不是此文的重点。不过还是先放两张登顶截图作为叠甲。
MMR (matchmaking rating, 匹配分)是一个很广泛的词。一般游戏的排名模式中,每个玩家都会有一个MMR数值,代表其水平,这是用于匹配水平相近的对手的。MMR的具体计算方式有很多种,Elo是其中比较常用且基础的一种,炉石的MMR计算方式应该不是Elo,要更复杂一些,具体未知。
也就是说,MMR和Elo是包含关系不是并列关系,经常有人说“炉石用的不是Elo,是MMR”,证明这些人没理解这两个词的关系。还有,把Elo理解为系统针对就大错特错了,Elo只是玩家的一个水平数值,具体怎么匹配是另一码事,更别说按Elo匹配那就代表完全没有系统针对。匹配机制的问题不要让Elo背锅。
Elo Rating System(Elo评分系统)由20世纪物理学家Arpad Elo等人提出以及优化。Elo是这个人的名字,不是缩写,强烈反对“ELO”这种全大写的写法,如此写只能证明你不懂Elo机制。
Elo机制被广泛用于国际象棋和很多网络游戏中。
Elo的具体计算如下:
一个新玩家会被赋予一个初始分,国际象棋里常用的初始Elo分值好像是1500。
在两个玩家进行对局后,双方分数变化公式如下图(取自百度百科)。先根据双方当前Elo分值来计算“预期胜率”:简单的说,每相差400分,胜负比(胜率与负率的比值)就相差10倍。再用这个预期胜率来计算分数变化。
预期胜率越高,赢了加分就越少,输了扣分就越多,这是合理的性质。炉石的MMR算法也是具有该性质的,我清楚记得我曾经23-18战绩从第5打到第9
所以匹配到的高分玩家被称为“精英怪”,打赢就血赚,同理高分玩家们可以经常约好了一起匹配,对冲顶有一些帮助。
这个模型用了Logistic分布,具体原因和数学推导这里不占用篇幅了,感兴趣的可以去油管看j3m的科普视频,讲的不错。另一种模型使用正态分布,实际两者结果差距不大,Logistic分布由于计算简便等原因成为了最广泛使用的模型,不多赘述。
在有了MMR(如Elo)分数之后,就不难建立一个简单的匹配机制了。一般匹配机制的目标是让分数相近的玩家匹配在一起。举个简单的例子:
当一个玩家开始匹配时,以每秒1分的速度增加其匹配范围,直到匹配到范围相交的对手。
比如玩家A的MMR是1600,玩家B的MMR是1700,玩家C的MMR是1850。他们同时开始匹配且暂时没有其他玩家在匹配,那么在50秒后,A和B会匹配成功,C会继续匹配。又比如A已经匹配超过100秒时B刚开始匹配,则A和B会立即匹配上。
炉石的匹配机制本质上也是这样,只检测MMR,且随着时间拓宽匹配范围。炉石曾经会检测段位,后来改过机制,现在无论有没有上传说都是看MMR,因此存在投降降低MMR匹配更弱对手上传说的操作。
另一个误区是认为Elo只属于团队游戏,这是完全错误的,Elo本身就是单人的评分。稍微提几句,如果是多人游戏,一种比较基础的匹配机制是以团队平均MMR作为匹配依据,优先将玩家们分配成两队平均MMR最接近的组合。当然这样有缺陷:容易出现高手和新手同队。解决方案也很简单,设定单队可接受误差范围(可以随时间扩大)。具体算法因游戏而异,不多赘述。
或许某些游戏会在匹配机制上做手脚,在特定情况检测你的“卡组/英雄/...”而非仅根据MMR。你想要表达此类观点时,直接说人话就行了,请别再说“被Elo针对”此类逆天言论了。Elo可以认为是玩家评分机制中的楷模,在整个游戏界具有重要意义,不应含有任何贬义。



首先最离谱的误区是把Elo联系上“系统针对”、“连胜制裁”、“卡组检测”、“系统局”等概念,Elo其实和这些完全没关系,想表达上述含义时直接用中文这么写就行了,没有什么响亮的英文称呼。至于炉石有没有这些机制,不是此文的重点。不过还是先放两张登顶截图作为叠甲。
MMR (matchmaking rating, 匹配分)是一个很广泛的词。一般游戏的排名模式中,每个玩家都会有一个MMR数值,代表其水平,这是用于匹配水平相近的对手的。MMR的具体计算方式有很多种,Elo是其中比较常用且基础的一种,炉石的MMR计算方式应该不是Elo,要更复杂一些,具体未知。
也就是说,MMR和Elo是包含关系不是并列关系,经常有人说“炉石用的不是Elo,是MMR”,证明这些人没理解这两个词的关系。还有,把Elo理解为系统针对就大错特错了,Elo只是玩家的一个水平数值,具体怎么匹配是另一码事,更别说按Elo匹配那就代表完全没有系统针对。匹配机制的问题不要让Elo背锅。
Elo Rating System(Elo评分系统)由20世纪物理学家Arpad Elo等人提出以及优化。Elo是这个人的名字,不是缩写,强烈反对“ELO”这种全大写的写法,如此写只能证明你不懂Elo机制。
Elo机制被广泛用于国际象棋和很多网络游戏中。
Elo的具体计算如下:
一个新玩家会被赋予一个初始分,国际象棋里常用的初始Elo分值好像是1500。
在两个玩家进行对局后,双方分数变化公式如下图(取自百度百科)。先根据双方当前Elo分值来计算“预期胜率”:简单的说,每相差400分,胜负比(胜率与负率的比值)就相差10倍。再用这个预期胜率来计算分数变化。
预期胜率越高,赢了加分就越少,输了扣分就越多,这是合理的性质。炉石的MMR算法也是具有该性质的,我清楚记得我曾经23-18战绩从第5打到第9

这个模型用了Logistic分布,具体原因和数学推导这里不占用篇幅了,感兴趣的可以去油管看j3m的科普视频,讲的不错。另一种模型使用正态分布,实际两者结果差距不大,Logistic分布由于计算简便等原因成为了最广泛使用的模型,不多赘述。
在有了MMR(如Elo)分数之后,就不难建立一个简单的匹配机制了。一般匹配机制的目标是让分数相近的玩家匹配在一起。举个简单的例子:
当一个玩家开始匹配时,以每秒1分的速度增加其匹配范围,直到匹配到范围相交的对手。
比如玩家A的MMR是1600,玩家B的MMR是1700,玩家C的MMR是1850。他们同时开始匹配且暂时没有其他玩家在匹配,那么在50秒后,A和B会匹配成功,C会继续匹配。又比如A已经匹配超过100秒时B刚开始匹配,则A和B会立即匹配上。
炉石的匹配机制本质上也是这样,只检测MMR,且随着时间拓宽匹配范围。炉石曾经会检测段位,后来改过机制,现在无论有没有上传说都是看MMR,因此存在投降降低MMR匹配更弱对手上传说的操作。
另一个误区是认为Elo只属于团队游戏,这是完全错误的,Elo本身就是单人的评分。稍微提几句,如果是多人游戏,一种比较基础的匹配机制是以团队平均MMR作为匹配依据,优先将玩家们分配成两队平均MMR最接近的组合。当然这样有缺陷:容易出现高手和新手同队。解决方案也很简单,设定单队可接受误差范围(可以随时间扩大)。具体算法因游戏而异,不多赘述。
或许某些游戏会在匹配机制上做手脚,在特定情况检测你的“卡组/英雄/...”而非仅根据MMR。你想要表达此类观点时,直接说人话就行了,请别再说“被Elo针对”此类逆天言论了。Elo可以认为是玩家评分机制中的楷模,在整个游戏界具有重要意义,不应含有任何贬义。


