Elo 算法只需要知道三个要素即可进行迭代:选手赛前积分,对手赛前积分,比赛结果,计算和理解成本都很低(本质是因为积分操作在公式推导时已经被优化了) 初始态的盲目性 Elo rating中新玩家要达到自的合理的积分范围需要较长的时间,这也是算法不断收敛的过程,在实际应用中,我们常会遇见这样的情况:1新玩家 2老玩家开新号。这时我们就需要其他策略来辅助决策定级,如果这一块做的不好,玩家就会觉得对手太强或者太弱,流失率会增高。反观王者荣耀的排位规则中,最低达到6级,最少拥有5个英雄才可以参加,这其实就是一种辅助定级定手段,让系统能够更准确的定位选手能力。同时,农药的匹配模式是完全按照ELO值匹配队友和对手;排位赛是按照段位水平和ELO值综合评判并匹配的,这也能够解释为什么匹配时你会遇到和自己相差甚至一个大段位的队友/对手了,而排位不会。 当然这个特性也不是全然负面,我们经常看到游戏中代练代打等灰色行业大行其道,如果Elo rating更精确敏感,那作弊就会更容易了。 实际应用中的问题 1. 为什么王者荣耀不直接使用Elo积分反应玩家水平?(dota的天梯积分就是直接使用的elo积分) 其实这完全是pm的小手段,我们会发现当用户的积分稳定下来以后,他对单场比赛的分数增减会越来越无感,这种刺激绝对比不上赢了加星星输了扣星星那么明确和有力,而且将数字转化为文字(黄金白银铂金钻石),更易于传播和理解。本质上,还是对于系统反馈的量化和包装。这也属于我们开头提到的轻量化改进中的一环,产品和用户是互相选择的,天梯积分决定了dota的竞技性,排位段位则让王者荣耀有了普适性,才会被新玩家大群体所接受。 2. 理论中都是1v1作战,那5v5时该如何进行Elo 积分? 就像elo积分本身是一种目前的最优解,复杂变量的处理也有不同的处理方法,具体取决于业务需求,所以以下结论是猜想的,未经证实。 可行的方案可能是:将5名选手的elo 积分的算术平均作为团队积分,再根据不同玩家的单场KDA进行积分加权。但此处并未考虑多人排位的情况,假设出现了直男带妹上分,那以上规则不一定继续适用。而且考虑到不同队伍的排位方式不同,是否还应该进行小团队积分加权?(这些都没有数据支持所以暂不讨论) 3. 还有什么产品用的了类似算法吗? 其实只要满足Elo rating成立前提的场景就可以套用该算法,可以根据业务的实际需求不断调整参数值使其更好地服务于系统。举个栗子: FaceMash – Facebook前身,由扎克伯格于2003在哈佛大学的宿舍创建。FaceMash是哈佛版美女评选网站,每次将两张女生照片放置在一起,让用户选择哪一位更吸引人。网站引起了轰动,并获得哈佛大学学生的欢迎。FaceMash曾在第一夜吸引了450位访问用户,产生了2.2万页面浏览量,上线几天后被哈佛大学关停。所以这个公式也出现在以扎克伯格为蓝本的电影《社交网络》中:
参考资料: 微博:https://weibo.com/wzrydonny 知乎:https://zhuanlan.zhihu.com/p/28190267 wikipedia:https://en.wikipedia.org/wiki/Elo_rating_system Google: 王者荣耀公众号 (责任编辑:admin) |