吴昊品游戏核心算法 Round 18 —— 吴昊教你把妹纸 第一弹 facemash中的妹纸性感程度PK算法

 

  

  社交网络中的扎克伯格霸气外露,但是,很多人其实还是对他的好友帮他设计的 “投石机算法”,也就是facemash网站中比较两个妹纸的性感程度的算法印象深刻吧!所以,我想到了写一个《吴昊教你把妹纸》以及它的外传《吴昊教你 把妹纸(后宫特别篇)》。这两篇也作为Round 11讲比尔盖茨的姊妹篇,今日描述的是扎克伯格。

  其实,在全世界的软件企业中(包括移动互联网),美国的一些巨头公司的老总也不一定都是GEEK,比如GOOGLE公司的两位神奇小子,一个是内心热爱正 义的数学爱好者,另一位是痴迷于乐高积木游戏的玩具爱好者,而这两位奇才,创立了众人皆知的GOOGLE公司。另外,关于乔布斯的苹果公司,我就不想再多 说了,与其说乔布斯是一个企业家,还不如说他是一个艺术家,他让他的苹果系列成为了一个艺术品,而不单单是一部智能手机。

 

  

  但是,更多的人还是比较崇拜那种企业家本身也是一位比较牛B的GEEK的吧! 比如扎克伯格的FACEBOOK和比尔盖茨的MICROSOFT,极客的魅力不仅仅在于他可以于一瞬间完成一些常人要思考许久才能解决的问题,单从其霸气 外露的眼神中,我们就已经可以看出他所带给我们的震撼了。

  所谓的Facemash,根据电影《社交网络》,其实现其实是这样的。很偶然地一个经历,扎克伯格和他的女友分手了,据说是因为其女友觉得扎克伯格说话太 客观,而不感性(当然,作为一个Programmer,这也没有什么),之后,扎克伯格为了报复她,在他自己的博客上发布了很多关于她的事情,最后索性建 立了一个名叫facemash的网站,通过盗用整栋哈佛女生宿舍的艳照,来为其网站建立数据资源,然后每次将两位性感美女的照片作为PK的界面。如图,这 是华科的学生模仿的facemash。浏览者在进行选择的时候,考虑左边和右边的妹纸,哪一位更加性感,然后,选择一个他/她所认为最性感的妹纸,输入名 字,系统会进行分析,然后再根据相应的算法(这里是用扎克伯格那位学经济学的室友给出的投石机算法)得到一个更新后的对每个妹纸的赋值。通过不断的迭代, 最后得到妹纸性感程度的最理想的描述值(当然,这里有一个小前提,就是说,每个男的,他在评定的时候必须是客观,理性而没有邪念的。如果他被那位妹纸收买 了的话,那么后果是神马,可想而知^_^)

 

  

  计算两位妹纸性感程度的算法

  该算法可是导致了整个哈佛的互联网瘫痪了的哦!

  首先还是纠正一个错误,如第一幅图所示,那位室友写出的算法有问题,应该是10的幂次,而不是乘积。因为,如果理解为乘积的话那有些东西就说不通了,因 为,如果两者的等级分差过大的恶化,会造成分母为负数,从而期望为负,那么,那位妹纸不就永远都不能翻身了么?(极端不性感)
  根据Wiki的介绍,此排名系统出自于匈牙利裔美国物理学家Arpad Elo,最初应用于国际象棋排名,现在也广泛应该于足球、篮球等运动。中文称为等级分排名。
  Elo假设:
  1.参赛选手在每次比赛中的表现成正态分布;后来普遍认为Logistic分布更为合理
  2.在一局比赛中,赢的一方被认为表现较好,输的一方被认为表现较差;若平局,则双方表现大致相当。虽然这个假设貌似很稀松平常

  算法如图:

 

   

  Ea为选手A的期望表现,Ra为选手A当前的等级分排名。
  当选手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。

 

  

   这里举出一个具体的例子,假 设Rb=1200,Ra=1600,看看这将会发生什么。这里的A是强于B的,所以,当B输了的话,A赢得理所应当,甚至,没有什么稀奇的,只是胜了一个 比自己弱400点经验值的人嘛!所以,双方的经验修正值只会变动2.9。但是,如果A输给了B的话,就会被很多人理解为无法接受——这也很正常,你那么强 大,怎么可以输掉的呢?于是,我们用一个How Pathetic!来形容这起事件,A的经验值会以经验K成正比的速度下降,其变动的绝对值甚至是A赢B变动的经验的绝对值的10倍左右!输不起呀。

 

  

  这里@一下宋遥学弟,这是2013年智运会的海选界面,那么,找妹纸的原理可 以追溯到这里来。没有错,2013年的全国网络智运会会先进行海选,为了避免那种传统的循环赛啊,淘汰赛啊很死板的模式,这里采用了一种任意选择对手进行 PK的算法。也就是我们上面所述的“投石机算法”,两位棋手比较的时候,可以以当前的胜率作为参照,加上这一盘的胜负,对总胜率进行一定的调整。

  话说,当年我在电子科大的时候,参加成都棋院的定段赛,就是采用“记大分+小分”的算法,每胜一个人记2分,败了不记分,在记大分的同时记小分,牛B的和 牛B的一起PK,记的小分也多一些(小分是不断累积的,如果你失败的话,会减少小分,减到0为止),我的七场比赛的情况是,负负胜胜胜负胜,最终很遗憾 的,没有入段,现在和一个私人围棋教练苦练中,那位妹纸应该会觉得很诧异吧,真的就差那么一点点,就入段了。

 


  




 



posted on 2013-04-25 13:07  吴昊系列  阅读(1901)  评论(13编辑  收藏  举报

导航