`

ELO排名算法

 
阅读更多

在wow lol 11平台等游戏中,都采用了一种排名算法,这种算法叫ELO,是一个叫ELO的人发明的,最开始用于国际象棋比赛计分。

 

 R'a = Ra + K(Sa-Ea)

对于A来说,初始Rank值为Ra,一局结束后为 R'a。这里关键是K,Sa,Ea这三个参数。

Sa:这个值最简单,就是你真实输赢概率,一般胜为1,平为0.5,输为0,换算成百分比就正好是100%和0%。这个值可以理解为实际胜率,可以根据实际需求定制。

Ea:就是你期望的胜率,所谓期望就是预期,那预期的依据是什么呢?预期的依据是Ra-Rb的差,这里的A和B可以是一个队伍的平均值,也可以是两个人当前的Rank值,这取决于你是1V1还是NvN。大家都知道,概率是一个[0,1]闭区间的值,而这里的Ra-Rb是一个整数,那么如何把这个整数映射到[0,1]这个区间呢?

在最初ELO用到了一个函数来解决这个映射关系,这个函数是“正态概率密度函数”:

后来经过多次分析ELO把函数换成:

这里有一张表,是Ea的解的对应表。

有了这个表就不需要计算了。

K:这个K值是一个调节值,在wow里面初始它为32,当分数达到2000+的时候,这个值开始变小,到2400+这个值稳定在8左右。为什么这样设定,一方面保证新玩家,玩的比较好的可以快速上去,不用一直跟菜鸟打。另外就是,对一些整天打比赛的人,降低其成长速度可以让所有人的分数集中在一个比较合理的区域。

 

 

 

 

 

分享到:
评论

相关推荐

    Python中的 Elo算法实现_python_代码_下载

    elo公式是一种通过计算相对技能对棋手进行排名的方法。它在团队运动中得到了成功的应用。已经开发了一个 python 包,用于根据先前的技能排名计算预期的胜利概率,并在结果之后更新排名。 from elosports.elo import...

    elo-rating:基于Elo评分算法管理用户排名的应用程序

    基于Elo评级算法的用户排名管理应用 环境环境 从master分支构建的环境可在Heroku 从开发分支建立环境可在Heroku API参考 要查看API参考,请访问 安装 物产 核心方面的属性可以在文件elo-rating/src/main/...

    MultiRank:可定制的基于Elo的排名算法,适用于所有情况-开源

    我讨厌有人说基于Elo的排名系统很难实施,尤其是在两个以上竞争对手的情况下。 MultiRank是完全可定制的基于Elo的排名解决方案,适用于任何情况或数量的竞争者。 尽管它是用PHP编写的,但可以轻松移植到其他语言。 ...

    tic-tac-toe-challenge

    目的是让学生在编写井字游戏AI方面相互竞争,并使用ELO排名算法(以国际象棋中的使用最为人所知)对各个客户进行排名 设置 克隆存储库 运行yarn install --frozen-lockfile 运行命令node server.js以启动服务器 ...

    soccer_power_ranking:基于ELO算法的足球实力排名

    足球实力排名 产生足球实力排名的算法(目前仅限比利时)。 使用 SPI (ESPN) 和修改后的 ELO。 使用 django 创建应用程序以在网站上获取输出。

    流行度竞赛:流行度竞赛:通过使用Elo排名在互联网上找到最佳网站,学习TypeORM,AngularJS,KOA和MySQL

    提交内容使用Elo系统进行排名,该系统主要用于对棋手进行排名。 由于我想允许匿名用户提交数据并对提交的内容进行投票,因此我采取了多种反垃圾邮件措施。 添加或修改数据库的提交需要类似区块链的工作量证明计算...

    bbt-与Elo,Glicko或TrueSkill相似的技能评级系统-Rust开发

    它遵循论文“在线排名的贝叶斯近似方法”中的算法1。 将BBT添加到您的Cargo.toml中的方法:[dependencies] bbt =“ 0.2.0”如果要使用Serde序列化等级,则需要在Cargo.toml中添加以下内容:[dependencies.bbt] vers

    Elo-MMR:多人比赛的技能评估系统

    Elo-MMR算法设计用于在比赛项目中将中等至大量运动员排名的活动,由于以下任何原因,无法在不同事件之间对结果进行标准化: 每项赛事都具有新颖的挑战,例如障碍赛,攀岩和奥林匹克奥林匹克竞赛。 在同一事件中,...

    timemachines-testing:测试优化器和时间序列算法,并为其分配Elo等级

    Optimizer Elo评分和排行榜有关全局优化策略的当前排名和Elo评分,请参阅。 这些是通过随机匹配计算的,其中随机选择函数,还随机选择搜索的维数和允许的迭代次数。 精确的方法显示在。Elo型评分和排行榜时间序列...

    adball:桌上足球排名系统

    广告球桌上足球排名系统去做: 将排名算法分离到模块添加排名算法: 金正恩Glicko2 ELO(已添加) 风俗? 添加单独的用户表? 这真的有必要吗? 添加sockets.io

    hairy-octo-hipster:全球大数据会议 R 研讨会的数据和代码

    ELO 排名的艺术 [30] [9:40-10:10) Kaggle 比赛剖析 [40] [10:10-10:50) 竞赛力学 注册、下载数据、创建子目录 试运行:提交泰坦尼克号 休息 [20] [10:50-11:10) 业余数据科学家的算法 [20] [11:10-11:30) 透视...

    java乒乓球源码-tennis-crystal-ball:网球水晶球

    分明细以及基于神经网络比赛预测算法的假设性比赛预测 Heads-to-Heads - 几个玩家之间的正面交锋集群(即“四大”之间) 最伟大的竞争 - 探索最大的竞争,整体或按赛季,锦标赛级别,表面或回合 最伟大的比赛 - 探索...

    java乒乓球源码-tm:Tm值

    分明细以及基于神经网络比赛预测算法的假设性比赛预测 Heads-to-Heads - 几个玩家之间的正面交锋集群(即“四大”之间) 最伟大的竞争 - 探索最大的竞争,整体或按赛季,锦标赛级别,表面或回合 最伟大的比赛 - 探索...

    java乒乓球源码-TennisBag:网球包

    积分明细以及基于神经网络比赛预测算法的假设性比赛预测 Heads-to-Heads - 几个玩家之间的正面交锋集群(即“四大”之间) 最伟大的竞争 - 探索最大的竞争,整体或按赛季,锦标赛级别,表面或回合 最伟大的比赛 - ...

    网球水晶球:最终网球统计数据和网球水晶球-网球大数据分析与预测

    网球水晶球是一组由AI和机器学习提供支持的比赛预测和比赛预测算法。 产品特点 'GOAT'名单-又名'GOATometer'-Open Era最佳球员,以'GOAT'积分排名(可自定义权重)(总体和按表面) 球员资料-球员信息,赛季总结,...

Global site tag (gtag.js) - Google Analytics