51

我在游戏中实施了 Elo 评级系统。玩家人数没有限制。玩家可以不断加入游戏,因此玩家数量可能会逐渐增加。

如何准确计算 Elo 值并不重要,因为这样一个事实:如果 A 队击败 B 队,那么 A 的 Elo 胜利等于 B 的 Elo 损失。

因此,我对评分系统的起始值有疑问:

  • 我应该为每个玩家使用起始值“0”吗?所有 Elo 值的总和将是恒定的。但是由于玩家数量在增加,所以会有某种 Elo 通货紧缩,不是吗?
  • 我应该使用任何大于 0 的起始值吗?在这种情况下,所有 Elo 值的总和将不断增加。所以可能会出现 Elo 通货膨胀。问题:Elo 积分会失去价值,但起始值始终保持不变。

我应该怎么办?你能帮助我吗?提前致谢!

4

7 回答 7

65

您可以从零开始并在显示的分数中添加一个软糖因子以使其保持在零以上,或者您可以从 1000 开始 - 它们是相同的。是的,如果起点为 1000,系统中的总 ELO 点数将不断增加,但每个玩家的平均数始终相同 - 1000。Elo 的起点值始终是当前平均值。ELO是一个零和游戏,玩家A失去的分数由玩家B获得。

当您将起点设置为 1000 时,您实质上是在说平均玩家 = 1000 分。对于一组封闭的初始玩家(beta 测试人员?),这是真的,在该组内平均 = 1000。但如果游戏是你随着时间改进的东西,那么与没有的人相比,你的封闭组平均玩家变得更加熟练玩过。

现在,当您将 1000 分配给新玩家时,您是在说新的普通玩家 = 现有的高技能普通玩家。这不是真的,他们的技能可能比你原来的封闭小组要低得多。因此,新玩家会失去积分,而您的高技能玩家会获得 => 通货膨胀。您需要做的是准确评估新玩家的技能,并为他们分配一个更符合他们实际技能的排名。这可以通过为他们的前 x 场比赛分配一个“临时排名”来完成,直到您对他们的技能有所了解。当临时排名时,只有他们的 ELO 分数会改变,而不是他们玩的人的分数。一旦他们加入真实系统,他们带入得分 ELO 的分数将大致等同于他们的实际技能,并且他们不会大幅上升或下降 =>

简而言之:临时排名

于 2009-12-15T13:45:41.983 回答
19

该网站使用 elo 评级系统。他们从1200开始

取自http://gameknot.com/help-answer.pl?question=29

GameKnot 评分系统基于固定 K = 20 的 Elo 评分系统,并进行了以下修改:

前 20 场比赛用于在网站上建立玩家的评分。在前 20 场比赛中,玩家的评分是他/她所有对手评分的平均值,获胜时 +400,失败时 -400,平局相同。与临时评分的玩家对战时使用 +/-200 分。玩家的评分在前 20 场比赛中是临时的,之后它就确定了。在前 5 场评分游戏中,玩家的评分被视为等于 1200。

只有在游戏中至少进行了 3 次移动时,超时才会被计为胜利(无论玩家移动了多少次,总是会为超时的玩家计算失败)。

游戏开始和结束时的两个评分中较高的一个用于计算游戏结束后的评分调整。

例如,如果在您的前 20 场评分比赛中,您打了 3 场比赛,您赢了 1200 个临时评分的玩家,然后输给了 1400 个已建立评分的玩家,但输给了 1600 个已建立评分的玩家,您的评分将是:((1200 + 200) + (1400 + 400) + (1600 - 400) ) / 3 = 1467

或者,如果在你的前 20 场评分比赛中,你赢了 1200 临时,赢了 1400 临时,输了 1600 临时,平了 1500,你的评分将是:((1200 + 200)+(1400 + 400)+(1600) - 200) + 1500) / 4 = 1525

于 2009-12-18T03:18:06.037 回答
4

Elo根据两个球员或球队的评分差异进行计算,实际值无关紧要。你可以从任何你喜欢的数字开始。我为 Facebook Scrabble League 运行了一个初始值为 5000 的系统,只是为了将其与其他 Scrabble 评级系统区分开来。

通货膨胀并不是由于被高估的新人输给有经验的球员而导致的——这一切都会及时平息。通货膨胀是由评分低于平均水平的人离开系统造成的。这与现实生活中的国际象棋不同,在线游戏中往往会发生这种情况,在现实生活中,通货紧缩是一个问题,因为高评价的玩家退休并从系统中取出他们的分数。

但是你需要担心通货膨胀吗?唯一重要的是如果您希望将当前玩家的表现与历史数据进行比较 - 这不是任何在线游戏玩家都可能面临的问题。即使您确实担心通货膨胀,也很容易纠正。找出所有当前玩家的平均评分并将其与起始数字进行比较,如果它太高,请降低每个人的评分以使其恢复正常。以我的经验,每个收视期减少 1 或 2 分就可以解决问题,并且会导致很多新人受到打击而不再回来。

许多系统为新手提供更高的 K 值,以便他们更快地找到自己的水平。

另一种方法是在新人玩完第一个评分期之前不对他们进行评分,此时您可以根据 Elo 正确预测结果的情况来计算评分。如果您将所有未评级的玩家放在一起,这是不可能的,并且(我认为)如果您在锦标赛中有多个新人,则将涉及递归。它还破坏了 Elo 的零和原则,并消除了您衡量通货膨胀的能力。然而,在与使用这个系统的人交谈时,我被告知在实践中“一切都变得平衡了”。

我还要补充一点,我们有一个坚定的球员,他在过去四年中打了 732 场比赛,除了 21 场外,他的 Elo 仍然在 4100 左右。他每轮失去的收视点迅速接近于零。

于 2013-12-10T01:46:06.560 回答
3

我不知道它是否有用,但Mark Glickman 的评级页面讨论了 Elo 评级的一些问题、它们的下降等(请参阅那里的最后几段)。另请参阅他的评级系统,即Glicko 系统,该系统似乎考虑了播放频率并讨论了评级可靠​​性。最后,他的研究页面上有很多讨论评级及其可靠性的论文。

希望有帮助。

于 2009-12-12T21:38:31.450 回答
2
  1. 玩家看到这个分数了吗?
  2. 球员们会理解 Elo 吗?
  3. 如果他们的分数变成负数,球员会继续比赛吗?

我会从某个正点值开始每个人(10、100、1000,没关系)。当两个实力相对的人互相比赛时,比分按预期进行交易。你需要集中精力的地方是两个玩家之间的某种相对能力。

假设,在游戏的后期,我有 25000 点,而你是 100 点的 n00b。我打败了你,我一无所获,你一无所失。为什么?因为我刚刚pwned一个n00b,这就是原因。新玩家击败首发玩家应该没有优势。此外,即使您处于某个积分范围内,您也应该实施一些措施,在某个时间范围内您只能从给定玩家那里获得这么多积分。

显然,这将是在游戏的整个生命周期中不断调整的东西。

于 2009-12-12T21:30:26.660 回答
2

也许,让积分无法低于首发,并将损失的金额放入一些“口袋”中。

假设玩家从 0 开始。一名玩家的 elo 为 0 并失去 10 分。他不会失去任何东西,这点将进入一些口袋。现在让我们想象一下玩家赢得了下一场比赛并得到 11 分。他不会得到那 11 分,而只会得到 1 分。现在他的“口袋”将有0分。

于 2012-11-10T16:57:59.143 回答
1

I think that most ELO-like systems on the Internet will have a problem with ratings creep.

Assume that all new players start at a rating of zero. LousyPlayer loses a dozen games, and his rating goes far below zero. What stops him from clearing his browser, registering a new account under a new email address, and starting over?

If this is possible, then low-ranked accounts will lay fallow, moving up the practical average rating.

于 2009-12-18T08:31:48.280 回答