(转载/原创) 从《社交网络》以及美女排名系统看问题

image

     引言:《社交网络》没有拿到奥斯卡奖,也在情理之中,不符合那学院派的风格嘛。

     大概是2个月前看的这部电影,没有过多关注拍摄手法、演技等电影元素,关注的是Jesse Eisenberg对Mark的人物演绎。人和人是有差距的,这点我很赞同。那么,我和Mark之间的差距在哪?

     来分析下:

Mark是一个Geek(褒义的),我是一个伪Geek。

Mark对技术狂热,热到可以不吃不睡以及禁欲,我对技术热爱,爱到可以不吃晚睡但不会禁欲。

Mark可以心无旁骛的钻研,我可以左顾右盼的学习。

是的,差距就是这样来的,可能我较Mark好的就是,我对衣着的品位还是好一点,毕竟Mark去年被英国时尚杂志《Esquire》评为十大着装品位最差男人之一嘛,哈哈,玩笑话……

     来说说正事吧,一直对Mark的Facemash对女孩评分的算法感兴趣,今天琢磨了一下,写写心得体会。

     该排名系统出自Elo Rating System,根据维基百科的介绍:

     The Elo rating system is a method for calculating the relative skill levels of players in two-player games such as chess. It is named after its creator Arpad Elo, a Hungarian-born American physics professor.

     Elo rating system是一个用于计算两人对战模式中参赛者相对技术水平的方法,如象棋。是根据它的创造者匈牙利裔美国物理学家Arpad Elo命名的。

     The Elo system was invented as an improved chess rating system, but today it is also used in many other games. It is also used as a rating system for multiplayer competition in a number of computer games,[1] and has been adapted to team sports including association football, American college football and basketball, and Major League Baseball.

     这个系统最初设计用来改善国际象棋排名系统,但是现在也用在其它比赛中。同样也可以用在多人竞技的电脑游戏的排名系统,也被团队运动所采纳,如足球比赛、美国大学足球和篮球比赛和棒球联盟比赛。

     Elo假设:

     1.参赛选手在每次比赛中的表现成正态分布;后来普遍认为Logistic分布更为合理(抱歉,由于专业和知识限制,无法解释以及理解Logistic分布)

     2.在一局比赛中,赢的一方被认为表现较好,输的一方被认为表现较差;若平局,则双方表现大致相当。虽然这个假设貌似很稀松平常。

     算法如图:

clip_image003

     Ea为选手A的期望表现,Ra为选手A当前的等级分排名。

     当选手A和B进行比赛时,可根据公式算出两选手的期望表现。

              Ea + Eb=1

     胜方得1分,负方得0分。(在电影中,不会出现平局)

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

clip_image004

     Sa为选手A本局的得分(1或0),Ra为选手A的期望表现。K为常数,在大师级象棋赛中通常取16。得到的Ra’为选手本局比赛后的等级分排名。

     初始可认为每个人的等级分排名为0。

     第一局是A和B进行比赛。此时Ra=Rb=0,Ea=Eb=0.5。

     假设本局A胜B负,则A的得分为1,B的得分为0。

               Ra'=0+16*(1-0.5)=8

               Rb'=0+16*(0-0.5)=-8

     上面的算法过程主要是转载的豆瓣网友的,原文请看参考资料。

     通过Mark创建Facemash给我的启发很大:第一,数学非常重要。第二,其实看似很高深的东东,放到生活中就会那么有趣。不过,前提得是你知识的深厚与渊博,这也是我考研的一个目的,尽管落榜了T_T。

参考资料

 http://en.wikipedia.org/wiki/Elo_rating_system
 http://www.douban.com/note/122191956/
posted @   小e_伟  阅读(452)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示