看板 StarCraft 關於我們 聯絡資訊
※ 引述《Solita ()》之銘言: [以上戰績恕刪] 以下純就公式來探討用處 不想看公式的請直接看按5看結論 後文中塗紅色的三個常數可以自己定義 你高興怎麼設定就怎麼設定 不同的數字差別只在於 容不容易觀察我們要的結論 還有好不好計算 會訂1200 400 32相信是有測試微調過 : 上述 Elo 評分系統所採取的計算方式如下: : 選手初始等級分假設為1200 : Ra'=A選手賽後等級分 Ra=A選手賽前等級分 Ep=比賽得分( 勝 Ep=1;負 Ep=0 ) : E(Ra)為A選手勝率期望值= 1/(1+10^(-(Ra-Rb)/400)) : E(Rb)為B選手勝率期望值= 1/(1+10^(-(Rb-Ra)/400)) 先幫大家簡化一下 上面兩個期望值計算過後加起來會等於1, 而且兩個東西算出來都會在0~1之間(正的純小數) (有興趣的可以自己算XD) 也就是E(Ra) + E(Rb) = 1 如果有一場 A 和 B 的對戰 我們算出來E(Ra)是0.78 則 E(Rb)一定會是0.22 那這個是什麼東西呢,請把他想成這一場對戰中A選手和B選手的"贏面" 所以上面的例子就是說這場比賽 A的贏面有78% B的贏面有22% 當沒有這個東西的時候 我們只能用勝率去看選手的強度 但是勝率高的不一定是強者 說不定他是斬了一堆鍵盤假宗師 勝率低的說不定他只是剛好找對手的時候跟蟲王人皇神帝都超有緣份 所以利用這個東西我們可以把每一場戰鬥各選手的贏面"算出來" : K為浮動係數暫設為32 (一般依等級分級距會有所不同) : Ra'= Ra + K * ( Ep - E(Ra) ) 上面的內容講到E(Ra)代表A選手的贏面 E(Rb)代表B選手的贏面 所以用正常想法來想 什麼樣的選手贏面大 => 戰鬥力高的選手贏面大 為了可以算出贏面 我們必須要給選手一個戰鬥力數值 所以這個評分方法他給每一個選手初始分數叫做1200,其實他就是每個選手的戰鬥力 接下來 最後的公式作的事情就是 結束一場對戰之後 我就根據你的贏面來調整你的戰鬥力 對到戰鬥力高的 => 贏面小 => 輸了扣一點分數意思意思 贏了給你很多分數好好地獎勵獎勵 對到戰鬥力低的 => 贏面大 => 贏了很正常給你一點分數 輸了代表我高估你了扣多一點讓你去下面好好修練 -- 舉個例子 -- A選手:鍵盤宗師 目前 800分 VS B選手:掌門兒 目前 1200分 A的贏面E(Ra)算出來約為1/11(0.09) B的贏面E(Rb)約為 10/11(0.91) 如果A贏了 那A的分數會變成 800 + 32*(1-0.09) = 800 + 29.12 = 829.12 B的分數會變成 1200 + 32*(0-0.91) = 1200 + (-29.12) = 1170.88 如果B贏了 那A的分數會變成 800 + 32*(0-0.09) = 800 + (-2.88) = 797.12 B的分數會變成 1200 + 32*(1-0.91) = 1200 + 2.88 = 1202.88 最後觀察一下可以發現,不論誰贏誰輸,勝者增加的分數和敗者減少的分數其實是一樣的 (四捨五入後的話偶爾會差一些就是了) 也就是說,其實勝方贏到的戰鬥力是從對手身上搶來的 所以我們可以這樣想,每個人的戰鬥力其實都是由對手決定的 既然如此,那我比越多場比賽,那我的戰力自然就越準確 即使我一直跟同一個人打比賽,也會因為每一場的戰力調整,讓雙方回到該有的強度 === END專用 暨 結論分隔線 === 這個評分方式可以 1.把所有選手戰力數值化,以利選手互相比較強弱 (很多遊戲和競賽都可以以這個方式撿戰力差不多的來配對) 2.每一場勝敗會有不同的分數轉移(贏高手賺比較多,輸高手虧比較少) 不會像勝率一樣,累積越後面的勝敗對勝率的影響越小 3.比勝率還更能當選手戰力參考,打越多場越準確 (打贏一堆肉腳會賺到很高的勝率,可是賺不到太多的分數) 4.只要各個常數固定,可以拿來對不同時空的選手相對強度作簡單的比較 (例如說:"假設"算出來sobad生涯年度最高分1300,Sen生涯年度最高分1320 那我們可以說sobad在他頂尖的時代與其他選手的對戰實力 和 Sen 在他頂尖的時代與其他選手的對戰實力 是差不多的) [以下恕刪] -- 天氣熱算數學練耐力 XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 175.182.179.58
cccccc73:認真文推 05/02 13:09
hicker:推一個 05/02 13:09
tony3906:好厲害! 05/02 13:12
Solita:推 05/02 13:13
rogger:推 05/02 13:16
nowaynoway:推 05/02 13:18
※ 編輯: Feiye 來自: 175.182.179.58 (05/02 13:25) 修文改個錯字 XD ※ 編輯: Feiye 來自: 175.182.179.58 (05/02 13:26)
phenom1:是否每一季Elo都要重置? 05/02 13:28
我想重不重置無所謂吧 不重置的話數字會越來越醜 然後四捨五入的影響會慢慢顯現出來就是了 重置的話那就是那一輪Elo分數的起始日期 算出來的就是你這一段時間的相對戰力 可以每年重置算一次年度分數 或者是每半季重置算一次季度分數 如果想算不同時代的選手戰力 那就一口氣算下來不重置也可以
SangoDogKing:這種廢文可以停止了嗎? 05/02 13:33
感謝傳說中狗王的批評 :)
phenom1:SC2天梯的MMR會不會就是用ELO @@? 05/02 13:35
Feiye:天梯分數前面好像有文章提到 @@ 05/02 13:41
Feiye:找到了 #1DP1AXzD #1DP1Bjk3 :) 05/02 13:41
hbk2133:掌門兒~~~~~ 05/02 13:47
clpscol:哈哈狗王只敢在這邊噓 不敢回上篇的推文 05/02 14:10
SuperKoala:有狗王噓,果然是優文品質保證 05/02 14:42
※ 編輯: Feiye 來自: 175.182.179.58 (05/02 14:44) 調整一下版面讓文章好讀一點 ※ 編輯: Feiye 來自: 175.182.179.58 (05/02 14:45)
roserule:看到結尾有SoBaD令人不禁懷疑是好壞哥粉絲 XDDD 05/02 15:14
Feiye:我是所有台灣選手的粉絲 XD 05/02 16:47
Feiye:不過這篇文蠻無聊的 應該沒啥人看就是了 XD 05/02 16:48
phenom1:我有看好嗎 而且還看完了 ="= 05/02 16:54
Feiye:感謝樓上 感謝所有有看一下的人 05/02 17:09
Feiye:小弟上面沒啥惡意 只是研究公式不是啥有趣的事情XD 05/02 17:10
Feiye:所以才會覺得應該沒太多人看 沒有惡意 不好意思^^|| 05/02 17:13
Struggle804:好文 幫補 05/03 00:05
icycandle: 05/03 01:10
amos0430:推 這篇解釋得很清楚 05/03 11:25
horseorange:推 05/07 00:41
kermomo:有看有推~ 05/14 13:04