在開始討論之前……
先來談談實力這件事
撇開實際看到的數字之前,我們是如何評定實力的高低、技巧的優劣?例如:朋友之間打牌,如果彼此之間牌技相差懸殊,很容易就「看」得出來誰是會玩的,這是因為他贏得多、輸得少。
反過來說,一群實力差不多的人,反而很難決定誰的實力高低。
表現不是絕對的,實力強的不必然贏過實力弱的,只是獲勝機率相對高而已。
假設我們將玩家a,b的表現量化,稱為Xa,Xb,且該競技沒有和局。則a,b的表現跟勝率有關。
令Ea,Eb為玩家a,b的勝率,則:
Ea=Xa/(Xa+Xb)
Eb=Xb/(Xa+Xb)
這只是我隨意提出的表現量化方式,不必深究。
關於機率分布
複雜數學在此不提,用維基百科中做簡單舉例,下列函數為二項分布的p.d.f(機率密度函數)
當n=3,k=0,p=1/6
可以描述
在擲3次骰子中,不出現6點的機率
機率分布可以描述機率參與其中的實際現象。
從西洋棋說起
其中K為常數, 如下:假如一位棋手在比賽中的真實得分(勝=1分,和=0.5分,負=0分)和他的勝率期望值 不同,則他的等級分要作相應的調整。具體的數學公式為
公式中和 分別為棋手調整前後的等級分。
為對手等級分
這個 ……
Ea destroy everything
而logistic分佈函數的樣子就長得很像上面那樣。Elo建議當選手等級分差距200時,其勝率為0.75:0.25(10^0.5=3.162)高能注意
回到Ea的公式,這可以理解成:當玩家a,b的等級分差距400,a,b的勝率比為1:10。
選手A等級分1200,選手B等級分1600。則B的勝率是A的10倍。(對賭盤來說很重要。)
而K是作為結束後,雙方等級分的增減,一方加多少另一方就減多少。
假設K=32
A等級分為1400,B等級分為1700,則Ea=0.151,Eb=0.849
賽後等級分變化
A勝利 | B勝利 | |
賽後A等級分 | 1427.168654 | 1395.168654 |
賽後B等級分 | 1672.831346 | 1704.831346 |
強勝弱:「啊不就好厲害,虐菜嘛?」所以只加一點點分數。
弱勝強:「這就你一直不肯教我的遇強則屈,借花獻佛!」大加分!
K訂太高,則每場比賽導致的等級分變化太大,一不小心就鑽石掉到銀牌。
K訂太低,則超級新星的等級分成長太慢,還要再砍很多雜魚才能到達應有水準。
在西洋棋現行規則中,新手期的K比較大,老手比較小。
而K值可以根據實際情況自由決定。
5v5的比賽怎麼辦?
做兩隊的平均等級分,如果有不一樣的K值做平均的K,比照雙人競賽,最後計分依比例分配。
該怎麼劃分區間?
長久來看,人數會集中在平均等級分附近,所以依據需求可以給出定值的等級分,1000分以下叫noob,1000~1200稱為菜鳥以此類推。
每場競賽後的增減分等價,這不就代表很多人會落在起始分數附近嗎?
因為新手還沒有經過足夠的競賽使其逼近他應有的等級分,透過第二層資訊例如10場之後才公佈分數,或者定期決定牌位。
玩家不玩,對整體的影響?
如果玩家不玩了,不再被配對到,整體可流動的分數減少。LOL的做法是定期reset,清空判定為無效的玩家。
大概就是這樣子~
我們下次再聊。
K訂太高,則每場比賽導致的等級分變化太大,一不小心就鑽石掉到銀牌。
K訂太低,則超級新星的等級分成長太慢,還要再砍很多雜魚才能到達應有水準。
在西洋棋現行規則中,新手期的K比較大,老手比較小。
而K值可以根據實際情況自由決定。
實際應用上的問題
這裡就我遇到的問題,提出目前想到的解法,可能並不正確。5v5的比賽怎麼辦?
做兩隊的平均等級分,如果有不一樣的K值做平均的K,比照雙人競賽,最後計分依比例分配。
該怎麼劃分區間?
長久來看,人數會集中在平均等級分附近,所以依據需求可以給出定值的等級分,1000分以下叫noob,1000~1200稱為菜鳥以此類推。
每場競賽後的增減分等價,這不就代表很多人會落在起始分數附近嗎?
因為新手還沒有經過足夠的競賽使其逼近他應有的等級分,透過第二層資訊例如10場之後才公佈分數,或者定期決定牌位。
玩家不玩,對整體的影響?
如果玩家不玩了,不再被配對到,整體可流動的分數減少。LOL的做法是定期reset,清空判定為無效的玩家。
大概就是這樣子~
我們下次再聊。
沒有留言:
張貼留言