顯示廣告
隱藏 ✕
※ 本文為 nthuhoward 轉寄自 ptt.cc 更新時間: 2012-04-30 00:08:42
看板 LoL
作者 Dolacone (拉普拉斯之魔)
標題 Re: [心得] ELO計算方式
時間 Tue Feb 15 13:10:45 2011


蠻多人對ELO & MatchMaking有所誤解

這篇文章稍微講解一下ELO & MatchMaking的運作方式

本文僅討論
1.ELO跟勝率的關係
2.MatchMaking的運作目標
為了方便起見,僅從ELO數據進行討論,紫隊藍隊哪邊有利的問題先不考慮

先做一些名詞定義
遊戲ELO - 遊戲中所顯示的ELO分數
實際ELO - 玩家的實際實力分數

====

假設有一個玩家
實際ELO是2000
遊戲ELO是1200

這時候他開始排rank

MatchMaking System原則
1.同Game的玩家,ELO差距不會太大

MatchMaking system挑出了區間相近的10名玩家
1250 1240 1230 1220 1210 1200 1190 1180 1160 1160

MatchMaking System原則
2.讓兩個隊伍獲勝的機率相同(各50%)
  * 用勝率來敘述會有誤解,這樣的敘述應該比較好 *

可能會排出隊伍如下
A隊:1250 1220 1210 1180 1160
B隊:1240 1230 1200 1190 1160
兩隊平均ELO都是1204
在雙方平均實力相同的情況下
可以期望雙方各有50%的機率獲勝

但是我們假設了這個玩家的實際ELO是比較高的
因此實際的隊伍組合會變成下列狀況(假設其他人的遊戲ELO=實際ELO)
A隊:1250 1220 1210 1180 1160 平均:1204
B隊:1240 1230 2000 1190 1160 平均:1364
A隊獲勝的機率:(1204)/(1204+1364) = 46.9%
B隊獲勝的機率:(1364)/(1204+1364) = 53.1%
光從數字面來看,就可以知道這是個不公平的遊戲
B隊獲勝的機率比A隊高=>B隊的ELO提升機率比較高

只要這個玩家的實際ELO一直高於遊戲ELO
就會讓他所處的隊伍勝率提高,也讓他有比較高的機率提升遊戲ELO

反之,如果玩家的實際ELO比遊戲ELO低
他所處的隊伍勝率就會被降低,也讓他有比較高的機率降低遊戲ELO

====

這是個5 vs 5的遊戲
系統期望的兩隊各50%獲勝機率是比較難被真正實作
畢竟要10個人都達到"實際ELO=遊戲ELO"的情況比較難
但是長期來看,個人的"遊戲ELO會越來越接近實際ELO"

====

根據ELO的算法
勝方獲得的ELO = 敗方失去的ELO = K * (敗方的獲勝機率)

假設
K=32
A隊獲勝機率70% (這個獲勝機率是用遊戲ELO去算得的)
B隊獲勝機率30%
A隊獲勝可得ELO = B隊落敗失去ELO = 32*30% =  9.6
B隊獲勝可得ELO = A隊落敗失去ELO = 32*70% = 22.4

(因為A隊本來獲勝機率就比較高,故獲得的ELO會比較少)


如果每場遊戲都是"兩隊獲勝機率各50%"
那每場遊戲獲勝時所獲得的ELO應該都會是某定值
因此影響ELO的要素會是"勝敗差",而不是"勝率"

也就是說
Win 2000 / Lose 1950 / 勝率50.6% 的玩家
Win  200 / Lose  150 / 勝率51.7% 的玩家
這兩個人的ELO應該會是一樣的

====

補個無用點
50場、ELO 1400附近
ELO增加減少量都環繞在16左右
可以猜測K=32 -> +16代表這場game是雙方獲勝機率各50%
如果贏了,拿到的ELO又比16多,代表你贏了一場不被看好的遊戲
如果輸了,失去的ELO又比16少,代表你輸了一場本來就是劣勢的遊戲

      該贏  該輸  (系統期望)
獲勝  加少  加多
落敗  扣多  扣少

--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.211.32.194
DWR         :最後錯了,你環繞在16分的原因,是因為你場數還少1F 02/15 13:35
                補上50場的條件
                這只是個參考範例,每個人的情況不同
                不過一定都會有一個基準分
                可以試著自己尋找那個基準分

gary11204   :大推!!2F 02/15 14:00
gary11204   :所以我打不上去可以怪我打得不夠多.....
gary11204   :請問duo solo怎麼算??
                Duo Q不在本文討論範圍之內

RobertAlexy :請問為甚麼有實際Elo跟遊戲Elo的差別?5F 02/15 14:06
                代打、新帳號等等之類的情況會造成實際ELO與遊戲ELO差距過大
                遊戲ELO:遊戲裡面顯示的ELO
                實際ELO:玩家本身的實力ELO

BachXXX     :因為每個人初始的ELO都一樣吧 @@6F 02/15 14:07
nexcbj      :100場 還不多嗎7F 02/15 14:09
RobertAlexy :所以實際Elo是指玩家實力嗎?8F 02/15 14:09
ixidor      :實際ELO應該是指你的實力。遊戲ELO則是看得見的ELO9F 02/15 14:09
ixidor      :一開始打rank大家都是1200。HSGG開新帳號也會是1200
ixidor      :換句話說,只要深信自己是高elo,那=內建高獲勝率
ixidor      :接下來就是靠K值來判斷自己是否屬於高實際ELO了
                K值其實意義不大
                K值只是用來代表"系統對你這場的勝負期望"
                勝場加的ELO比K多,代表"系統不看好你會贏"(獲勝機率小於50%)
                勝場加的ELO比K少,代表"系統覺得你會贏"(獲勝機率大於50%)
                增減的ELO離K越遠,代表這場勝負越不公平(獲勝機率非50%vs50%)

ixidor      :多啦大人能否提供一下那個16是如何出現?經驗?13F 02/15 14:17
                多打,會覺得每次增減ELO的數字都蠻接近某個值
                那個值就差不多是你的K值

wulouise    :Duo Q應該就是對遊戲內elo作類似加成去記算14F 02/15 14:18
                Duo Q會把你們兩個的ELO都增加某個量之後下去排
                假設你們兩個都是1200,可能系統會把你們都當作1300下去排

wulouise    :不過dola說的50場+-16 是說rank elo吧?15F 02/15 14:19
                normal我看不到啊XD
                不過ELO運作應該都差不多是這樣(normal/rank)
                頂多就是K值不同

ixidor      :應該是。Normal的ELO似乎無法看到?16F 02/15 14:22
doomleika   :normal的elo應該也是一樣的算法?17F 02/15 14:25
ixidor      :原來如此,難怪我有被扣過40幾分的 Q_Q18F 02/15 14:35
DWR         :riot 的K照經驗看來應該是跟總場數有關係,好像到15019F 02/15 15:30
DWR         :場左右,兩邊ELO相差不多的情況下,分數就在11~14分
DWR         :加減,另外總場數不高的情況下,ELO Hell是真的有機
DWR         :會存在,就跟有強運的rank剛打,直衝到1.6k,但還是
DWR         :掉到1.2k~1.3k,只能說運氣也是實力的一部份
                ELO hell的定義是什麼?

ixidor      :輸>贏應該就算ELO Hell了吧。雖然似乎是指noob同隊率24F 02/15 15:40
                一定有人敗場>勝場啊
                全世界如果都勝場>敗場
                你不覺得這一定哪裡有問題嗎?
                (全世界玩家總計勝100萬場,敗90萬場,那10萬場是贏誰的?)
                這不是hell不hell的問題
                常態分布的左端一定也是有人在撐的

ixidor      :所以說那些人就是hell本身的意思 XDDD25F 02/15 15:46
ixidor      :如果你輸>贏,你就是在hell裡。這樣的定義也不錯 XD
ixidor      :因為noob同隊率太難定義了。搞不好自己就是noob Q_Q
ixidor      :所以只好單純地以勝敗差來定義是否陷入 hell
※ 編輯: Dolacone        來自: 218.211.32.194       (02/15 15:50)
ixidor      :有趣的是,個人目前normal-4, rank+6。拿版上的文章29F 02/15 15:57
ixidor      :有一篇試算的網頁。算出來的值差不多。1278-1296
ixidor      :但是以該網頁,輸入我rank的勝敗值41:35,有1372
ixidor      :noraml約252:256,算出來是1278, rank值為1296
ixidor      :拿rank的勝敗率去算,卻得到1372的數字。提供一下
nexcbj      :那個網頁 不準34F 02/15 16:25
elenore     :認真的小叮噹最帥氣,認真推!35F 02/15 16:53
wulouise    :基本上不可能看勝差算準..36F 02/15 17:40
drummers    :有沒有辦法加算抓馬跟撞AFK率..認真推!37F 02/15 18:15
hardyuse    :認真推38F 02/15 19:15

--
※ 看板: FW 文章推薦值: 0 目前人氣: 0 累積人氣: 327 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇