首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ELO等级分制度

ELO等级分制度

作者头像
Twcat_tree
发布于 2022-11-22 01:15:20
发布于 2022-11-22 01:15:20
1.6K00
代码可运行
举报
文章被收录于专栏:二猫の家二猫の家
运行总次数:0
代码可运行

目录

前言

近段重温了经典电影《社交网络》,在电影中 ,Facebook创始人马克·扎克伯格在和女友分手后,受到好友爱德华多对核心算法的指引 写下了哈佛女生“选美”网站Facemash,并一气之下黑了学校教务系统,将所有女生的照片放在Facemash上供人评比,网站大获成功,在上线两小时(周末凌晨两点到四点)内点击量达到了2万2千次,挤爆了哈佛的网络。Facemash也被喻为Facebook的原型,而这个网站中所用到的算法就是 ELO等级分制度

ELO等级分制度

ELO等级分制度 是美国物理学家 Arpad Elo 创建的一个衡量各类对弈活动选手水平的评分方法,是当今对弈水平评估的公认的权威方法。被广泛应用于国际象棋、围棋、足球等运动,以及很多网游与电子竞技产业。

游戏界比较著名的应用有: FIFA online,、炉石传说、星际争霸天梯排行、魔兽世界竞技场、Dota天梯系统、LOL匹配等游戏的竞技比赛系统中,都是采用ELO等级分

ELO是一套较为完善的评分规则和机制,比较适合对竞技类游戏的选手的技术等级进行评估,用以计量个体在对决类比赛中相对技能的算法系统,对于游戏而言,需要让每场游戏尽可能的接近公平,创造双方势均力敌的竞赛环境。

下面就来对算法进行解读,Arpad Elo认为:

假设每个玩家每盘游戏中的表现是一个正态分布的随机变量,ELO系统用随机变量的平均值来代表选手的真正水平。(后来普遍认为 Logistic逻辑斯蒂 分布更为合理)。 ELO系统用胜平负来评价选手在某一场游戏中的表现,赢就代表这场发挥比对手好,反之就是不好,因此会用赢加分,输扣分,平不得分来进行评分。

ELO计算方法:

Ra:A玩家当前的积分

Rb:B玩家当前的积分

Sa:实际胜负值,胜=1,平=0.5,负=0

Ea:预期A选手的胜负值,Ea=1/(1+101)

Eb:预期B选手的胜负值,Eb=1/(1+102)

因为E值也为预估,则Ea+ Eb=1

如果选手的表现比期望要好,那么此选手的排名应该上升。相反,若表现不如期望,则排名会下降。

Sa为选手A本局的得分(1或0),K为常数,数值越大比分变动越快,在大师级象棋赛中通常取16。用这个公式来计算出选手A本局比赛后的等级分排名。

例如,棋手A等级分为1613,与等级分为1573的棋手B战平。若K取32,则A的胜率期望值为,约为0.5573,因而A的新等级分为1613 + 32 · (0.5 − 0.5573) = 1611.166

代码实现: 代码分析

Facemash中ELO等级分用来对进行女生的分数进行评比,从而确定哪些是最优质女生。

首先,每个女生都有一个基础分,这个基础分在一开始都是一样的1400分,可称作“旧等级分”,在供人评比之后,将会通过公式计算出“新等级分”。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
新等级分=旧等级分+K(胜负值-期望胜率) 
      K值是一个定值,不过电影里没说明K值为多少,于是自己假定一个10 
      胜负值很简单,对于胜者胜负值为1,对于负者胜负值为0(这里没有平手,所以忽略平手时的0.5) 
      期望胜率待会儿再说,先告诉大家,当比较的2个女生旧等级分相同时,期望胜率对双方都为0.5 

现在假定某人在A,B两位女生中选择了A,那么A的新等级分为1400+10(1-0.5)=1405,B的新等级分为1400+10(0-0.5)=1395

在经过一阵评选之后,就会产生2位女生等级分不同的情况,这时候就需要用第二个公式重新计算期望胜率。

现在假定第2个人在A,B两位女生中选择了A,那么对A来说新的期望胜率为1/(1+10(1395-1405/400))≈51.4%,对B来说新的期望胜率为1/(1+10(1405-1395/400))≈48.5%,A的新等级分为1405+10(1-0.514)=1410.14,B的新等级分为1395+10(0-0.485)=1389.86

源码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <bits/stdc++.h>
using namespace std;
 
#define win	    1;
#define loss 	0;
#define tie  	0.5;
 
class OBJ{ 
    public:
    	double Score; 
    	string Name;
		OBJ(string name){// 这是构造函数
		    this->Score = 1400 ;
		    this->Name = name;
		}
};
 
double getmean(OBJ obj1,OBJ obj2){//计算期望 
	return 1 / (1+pow(10,(obj1.Score - obj2.Score)/400));
}
 
void computeScore(OBJ &obj1,OBJ &obj2,double result){
	double mean1 =  getmean(obj1,obj2);
	double mean2 =  getmean(obj2,obj1);
	obj1.Score = obj1.Score + 10*(result - mean1);
	obj2.Score = obj2.Score + 10*(abs(result-1) - mean2);
} 
 
int main(){
	OBJ obj1("xiaoA");
	OBJ obj2("xiaoB");
	double result;
	while(1){
		cout << "输入比赛结果(1为A赢,0.5为平局,0为B赢,-1结束):  ";
		cin >> result;
		if(result == -1)break; 
		computeScore(obj1,obj2,result) ;
		cout << "比赛结束后A的分数为:" << obj1.Score<<endl; 
		cout << "比赛结束后B的分数为:" << obj2.Score<<endl;
	}
	cout << "game over,thanks"; 
    return 0;
}

运算结果:


  1. (Rb-Ra)/400 ↩︎
  2. (Ra-Rb)/400 ↩︎
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Elo 评分系统 和 TrueSkill库
Elo评分系统Elo rating system)是一种用于评估玩家或团队相对技能水平的评分系统,最初由匈牙利裔美国物理学家和统计学家阿尔帕德·埃洛(Arpad Elo)为国际象棋设计。如今,Elo评分系统被广泛应用于各种竞技游戏和体育赛事中,如围棋、电子竞技、足球等。
YaoQi
2025/07/14
1380
Elo 评分系统 和 TrueSkill库
使用python3.7.2 实现大名鼎鼎的Elo Score等级分制度
  ELO的应用非常广泛,大部分棋类比赛,现在流行的MODB游戏,像11平台的DOTA天梯系统,以及炉石传说匹配对手系统,都是采用ELO等级分。
用户9127725
2022/08/08
8120
使用python3.7.2 实现大名鼎鼎的Elo Score等级分制度
Python课程设计大作业:获取比赛数据并进行机器学习智能预测NBA的比赛结果
该篇是之前遗漏的大三上的Python课程设计。刚好今天有空就补发了一篇文章。全部的代码在最后附录中。爬虫类的代码直接全部放到一起了,读者可以自行研究。百度网盘可以私聊我进行获取。
程序员洲洲
2024/06/07
3810
Python课程设计大作业:获取比赛数据并进行机器学习智能预测NBA的比赛结果
用python基于2015-2016年的NBA常规赛及季后赛的统计数据分析
一、实验介绍 1.1 内容简介 不知道你是否朋友圈被刷屏过nba的某场比赛进度或者结果?或者你就是一个nba狂热粉,比赛中的每个进球,抢断或是逆转压哨球都能让你热血沸腾。除去观赏精彩的比赛过程,我们也
机器学习AI算法工程
2018/03/14
2.9K1
用python基于2015-2016年的NBA常规赛及季后赛的统计数据分析
《王者荣耀》游戏玩法与部分机制分析
《王者荣耀》是一款由腾讯天美工作室开发的MOBA类手机游戏,玩家通过控制不同的英雄角色进行对战,目标是摧毁对方的基地。游戏玩法多样,包括1V1、3V3、5V5、10V10等多种模式,玩家可以选择不同的游戏模式进行对战。
用户11315985
2024/10/16
1.1K0
《王者荣耀》游戏玩法与部分机制分析
号称在澳门100%赢钱的倍押法,真的可行吗?
最近比特币价格大跳水,多少炒币客爆仓,尤其是那些加了杠杆的更是倾家荡产。我就听说了身边一个因为借了巨额债务炒币血本无归最终自杀的case,这人刚结婚不久,老婆也才生了孩子,就发生了这样的悲剧,实在是令人唏嘘。
TechFlow-承志
2022/08/26
17.9K0
号称在澳门100%赢钱的倍押法,真的可行吗?
国产黑马与GPT-4o称霸中文榜首!Yi-Large勇夺国内LLM盲测桂冠,冲进世界第七
几周前,一个名为「im-also-a-good-gpt2-chatbot」的神秘模型突然现身大模型竞技场Chatbot Arena,排名直接超过GPT-4-Turbo、Gemini 1.5 Pro、Claude 3 Opus、Llama 3-70B等各家国际大厂的当家基座模型。
新智元
2024/05/22
4490
国产黑马与GPT-4o称霸中文榜首!Yi-Large勇夺国内LLM盲测桂冠,冲进世界第七
围棋选手比赛用AI作弊!协会判罚:取消成绩,禁赛一年
---- 新智元报道   编辑:David 袁榭 好困 【新智元导读】在著名棋手被棋迷揣测用AI作弊的公众声浪中,中国棋协首次处罚了在职业比赛中使用AI作弊的低段位选手。 人类的围棋比赛,不许用狗! 目前的围棋AI大都发端于著名的AlphaGo,所以在比赛中使用AI作弊,在圈内被称为「遛狗」(狗与GO谐音)。 狗子:「我也不想的」 3月15日,中国围棋协会公布了关于刘睿智初段使用AI作弊的处理通知。 通知提到,刘睿智初段比赛期间有多次违规行为。 经核实,刘睿智初段违反本次比赛「严禁使用人工智能」规
新智元
2022/03/21
1.1K0
竞技游戏匹配系统
随着王者荣耀与吃鸡的游戏全民化,匹配也深入人心,对于多人竞技游戏,通常是多个人组成一组对抗对面的多个人,队伍的输赢跟你匹配的队友有密切的关系,也正是由于这种机制,很多人吐槽系统分给自己的队友真的是垃圾,一顿操作猛如虎,一看战绩0-5。一般来说,现在的匹配系统考虑的因素还算全面,之所以遇到垃圾队友,跟自己的关系很大,电子竞技,菜是原罪。
changan
2020/11/04
2.8K0
竞技游戏匹配系统
lol匹配算法
这是Riot的Design Director Tom Cadwell专门为中国玩家写的解说匹配系统工作原理的帖子。
全栈程序员站长
2022/07/09
1K0
周末想围观人机德扑大赛?这有10条观(zhuang)战(bi)指南
授权转载自知乎,作者:李天放 “—— AI人机大战已经开战,来自中国的6位顶尖德扑高手对阵“冷扑大师”Libratus, 卡内基梅隆大学研发的无限扑克人工智能系统。点击查看相关推文《45小时德扑人机大战今日开战,冷扑大师多次受信号延迟之困》。 相信不少读者都想在周末观战一下这场人机大赛,尽管这场大赛的结局已颇明朗,在围观的时候还是有不少门道可以学(zhuang)习(bi),如果你跟我一样,同时对AI和德扑都非常感兴趣,来,以下10条观战指南拿好不谢! ——” 关于德扑AI有两个核心问题: "它是如何工作的?
大数据文摘
2018/05/25
6060
【重磅】AlphaZero炼成最强通用棋类AI,DeepMind强化学习算法8小时完爆人类棋类游戏
作者:闻菲,刘小芹,常佩琦 【新智元导读】或许“智能爆炸”不会发生,但永远不要低估人工智能的发展。推出最强围棋AI AlphaGo Zero不到50天,DeepMind又一次超越了他们自己,也刷新了世人对人工智能的认知。12月5日,包括David Silver、Demis Hassabis等人在内的DeepMind团队发表论文,提出通用棋类AI AlphaZero,从零开始训练,除了基本规则没有任何其他知识,4小时击败最强国际象棋AI、2小时击败最强将棋AI,8小时击败李世石版AlphaGo,连最强围棋AI
新智元
2018/03/20
1.7K0
【重磅】AlphaZero炼成最强通用棋类AI,DeepMind强化学习算法8小时完爆人类棋类游戏
DeepMind制霸《雷神之锤3》!碾压人类的超级多智能体这样训练
【新智元导读】虽然人类已经无望在电子竞技中打败AI多智能体,但DeepMind的研究仍在继续往前推进。最近他们公布了在强化学习方面的最新进展,并对未来进行了展望。AI智能体的能力还会继续提高吗?会有极限吗?
新智元
2019/06/03
6960
使用 Infer.NET 评价竞争对手
Infer.NET 是开放源代码的代码库,可用于创建概率性编程系统。我往往会将普通的计算机程序视作,主要基于有指定类型的值的变量(如有值“Q”的 char 变量)。概率性编程主要基于概率分布,如平均值为 0.0 且标准偏差为 1.0 的高斯分布。
AI.NET 极客圈
2019/08/30
6700
学界 | DeepMind 在多智能体强化学习方面又有了新进展,最新成果登上 Science 杂志!
AI 科技评论按:集体智能(collective intelligence)是人工智能研究浪潮中不可被忽视的重要课题。然而,智能体如何在边界开放、约束动态的环境下学习到知识,并且进行团队协作仍然是极具挑战的难题。DeepMind 近年来针对基于种群的多智能体强化学习进行了大量的研究,其最新研究成果近日发表在了国际权威杂志「Science」上。DeepMind 发博客将这一成果进行了介绍,AI 科技评论编译如下。
AI科技评论
2019/07/05
5930
学界 | DeepMind 在多智能体强化学习方面又有了新进展,最新成果登上 Science 杂志!
围棋天团告负!1v5英雄“狗”背后的原理概括
今天,中国围棋峰会进行到了第四天,AlphaGo挑战两种未曾体验过的比赛:人机配对赛和1v5的团体赛。 对于全新的比赛形式,棋圣聂卫平与AlphaGo之父哈萨比斯谈了这样的问题:如果让柯洁与AlphaGo搭档,对阵另外一台AlphaGo,究竟哪一方更厉害?参与人机配对赛的古力九段,则在赛前表示:要努力配合好AlphaGo才能有希望。 不幸的是,配对赛战到中局,跟古力合作的AlphaGo不愿再配合他,径直就要投降……但古力被逆转得实在不甘,断然拒绝投降。于是,赢棋无望AlphaGo开始乱走,不到8手棋,古
AI科技大本营
2018/04/27
1.1K0
围棋天团告负!1v5英雄“狗”背后的原理概括
【Nature重磅封面】Google人工智能击败欧洲围棋冠军,3月挑战世界冠军!
围棋一直被视为人工智能最难破解的游戏。就在今天,《Nature》杂志以封面论文的形式,介绍了 Google DeepMind 开发的人工智能程序 AlphaGo,它击败了欧洲围棋冠军樊麾,并将在 3 月和世界冠军李世乭对战!Google 特地为此准备了 100 万美元奖金。 从国际象棋的经验看,1997 年人工智能第一次打败人类后,2006 年成为了人类在国际象棋的绝唱,自此之后人类没有战胜过最顶尖的人工智能国际象棋选手。在 AlphaGo 打败了欧洲围棋冠军后,世界冠军李世乭和 AlphaGo 的对弈,
新智元
2018/03/14
1.6K0
【Nature重磅封面】Google人工智能击败欧洲围棋冠军,3月挑战世界冠军!
柯洁:我受够了AI围棋
鱼羊 萧箫 发自 凹非寺 本文转账 量子位 | 公众号 QbitAI “我受够了AI围棋。” 中日韩三国围棋擂台赛赛后,完败于韩国棋手申真谞的柯洁,在社交媒体上留下了这样的字句。 这场比赛中,一向有“申工智能”之称的申真谞展现出了恐怖的统治力,在AI绝艺的判断中,他的胜率全盘未低于46.8%。 △图源:野狐围棋 更令人惊讶的是,执白的申真谞在这盘棋中,与AI的吻合率达到了65.8%。 △图源:野狐围棋 柯洁在赛后也惊呼: 这还是人类吗? 今天这个掌控力感觉比当年阿法狗都要强了,围棋已经完全没法下了
纯洁的微笑
2022/03/28
5460
不只是围棋!AlphaGo Zero之后DeepMind推出泛化强化学习算法AlphaZero
选自arXiv 作者:David Silver等 机器之心编译 在 DeepMind 发表 Nature 论文介绍 AlphaGo Zero 之后,这家公司一直在寻求将这种强大算法泛化到其他任务中的可能性。昨天,AlphaGo 研究团队提出了 AlphaZero:一种可以从零开始,通过自我对弈强化学习在多种任务上达到超越人类水平的新算法。据称,新的算法经过不到 24 小时的训练后,可以在国际象棋和日本将棋上击败目前业内顶尖的计算机程序(这些程序早已超越人类世界冠军水平),也可以轻松击败训练 3 天时间的 A
机器之心
2018/05/09
7800
不只是围棋!AlphaGo Zero之后DeepMind推出泛化强化学习算法AlphaZero
1-10落败,5分钟崩盘!星际2职业高手史上首次被AI击溃,AlphaStar一战成名
DeepMind开发的全新AI程序AlphaStar,在今天凌晨的《星际争霸2》人机大战直播节目中,轻松战胜2018 WCS Circuit排名13、神族最强10人之一的MaNa。
量子位
2019/04/24
5100
1-10落败,5分钟崩盘!星际2职业高手史上首次被AI击溃,AlphaStar一战成名
推荐阅读
相关推荐
Elo 评分系统 和 TrueSkill库
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档