tft每日頭條

 > 遊戲

 > 王者榮耀中的elo機制怎麼計算

王者榮耀中的elo機制怎麼計算

遊戲 更新时间:2024-07-17 10:05:41

作者:NGA-平A攻速流關羽

很多同學在516抱怨過ELO,聲稱如果沒ELO他們的遊戲體驗會更好。這是一個很大的誤解。因為他們根本不知道所謂的ELO到底是啥。

那麼,作為一個985的工科學子,雖然沒清北科學家厲害,但是我還是想和大家解釋下什麼是ELO,以及為什麼你們是錯的。

王者榮耀中的elo機制怎麼計算(王者榮耀用理論說話)1

這是電影《社交網絡》的截圖,窗戶上寫着的就是Facebook最早的ELO算法公式。

是的,你沒看錯,ELO并不是清北科學家搞出來的讓我們難過的東西,而是一個在體育比賽,遊戲,社交網站中廣泛适用的預期和評級系統。

其發明者美國物理學教授Arpad Elo真的要比真武大弟子們厲害多了...

為了讓我的解釋通俗易懂,我們先把王者榮耀所有的對戰模式删除,僅留下1V1

現在,有四個玩家:

愛鹿,筆神,多尼,老亞瑟

王者榮耀中的elo機制怎麼計算(王者榮耀用理論說話)2

最後的結果是 愛鹿和老亞瑟連勝,分數漲到1238和1237,多尼連跪到1145,筆神輸了一場憤怒地關掉了遊戲,分數1180.

反饋到星星上,愛鹿和老亞瑟各打了兩盤,上了兩顆星。多尼掉了三顆,筆神掉了一顆。

你可以看到,經過兩場随機匹配後,多尼成為受害者,每一盤他的對手和他都有巨大的差距,盡管星星差不多,但是這對他是不公平的比賽。

ELO機制,最重要的一個概念就是“從你身上拿走ELO分”

1.每個參與者都有一個ELO評分,這是一個代表他們相對于其他參與者的技術水平的總分。

2.新玩家自動獲得初始評級1200分。

3.當兩名參與者之間完成比賽時,比較他們的ELO分數。 比賽的勝者将從輸家那裡“獲取”一定數量的ELO積分。

4.擁有較高ELO的玩家傾向于獲勝,因此獲勝将為他們赢得幾分。 相反,當分數更低的玩家獲勝時,他們會從獲勝者那裡獲得很多積分。

實際的ELO算法由5部分組成:

Rn - 玩家的新評級(比賽結束後)

Ro - 玩家的舊評級(比賽前)

S - 比賽的實際得分/結果

E - 比賽的預期得分/結果

K - K因子

Rn = Ro K * (S - E)

Rn和Ro不用我解釋吧,關鍵就在于S,E和K.

S(實際分數)

這是比賽的實際得分。 它始終為0 <= x <= 1。

勝利計為1,

輸了計為0。(先做簡單化考慮)

在我們上面的例子中,愛鹿擊敗筆神,愛鹿在此計算中得分為1,而筆神則得分為0。

E(預期成果)

這是算法的核心。 它需要兩個因數:Ra和Rb(玩家A和玩家B的舊評級),然後返回玩家A的預期勝率。它使用累積分布函數(CDF)進行分數估計。

CDF中如果能假設更多可能的擾亂,就有助于解決玩家能力的不一緻性。這也就是傳說中的Logistic CDF implementation。

王者榮耀中的elo機制怎麼計算(王者榮耀用理論說話)3

這裡有幾個部分:

Ra - 玩家A的舊elo

Rb - 玩家B的舊elo

x - Ra和Rb的差異

e - 歐拉數(一個數學常數)

scale - 評分系統的預選标準差

scale影響分布的“寬度”。 較大的比例将拉伸分布,增加最佳玩家的ELO,同時減少最差玩家的ELO。相反,較小的比例将壓縮分布。

但是,比例參數本身很難推理。 如果對比例參數進行一些替換,以便系統更好地推斷其與玩家水準的關系。

一般來說,scale值是400,歐拉數為10. 即s --> n/ln(10)

這意味着,如果玩家A的ELO分比玩家B多n分,A就比B厲害10倍!這意味着,ELO為1400的玩家比1000 ELO玩家好10倍。

當A匹配到B的時候,A有90.1%的概率會赢!

那麼,如果要預測匹配結果,我們隻需要計算出計算匹配後ELO所需的K系數。

K因子

有效的K因子是任何ELO中極其重要的一部分。

K因子決定了勝利和失敗對ELO影響的敏感性。

假設我們使用以下模型:

--每個人都以1200的ELO開頭

--我們使用分數估計函數,其中n = 400。

如果K很大(例如70),那麼意外的勝利(或失敗)會對玩家的ELO産生巨大影響,并導緻排名波動。

現有玩家A的ELO分是1000,玩家B的ELO分是1300

預計A對陣B的勝率是:1/(1 10^-(-300/400)) = 0.150979557

A拿出後裔神奇地蒸發了六神B,1000 70 * (1 - 0.150979557)

賽後他們的ELO分數變為:A = 1059.43143 B = 1240.56857

這是ELO值的巨大變化 - 盡管玩家B的預期比玩家A高出5.6(0.849 / 0.151)倍,玩家A神勇發揮掏出後裔或者B心不在焉拿出花木蘭就可以輕松縮小他們的ELO之間的差距排名。哈哈,開個玩笑。

實際的排位中,玩家A可能需要數百場遊戲來趕上玩家B的ELO值,即使CH在某個平行宇宙裡再加強十倍後裔的輸出。

王者榮耀中的elo機制怎麼計算(王者榮耀用理論說話)4

王者榮耀中的elo機制怎麼計算(王者榮耀用理論說話)4

你們最關心和诟病的來了

坑隊友和反複摩擦的原理,以及為什麼有的人好上分。

K因子應該适合n的當前值以用于評分。K因子基本上代表玩家在比賽中可以獲得的“最大”點數,如果玩家具有相同的技能等級,他們将獲得k / 2個ELO點。

如果玩家總是與ELO一樣的玩家對戰,他們必須赢得n /(k / 2)場遊戲,才能上到1400分的真實段位。

這通常是400 /(15/2)= 53.33盤遊戲,或K = 800 / 53.33。

包括象棋和大部分的MOBA遊戲都是采用分層K因子系統,這意味着玩家必然有不同的K因子(n=400):

對于新玩家來說,K = 40,直到他們玩30場比賽

對于遊戲> 30場且從未有過ELO> 1200的玩家,K = 20

對于遊戲> 30場并且ELO> 1200的玩家,K = 10

(假設非真實)

如果我們假設新玩家的評級存在一定程度的不确定性,依據以上算法,他們反而更容易快速達到更好的成績。 它也使得非常肝/熟練的玩家更難以上分/掉分(例如,由于拿出了花木蘭)。

請注意,當玩家有不同的ELO時:

玩家A獲得/失去Rn = Ro K_a *(S-E)

玩家B獲得/失去Rn = Ro K_b *(S-E)

你可以看到,這與我開頭所說的從其他玩家“獲取”分數的實際是不同的,因為每個玩家将獲得/失去不同的數量。

這是對大部分玩家都友好并且是故意的。

同理,在小晉級賽和大晉級賽的時候,也可以通過控制K值來決定比賽質量,因為不同的比賽玩家心态是不同的!

K=60 上王者

K=40 上星耀

K=30 小段位

K=20 出現連勝連跪

(假設非真實)

如果玩家玩的少,那麼排名應該更加不穩定。 較高的K因子[相對于n]會更好,因此從K =(2 * n)/ 20到K =(2 * n)/ 25的K因子更合适。

如果玩家很肝,那麼排名應該不那麼不穩定。 較低的K因子[相對于n]會更好,因此從K =(2 * n)/ 30到K =(2 * n)/ 45的K因子更合适。

所以,你打得越多,越會影響你對局的質量!

王者榮耀中的elo機制怎麼計算(王者榮耀用理論說話)6

那麼,你可以清晰地看到,盡管系統是能通過很多種手段來控制你對局的質量的。

但是最終決定你分數和段位的是你的實際水平,你在上十局和長期的表現才是核心因素

ELO算法對大多數玩家來說都是友好的,随機匹配并不會讓你變得舒服。

真的不要抱怨了,NGA需要幹貨

歡迎大家指正!抱怨回複/歪樓舉報!

*部分數據/公式參考自Scott Mackie的文獻

*整體思路來自Fandom

王者榮耀中的elo機制怎麼計算(王者榮耀用理論說話)7

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关遊戲资讯推荐

热门遊戲资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved