社交网络中的扎克伯格霸气外露,但是,很多人其实还是对他的好友帮他设计的 “投石机算法”,也就是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为止),我的七场比赛的情况是,负负胜胜胜负胜,最终很遗憾 的,没有入段,现在和一个私人围棋教练苦练中,那位妹纸应该会觉得很诧异吧,真的就差那么一点点,就入段了。

转载于:https://www.cnblogs.com/tuanzang/archive/2013/04/25/3042299.html

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

  1. 吴昊品游戏核心算法 Round 16 ——吴昊教你玩口袋妖怪 第三弹 地洞谜题

    这样的场景我们应该经常遇到的吧,哈哈! 口袋妖怪的地洞要算是最令人讨厌的了,因为,有些地洞是全黑的,你即使用了闪光灯(必选道具#03),你有时也只能用GBA外壳的荧光屏作为道具才能将整个地洞看清楚. ...

  2. 吴昊品游戏核心算法 Round 17 —— 吴昊教你玩拼图游戏 序

    如图所示,此人就是<死亡笔记>中最终击败夜神月的尼亚(当然,他在击败夜神月的过程中,利用了梅洛的一些帮助),尼亚喜欢玩各种玩具,比如乐高啊,多米诺骨牌啊等等,当然,他最喜欢的仍然是拼图.他 ...

  3. 吴昊品游戏核心算法 Round 9 —— 正统黑白棋AI(博弈树)

    黑白棋程式简史 在1980年代,电脑并不普及,在黑白棋界里,最强的仍然是棋手(人类). 到了1990年代初,电脑的速度以几何级数增长,写出来的黑白棋程式虽然仍然有点笨拙,但由于计算深度(电脑的速度快) ...

  4. 吴昊品游戏核心算法 Round 17 —— 吴昊教你玩拼图游戏(8 puzzle)

    如图所示,这是一个九宫格(这倒是让我想起了小时候老师在黑板上教导我们的如何通过一系列的拼凑,将横行,竖行,以及斜行都拼到和相等),格子中有一个格子是空的,另外八个格子分别有数字1--8,我们的任务是将 ...

  5. 吴昊品游戏核心算法 Round 18 —— 吴昊教你玩Zen Puzzle Garden

    如果你认为无法因为玩一个电脑游戏而达到精神的顿悟,你可能是正确的.不过你完全可以试着解决一个禅宗花园发生的难题,从而达到静心的精神状态.   这个游戏是获得2003年独立游戏节提名的精品游戏,在注重游 ...

  6. 吴昊品游戏核心算法 Round 10 —— 吴昊教你下围棋(利用递归来解决吃子的问题)...

    如图所示,此即为日本动漫棋魂中的千年佐为,也就是SAI.众所周知,围棋的规则相比于中国象棋,国际象棋等等都简单许多,真是因为更简单的规则,才诞生 了更复杂的逻辑.目前的围棋AI还很不行,最NB的应该是 ...

  7. 吴昊品游戏核心算法 Round 16 —— 吴昊教你玩口袋妖怪 第九弹 冰系道馆

    道馆之战!!!这一次,道馆由电系变为了冰系,和龙系的道馆不一样,冰系的道馆有冰系的规定.如图所示,一共有三层,上面一层总是比下面一层要复杂一些.在冰系道馆中,有如下的两个规则:(1)我们不会在冰面上划 ...

  8. 吴昊品游戏核心算法 Round 16 —— 吴昊教你玩口袋妖怪 第四弹 拉帝亚斯?!拉帝欧斯?!...

    作为讲述口袋妖怪的Round 16,这里,我会采用"夹叙夹议,夹议夹叙"的模式进行编排.也就是在议论一些口袋妖怪中的小游戏的核心算法的同时,叙述一下我对口袋妖怪的理解以及我与这一系 ...

  9. 吴昊品游戏核心算法 Round 15 —— (转载)德州扑克中的心理战

    在我的Round 15中的德州扑克的AI中,设计者曾经赋予了德州扑克一种不错的心理恐吓算法,具体地说,是如下的战术: 如果RR<0.8,那么95%选择弃牌,0%选择叫牌,5%选择加倍(这里加倍的 ...

  10. 吴昊品游戏核心算法 Round 5 ——(转载)关于无禁手下先手必胜的证明

    关于五子棋先手必胜的证明,用人工的方式过于复杂,其难度相当于证明四色定理的正确性或者是若儿当定理的正确性.但是,如果采用计算机来解决,则复杂程度 会降低许多.由于很难地毯式地枚举到所有可能的情形,这一 ...

最新文章

  1. HttpURLConnection 请求
  2. bitcoin cash的地址格式 cash addr 简介
  3. Android与服务进程内通信
  4. php开发入门,PHP开发入门教程之面向对象
  5. Skype for TV停止支持 三星确认今年6月移除该应用
  6. matlab 误差椭圆,求3倍标准差误差椭圆分析的程序
  7. GetModuleHandle
  8. 基于贪心算法求解TSP问题(JAVA)
  9. reg文件编写方法整理
  10. 微信域名防封的3种方案
  11. QThread: Destroyed while thread is still running 解决方法
  12. C# 驱动级模拟键盘输入
  13. python读取中文txt乱码问题
  14. javascript基础06
  15. 书单分享:阅读应该是一种享受
  16. 成都的IT研发产业和芯片产业等情况:2006年初的数据。
  17. 查看qq空间说说及评论,设置相关表结构
  18. 浅析FeiQ解密函数的使用
  19. 微星GL62M笔记本-win10+Ubuntu18.04 双系统 配置
  20. 连了热点可以用qq却不能用浏览器

热门文章

  1. 使用位运算求正数的相反数
  2. 滚雪球学 Python 第二轮封笔之文,类函数、成员函数、静态函数、抽象函数、方法伪装属性
  3. 【Python】遗传算法求解二元函数最值
  4. 主成分之综合竞争力案例分析
  5. 2018-3 至2018-5 菜鸟初涉
  6. 国内比较好的云服务提供商有哪些?
  7. 瞎聊高速公路与主干道的立交匝道设计
  8. 机器人计算机技术,机器人技术与应用
  9. HTML实现猜数字游戏
  10. C++实现推箱子游戏