`

《社交网络》中Facemash算法分析

 
阅读更多

在电影《社交网络》的开始有这么一段,扎克博格由于被女友甩了,所以需要做一个网站(www.facemash.com),用来推选哈佛最漂亮的女 生。网站的逻辑非常的简单,就是系统从照片库中随机挑出两幅女生照片,选择两者较“美”者。就是这么一个网站在上线两小时(周末凌晨两点到四点)内点击量 达到了2万2千次,从而导致了哈佛网络的瘫痪。(备注:最近华中科技大学女生的照片也被类似的放到了网上评比,并且使用山寨的域名www.hust- facemash.com)

信息的关注应该注意到,上述功能中涉及到一个排名规则,是由扎克博格那位同学提供的,他把公式写在了窗户上,如下截图:

上面的公式主要作用作用是用来对进行女生的分数进行评比,从而确定哪些是最优质女生。不过让人遗憾的是电影中给出的这个公式是错误的公式,真正的公式应该如下:

即分数线下方是1+10的幂次,而非10的倍数。上诉的排名公式并非扎克博格等人原创,而是出自匈牙利裔美国物理学家Arpad Elo,这算法叫作: Elo Rating ,最初应用于国际象棋排名,现在也广泛应该于足球、篮球等运动。中文称为等级分排名。

下面就来对算法进行解读,Arpad Elo认为:

  1. 参赛选手在每次比赛中的表现成正态分布;后来普遍认为Logistic逻辑斯蒂)分布更为合理。
  2. 在一局比赛中,赢的一方被认为表现较好,输的一方被认为表现较差;若平局,则双方表现大致相当。

公式中出现的

Ea/Eb为选手A/B的期望值,即A/B选手获胜的概率。当选手A和B进行比赛时,可根据公式算出两选手的期望表现。

Ra/Rb为选手A/B当前的等级分排名。

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

Sa为选手A本局的得分(1或0),K为常数,数值越大比分变动越快,在大师级象棋赛中通常取16。用这个公式来计算出选手A本局比赛后的等级分排名。

另外关于Logistic的分布图如下:

分享到:
评论

相关推荐

    Facemash:马克·扎克伯格(Mark Zuckerberg)设计的哈佛臭名昭著的Facemash的克隆

    该网站是电影“社交网络”中显示的网站“ Facemash”的实现。 它具有相同的外观。 它使用经典的Elo公式。 可以将要洗牌的照片存储在同一文件夹中名为facepics的文件夹中。 图片的格式应为“ image(number).jpg”...

    beautiful-girls:比较喜欢《社交网络》里的Facemash,自己动手做了一个

    beautiful-girls##(1)写在前面 看了《社交网络》之后,觉得Facemash这个点子很有意思,就产生了自己仿制一个的想法。奈何当时比较菜(比现在还菜),所以迟迟没有动手。后来接触了spring系框架之后,决定把这个...

    Facemash-源码.rar

    Facemash-源码.rar

    FaceMash:哈佛大学马克·扎克伯格制作的著名网络应用程序的实现

    面糊哈佛大学马克扎克伯格制作的著名... 要将图像加载到数据库中,只需将图像移动到 /img 文件夹中,然后在浏览器中导航到 facemash/zing。 Zing 是一个脚本,它将执行并将图像路径拉入数据库。 你已经启动并运行了!

    react-Facemash使用React实现最喜欢用户投票的功能

    Facemash:使用React实现最喜欢用户投票的功能

    facemash-clone

    罗素的Facemash克隆 注意:该项目包含来自两个较旧版本库的更新/当前代码: Dopple(主要是index_non_dopple.php)和 (作为/ non-dopple /文件夹)。 在那些GitHub存储库中(例如“ ELO-Node-Regular-Voting-App”...

    facemash:使用功能强大的ExpressJS构建完整的NodeJS MVC框架

    这个想法是要在ExpressJS的上下文中演示自定义MVC架构。 首先,我于2013年在大学里用php开发了“ facemash”。2016年初,我对NodeJS产生了兴趣,并决定在功能强大且不受人欢迎的expressJS之上构建自定义的MVC框架...

    faceclash::eyes:Faceclash是Mark Zuckerberg于2003年创作的Facemash的翻拍

    我在2016年10月中旬至2016年11月间制作的游戏的源代码,使我的学校有些受激。 它最初是使用SQL,AJAX和Elo评分算法进行的学习实验。 这款游戏的灵感来自马克·扎克伯格(Mark Zuckerberg)的《 Facemash》(2003年)...

    hotshottt:Facemash for Dribbble,在 Sinatra

    Hotshottt 是用于 Dribbble 投篮的 Facemash。 编码 这里是龙,孩子们。 这里的 Ruby 代码很丑陋。 这是我的第一个 Sinatra 应用程序之一。 所有前端 HTML/CSS 都是由 @nbashaw 编写的。 应用程序 版权 版权所有 (C)...

    ui-ranking:基于Facemash进行UI美学属性排名的实验

    在项目根目录的“图像”目录中添加扩展名为“ .jpg”的文件 运行将探索目录的脚本(test.js),并使用以下cmd创建带有文件名的json结构 nodejs test.js 结果为“ null”。 没关系。 您现在可以使用新图像测试该应用...

    facebook 效应

    扎克伯格和几个朋友鼓捣出了一个叫 Facemash的程序,并且意外地一炮走红。尽管扎克伯格因为这件事情差点被迫退学,但它也清晰地传达了一个信号:扎克伯格能够创造出让用户爱不释手的产品

    facebook效应

    书扎克伯格和几个朋友鼓捣出了一个叫 Facemash的程序,并且意外地一炮走红。尽管扎克伯格因为这件事情差点被迫退学,但它也清晰地传达了一个信号:扎克伯格能够创造出让用户爱不释手的产品。

    Ranqet

    像Facemash一样,提供了两个选项,用户选择一个,前端将获胜者发送到后端。 用户可以按ELO得分的顺序查看列表中所有项目的汇总排名,既可以是全局的(只有在避免任何偏见的情况下才能使用,除非进行测验,否则不...

Global site tag (gtag.js) - Google Analytics