吳昊品游戲核心算法 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為止),我的七場比賽的情況是,負負勝勝勝負勝,最終很遺憾 的,沒有入段,現在和一個私人圍棋教練苦練中,那位妹紙應該會覺得很詫異吧,真的就差那么一點點,就入段了。

 


  




 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM