吴昊品游戏核心算法 Round 18 —— 吴昊教你把妹纸 第一弹 facemash中的妹纸性感程度PK算法
其实,在全世界的软件企业中(包括移动互联网),美国的一些巨头公司的老总也不一定都是GEEK,比如GOOGLE公司的两位神奇小子,一个是内心热爱正 义的数学爱好者,另一位是痴迷于乐高积木游戏的玩具爱好者,而这两位奇才,创立了众人皆知的GOOGLE公司。另外,关于乔布斯的苹果公司,我就不想再多 说了,与其说乔布斯是一个企业家,还不如说他是一个艺术家,他让他的苹果系列成为了一个艺术品,而不单单是一部智能手机。
所谓的Facemash,根据电影《社交网络》,其实现其实是这样的。很偶然地一个经历,扎克伯格和他的女友分手了,据说是因为其女友觉得扎克伯格说话太 客观,而不感性(当然,作为一个Programmer,这也没有什么),之后,扎克伯格为了报复她,在他自己的博客上发布了很多关于她的事情,最后索性建 立了一个名叫facemash的网站,通过盗用整栋哈佛女生宿舍的艳照,来为其网站建立数据资源,然后每次将两位性感美女的照片作为PK的界面。如图,这 是华科的学生模仿的facemash。浏览者在进行选择的时候,考虑左边和右边的妹纸,哪一位更加性感,然后,选择一个他/她所认为最性感的妹纸,输入名 字,系统会进行分析,然后再根据相应的算法(这里是用扎克伯格那位学经济学的室友给出的投石机算法)得到一个更新后的对每个妹纸的赋值。通过不断的迭代, 最后得到妹纸性感程度的最理想的描述值(当然,这里有一个小前提,就是说,每个男的,他在评定的时候必须是客观,理性而没有邪念的。如果他被那位妹纸收买 了的话,那么后果是神马,可想而知^_^)
该算法可是导致了整个哈佛的互联网瘫痪了的哦!
首先还是纠正一个错误,如第一幅图所示,那位室友写出的算法有问题,应该是10的幂次,而不是乘积。因为,如果理解为乘积的话那有些东西就说不通了,因 为,如果两者的等级分差过大的恶化,会造成分母为负数,从而期望为负,那么,那位妹纸不就永远都不能翻身了么?(极端不性感)
根据Wiki的介绍,此排名系统出自于匈牙利裔美国物理学家Arpad Elo,最初应用于国际象棋排名,现在也广泛应该于足球、篮球等运动。中文称为等级分排名。
Elo假设:
1.参赛选手在每次比赛中的表现成正态分布;后来普遍认为Logistic分布更为合理
2.在一局比赛中,赢的一方被认为表现较好,输的一方被认为表现较差;若平局,则双方表现大致相当。虽然这个假设貌似很稀松平常
算法如图:
当选手A和B进行比赛时,可根据公式算出两选手的期望表现。
Ea+Eb=1
胜方得1分,负方得0分。(在电影中,不会出现平局)
如果选手的表现比期望要好,那么此选手的排名应该上升。相反,若表现不如期望,则排名会下降。
Sa为选手A本局的得分(1或0),Ea为选手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
所以每进行一次比赛,就会有新的等级分排名产生。4小时内巨大的参加人数与点击量,让这个游戏格外邪恶也好玩儿。毕竟都是自己周围的妹纸XD。
话说,当年我在电子科大的时候,参加成都棋院的定段赛,就是采用“记大分+小分”的算法,每胜一个人记2分,败了不记分,在记大分的同时记小分,牛B的和 牛B的一起PK,记的小分也多一些(小分是不断累积的,如果你失败的话,会减少小分,减到0为止),我的七场比赛的情况是,负负胜胜胜负胜,最终很遗憾 的,没有入段,现在和一个私人围棋教练苦练中,那位妹纸应该会觉得很诧异吧,真的就差那么一点点,就入段了。