首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SVT-AV1:开源编解码最新进展
文/ Andrey Norkin, Joel Sole, Mariana Afonso,Kyle Swanson, Agata Opalach, Anush Moorthy, Anne Aaron
LiveVideoStack
2020/04/02
9260
SVT-AV1:开源编解码最新进展
Intel可扩展视频技术(SVT)
原标题:Scalable Video Technology for the Visual Cloud
用户1324186
2019/05/08
3.1K0
Intel可扩展视频技术(SVT)
AV1编码器速度和压缩率达到点播实用级别
时光飞逝,2019年的春天我们听着5G时代的呼喊,瞧着超高清趋势活泼的枝头,一幅春意盎然的大视频美景扑面而来。整个视频产业被推向高潮,其背后的视频编码技术功不可没,时下三个标准组织齐头并进,构成目前视频编码标准的主流:
LiveVideoStack
2021/09/01
2.3K0
HEVC、AV1、VVC:如何理解2019年的编解码器世界
本文讨论了HEVC,AV1和多功能视频编码(VVC)的当前状态,回顾了每种编码器在最近一年的进展。您将从开发者的角度了解每个编解码器的最新进展,包括从编码耗时、成本与编码质量等方面得出的对比结果,并获悉编解码器市场在过去几年中的发展趋势以及编码器的意义与价值。 文 / Jan Ozer 整理 / LiveVideoStack 我们关心的是什么? 我们知道,有史以来最成功的两个编解码器是MPEG-2和H.264,但这两种编解码器主要是为广播市场定制,与流媒体没有太大关系。编码器标准对于广播领域的价值在于可以从
LiveVideoStack
2019/09/17
3.1K0
HEVC、AV1、VVC:如何理解2019年的编解码器世界
腾讯自研新一代AV1编解码器
  //   编者按:近年来,腾讯云在编解码领域投入了许多,不同于许多厂商基于开源方案做增强,腾讯从2017年就开始自研编解码器包括现在的AV1。LiveVideoStackCon 2022音视频技术大会上海站邀请到腾讯云香农实验室编解码器研发负责人张贤国老师,为大家介绍腾讯自研AV1编解码器。 文/张贤国 整理/LiveVideoStack 本次和大家分享的主题是《腾讯自研新一代AV1编码器》,距离我上一次2019年在LiveVideoStackCon2019北京站演讲已经过去了快三年,这次就和大家分享
LiveVideoStack
2022/08/26
1.3K0
腾讯自研新一代AV1编解码器
RealNetworks CTO:我们追求低复杂度的软解码
原文:http://www.streamingmedia.com/Articles/Editorial/Featured-Articles/NAB-2018-Reza-Rassool-Talks-RealNetworks-HD-124400.aspx
LiveVideoStack
2021/09/01
4750
性能可期——Netflix与Intel优化SVT-AV1
文 / AndreyNorkin, Joel Sole, Kyle Swanson, Mariana Afonso, Anush Moorthy, Anne Aaron
LiveVideoStack
2019/07/01
1.1K0
性能可期——Netflix与Intel优化SVT-AV1
Twitch未来五年的视频编码战略:从H.264到 AV1
今年的NAB2019上,资深编解码技术专家Jan Ozer采访了Twitch的首席研发工程师沈悦时博士,沈博士从编解码器的角度讨论了Twitch对于视频新技术的实践与探索,同时介绍了Twitch未来五年在流媒体技术战略方面的布局。他认为,五年后Twitch的头部以及尾部内容将100%使用AV1编码。 文 / Jan Ozer 译 / 郭俊翔 原文 https://www.streamingmedia.com/Articles/Editorial/Featured-Articles/NAB-2019-Twit
LiveVideoStack
2019/07/01
1.5K0
AV1,实时编码READY
一款编码器的成功,不仅需要大量的金钱,还需要耐心。AV1定稿三年后,是时候为它庆祝了。
全栈程序员站长
2022/09/30
1K0
AV1,实时编码READY
Netflix在安卓移动启用AV1格式 较VP9编码效率提升20%
6日5日,Netflix在其科技博客宣布在安卓手机移动客户端启用AV1。AV1是一款高性能、免版税的视频编解码器。Netflix透露,AV1的压缩效率比原来使用的VP9编码提高了20%。开放媒体联盟(AOMedia)内对专业知识和知识产权的广泛行业承诺使AV1成为可能,Netflix是该联盟的创始成员之一。
LiveVideoStack
2020/02/10
5110
EVC,VVC,LCEVC 测试:最新的 MPEG 编解码器性能如何?
据我所知,这是第一次有研究对代表基本视频编码(Essential Video Coding,EVC)、通用视频编码(Versatile Video Coding,VVC)和低复杂度增强视频编码(Low Complexity Enhancement Video Coding,LCEVC)的编解码器以及 AV1、HEVC 和 H.264 的质量和性能进行比较。它并不像我希望的那样详尽,但结果应该有助于你了解三个较新的 MPEG 编解码器的目标,以及它们与旧编解码器的对比情况。
用户1324186
2022/02/18
4.8K0
EVC,VVC,LCEVC 测试:最新的 MPEG 编解码器性能如何?
视频编解码器的现状 (2022)
在这个 2022 年的编解码器进展中,我将介绍去年与 H.264、VP9、HEVC、AV1、多功能视频编码(VVC)、低复杂度增强型视频编码(LCEVC)和基本视频编码(EVC)有关的最重要的公告。编解码器有很多,但篇幅有限,所以本文只是简单介绍。
用户1324186
2022/05/25
2.3K0
视频编解码器的现状 (2022)
编解码器之战:AV1、HEVC、VP9和VVC
原文 http://www.streamingmedia.com/Articles/Editorial/Featured-Articles/At-the-Battle-of-the-Codecs-Answers-on-AV1-HEVC-and-VP9-128213.aspx
LiveVideoStack
2021/09/01
1K0
激进or务实?HEVC、AV1 和私有Codecs现状
原文:http://www.streamingmedia.com/Articles/Editorial/Featured-Articles/NAB-Roundup-The-State-of-HEVC-AV1-and-Proprietary-Codecs-124455.aspx
LiveVideoStack
2021/09/01
6220
英特尔SVT-AV1 0.8 AV1视频编码基准发布
来自Phoronix的MichaelLarabel在12月20日撰写了一篇题为SVT-AV10.8带来更多的AVX2AVX-512优化,多线程解码支持的文章。
LiveVideoStack
2020/01/03
1.2K0
英特尔与博雅睿视共同发布SVT-AVS3实时编码器
作为LiveVideoStackCon 2019的收官之作,在经过了组委会四个月以来的精心筹备,这场国内顶级音视频技术交流峰会最终于12月14号,在位于南山区圣淘沙酒店翡翠店正式落下帷幕。
LiveVideoStack
2020/01/10
8930
视频压缩世界中的挑战
本次演讲来自PCS2021,演讲者是来自Netflix视频编码算法团队的的Kyle Swanson和Mariana Afonso,主要将谈论Netflix是如何处理视频压缩以及存在的一些挑战。
用户1324186
2021/07/29
9450
NAB 2019见闻:CAE视频编码与QoE
资深编解码技术专家Jan Ozer撰文总结描述了其在NAB 2019大会中的见闻,文章介绍了CAE视频编码的几种阶梯展现,以及如何减少带宽并提高体验质量。 文/ Jan Ozer 译/ 元宝 原文
LiveVideoStack
2019/07/01
1.3K0
NAB 2019见闻:CAE视频编码与QoE
Intel和AMD的最新视频编码/解码基准测试
鉴于英特尔可扩展视频技术(SVT)开源视频编码器以及其他开源视频编码器/解码器的最新更新,以下是AMD 霄龙 7742 双路服务器在与英特尔竞争的情况下与之抗衡的最新表现,同时让我看看AMD在企业
LiveVideoStack
2019/10/23
2K0
Intel和AMD的最新视频编码/解码基准测试
航拍 HDR 视频的 VVC 和 AV1 编码
视频产业现在处于一个十字路口,巨大的视频服务行业每年价值约 2000 亿美元。视频占互联网所有流量的 80%,这个比例还在增长。而在这 80% 的流量中,80% 是由 H.264 比特流组成的 -- 这是当今主流的视频编解码器。但 H.264 是在 2003 年实现标准化的,整整 18 年了,现在时机已经成熟,需要一个更新、更强大的编解码器来取代它。
用户1324186
2021/11/15
2.3K0
推荐阅读
相关推荐
SVT-AV1:开源编解码最新进展
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验