本文轉載自:https://www./ 作者:XYPENG ELO Rating System 是當今對弈水平評估的公認權威規則,已被廣泛應于國際象棋、圍棋、足球和籃球等體育運動以及游戲中。例如星際爭霸天梯排行,魔獸世界競技場,Dota天梯系統,LOL匹配等游戲的競技比賽系統中。ELO是一套較為完善的評分規則和機制,比較適合對競技類游戲的選手的技術等級進行評估,用以計量個體在對決類比賽中相對技能的算法系統,對于游戲而言,需要讓每場游戲盡可能的接近公平,創造雙方勢均力敵的競賽環境。它最初由美國物理學教授 Arpad Elo 創立,故命名為埃羅排名。 一、ELO Rating System模型思路 1.假設每個玩家每盤游戲中的表現是一個正態分布的隨機變量,盡管選手在不同的游戲中發揮可能差異很大,但每位選手在一段時間內表現的平均值變化很小,ELO系統用隨機變量的平均值來代表選手的真正水平。 2.ELO系統用勝平負來評價選手在某一場游戲中的表現,贏就代表這場發揮比對手好,反之就是不好,因此會用贏加分,輸扣分,平不得分來進行評分。 二、積分計算公式 Ra:A玩家當前的Rating Rb:B玩家當前的Rating Sa:實際勝負值,勝=1,平=0.5,負=0 Ea:預期A選手的勝負值,Ea=1/(1+10^[(Rb-Ra)/400]) Eb:預期B選手的勝負值,Eb=1/(1+10^[(Ra-Rb)/400]) 因為E值也為預估,則Ea+ Eb=1 R’a=Ra+K(Sa-Ea) R’a:A玩家進行了一場比賽之后的Rating K:K值是一個極限值,代表理論上最多可以贏一個玩家的得分和失分,K/2就是相同rating的玩家其中一方勝利后所得的分數。 國際象棋大師賽中,K=16;在大部分的游戲規則中,K=32。通常水平越高的比賽中其K值越小,這樣做是為了避免少數的幾場比賽就能改變高端頂尖玩家的排名。 三、實例說明 若當前A玩家rating為1500,B玩家rating為1600 預估A玩家的勝負值Ea = 1/(1+10^[(1600-1500)/400])≈0.36 預估B玩家的勝負值Eb = 1-Ea = 1-0.36 = 0.64 假設A玩家獲勝,實際勝負值為Sa = 1 A玩家最終得分為 R’a = 1500 + 32*(1-0.36) = 1500+20.5 = 1520,A玩家贏20分,B玩家輸20分。 假設B玩家獲勝,實際勝負值為Sa = 1 B玩家最終得分為 R’b = 1600 + 32*(1-0.64) = 1600 + 11.52 = 1612,B玩家贏12分,A玩家輸12分。 PS:^符號代表次方運算。 |
|