使用Elo与两名以上的球员进行的球员排名


16

我想使用Elo来跟踪某个游戏的比赛之间的玩家排名,但是在一场比赛中最多可以玩4个玩家。我见过像卡尔卡松这样的游戏使用Elo时有两名以上的玩家在玩,但我对Elo超出1-1的比赛并不熟悉。

维基百科的文章中,我想扩展的两人方程式是:

E a = 1 /(1 + 10 (R b -R a)/ 400

E b = 1 /(1 + 10 (R a -R b)/ 400

R x = R x + 32 *(W – E x),如果X赢,则W = 1,如果X输,则W = 0。

给定两个以上的参与者,E x和W 的计算将如何变化?


对于拥有两个以上玩家的游戏,我会谨慎使用Elo风格的系统,因为许多因素可能会导致其不如纯粹的技能游戏-玩家会联合起来感知最强的玩家,等等。对于拥有不同玩家数量的游戏,我强烈建议您为拥有更多玩家的游戏降低权重(即R的更新公式中的'32')。
史蒂文·斯塔德尼基

@StevenStadnicki感谢您的推荐。但是,我不清楚如何减小权重常数会解决您提到的问题。你能详细说明吗?
fbrereto

通过降低多人比赛的权重,您固有地在说,它们对球员的等级不如两人比赛重要。本质上,您是在说他们并不能代表球员的实际水平。Magic的锦标赛结构与此类似,其中不同级别的锦标赛具有不同的K值,以表示在确定玩家等级时应给予多少权重。
史蒂文·斯塔德尼基

Answers:


10

正如我的Google搜索顶部链接所建议的那样,您可以计算球员Elo评分(您的R值)的各个变化,然后将它们相加以提供适用于每个球员评分的总变化。

例如,如果您有4个玩家(A,B,C,D),请根据他们对B,C和D的得分计算A的评分(R-sub-a-sub-new)的变化,然后通过以下方式调整A的评分:计算出的R值的总和。


我走了这条路,到目前为止,它似乎运行良好,谢谢。
fbrereto

3
貌似这里有这个想法的公式:sradack.blogspot.ru/2008/06/...
DBF

1

我找到了一篇包含PHP源代码的论文,该论文的方法类似于此处的fnord的答案:http ://elo-norsak.rhcloud.com/3.php 我在此处创建了一个更通用的php实现:https : //github.com/ FigBug / Multiplayer-ELO我正在其棋盘游戏组中使用它,到目前为止,它似乎运行良好。

Ex和W的计算将保持不变。而不是使用32的K,而是使用32的K /(#players-1)。然后,查看2个玩家的每个排列并计算(32 /(#players-1)*(W-Ex))。那么RxNew等于RxOld +您刚刚计算的所有值的总和。


2
通常,在答案正文中包含方法/建议的摘要,而不是完全依赖于外部链接是一种很好的做法。链接具有随着时间推移而中断的习惯,当有人尝试从现在开始查找链接时,链接可能会使您的答案缺少关键细节。
DMGregory

感谢您的实用代码,它会有所帮助!只是您实现的一个建议-最好eloChange += round($K * ($S - $EA));不要舍入中间结果,而仅在设置时进行所有计算后才舍入eloPost
FlameStorm

-1

我最近在这个主题上写了这篇文章。希望对您有所帮助。我很快还将在另一篇文章中添加代码。

这是它的概要:

您必须做出的决定是是否具有子匹配项。例如:在桌上足球中,您将看到在2v2游戏中总是有两个玩家直接面对,两个间接面对。这意味着:两个防御者从来没有真正互动过,只有攻击者与防御者对。另一种选择是像Dota这样的场景,即5v5,并且没有真正的个人,可预测的1v1比赛作为真实比赛的一部分。

情况一:无子匹配结构:

在这种情况下,您可以简单地平均所有参与者的评分,并将其用作该团队的团队评分。因此,对于R_a和R_b,您只需使用该团队所有球员的得分总和除以球员人数即可。计算了团队的更新后,便可以使用该更新来更新每个团队成员的评分。

案例二:子比赛:

在这种情况下,您将分成多个子比赛,并相互权衡。因此,您需要为每对计算E_a和E_b,然后对它们进行加权。例如:对于具有1v1子结构的5v5,您需要为5对线对计算5个E_a值。然后,您可以根据他参与的子比赛为每个球员计算一个加权项。因此,如果玩家1是子比赛1的一部分,您可以计算出类似0.6 * E_a1 + 0.1 * E_a2 + 0.1 * E_a3 + 0.1 * E_a4 + 0.1 * E_a5(其中E_a1是玩家参与的子比赛的E_a)。

此处的参数可以自由选择,但是一旦有了一些数据,就可以对其进行优化。尝试找到一个加权方案,使玩家的评分波动不大。这可以通过以下方法自动完成:计算值的方差,然后通过调整权重将给定一组匹配结果的方差最小化。我希望这是有帮助的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.