TrueSkill评分系统

TrueSkill系统是基于贝叶斯推断的评分系统，由微软研究院开发以代替传统Elo评分，并成功应用于Xbox Live自动匹配系统。TrueSkill评分系统是Glicko（英语：Glicko rating system）评分系统的衍伸，主要用于多人游戏中。TrueSkill评分系统考虑到了個別玩家水平的不确定性，综合考虑了各玩家的胜率和可能的水平涨落。当各玩家进行了更多的游戏后，即使個別玩家的胜率不变，系统也会因为对個別玩家的水平更加了解而改变对玩家的评分。 TrueSkill假设玩家的水平可以用一个正态分布来表示，而正态分布可以用两个参数：平均值和方差来完全描述。设Rank值为R，代表玩家水平的正态分布的两个参数平均值和方差分别为 μ {\displaystyle \mu } 和 σ {\displaystyle \sigma } ，则系统对玩家的评分即Rank值为 R = μ − k × σ {\displaystyle R=\mu -k\times \sigma } k值越大则系统的评分越保守。 下面这张表格来自微软研究院，此表格给出了8个新手在参与一个8人游戏后 μ {\displaystyle \mu } 和 σ {\displaystyle \sigma } 的变化。 这里有个很有意思的现象：注意第四名Darren和第五名Eve，他们的 σ {\displaystyle \sigma } 是最小的，换句话说系统认为他们能力的可能起伏是最小的。这是因为通过这场游戏我们对他们了解得最多：他们赢了3/4个人，也输给了4/3个人。而对于第一名Alice，我们只知道她赢了7个人。 如果想知道更详细的定量分析可以先考虑最简单的两人游戏情况 μ w i n n e r ⟵ μ w i n n e r + σ w i n n e r 2 c ∗ v ( μ w i n n e r − μ l o s e r c , ε c ) {\displaystyle \mu _{winner}\longleftarrow \mu _{winner}+{\dfrac {\sigma _{winner}^{2}}{c}}*v({\dfrac {\mu _{winner}-\mu _{loser}}{c}},{\dfrac {\varepsilon }{c}})} μ l o s e r ⟵ μ l o s e r − σ l o s e r 2 c ∗ v ( μ w i n n e r − μ l o s e r c , ε c ) {\displaystyle \mu _{loser}\longleftarrow \mu _{loser}-{\dfrac {\sigma _{loser}^{2}}{c}}*v({\dfrac {\mu _{winner}-\mu _{loser}}{c}},{\dfrac {\varepsilon }{c}})} σ w i n n e r 2 ⟵ σ w i n n e r 2 ∗ [ 1 − σ w i n n e r 2 c ∗ w ( μ w i n n e r − μ l o s e r c , ε c ) {\displaystyle \sigma _{winner}^{2}\longleftarrow \sigma _{winner}^{2}*[1-{\dfrac {\sigma _{winner}^{2}}{c}}*w({\dfrac {\mu _{winner}-\mu _{loser}}{c}},{\dfrac {\varepsilon }{c}})} σ l o s e r 2 ⟵ σ l o s e r 2 ∗ [ 1 − σ l o s e r 2 c ∗ w ( μ w i n n e r − μ l o s e r c , ε c ) {\displaystyle \sigma _{loser}^{2}\longleftarrow \sigma _{loser}^{2}*[1-{\dfrac {\sigma _{loser}^{2}}{c}}*w({\dfrac {\mu _{winner}-\mu _{loser}}{c}},{\dfrac {\varepsilon }{c}})} c 2 = 2 β 2 + σ w i n n e r 2 + σ l o s e r 2 {\displaystyle c^{2}=2\beta ^{2}+\sigma _{winner}^{2}+\sigma _{loser}^{2}} 系数 β 2 {\displaystyle \beta ^{2}} 代表的是所有玩家的平均方差。 v {\displaystyle v} 和 w {\displaystyle w} 是两个函数，比较复杂。ε是“平局参数”。 简而言之，個別玩家赢了 μ {\displaystyle \mu } 就增加，输了 μ {\displaystyle \mu } 减小；但不论输赢， σ {\displaystyle \sigma } 都是在减小，所以有可能出现输了涨分的情况。 势均力敌的对手能带来最精彩的比赛，所以当自动匹配对手时，系统会尽可能的为個別玩家安排可能与水平最为接近的对手。TrueSkill评分系统采用了一个值域为 ( 0 , 1 ) {\displaystyle (0,1)} 的函数来描述两个人是否势均力敌：结果越接近0代表差距越大，越接近1代表水平越接近。 假设有两个玩家A和B，他们的参数为 ( μ A , σ A ) {\displaystyle (\mu _{A},\sigma _{A})} 和 ( μ B , σ B ) {\displaystyle (\mu _{B},\sigma _{B})} ，则函数对这两个玩家的返回值为 e − ( μ A − μ B ) 2 2 c 2 2 β 2 c 2 {\displaystyle e^{-{\dfrac {(\mu _{A}-\mu _{B})^{2}}{2c^{2}}}}{\sqrt {\dfrac {2\beta ^{2}}{c^{2}}}}} c的值由如下公式给出 c 2 = 2 β 2 + μ A 2 + μ B 2 {\displaystyle c^{2}=2\beta ^{2}+\mu _{A}^{2}+\mu _{B}^{2}} 如果两人有较大几率被匹配在一起，光是平均值接近还不行（e指数上那一项），还得方差也比较接近才行（d）。 在Xbox Live上，系统为每个玩家赋予的初值是μ = 25 以及 σ = 25 / 3，k=3。所以玩家的起始Rank值为 R = 25 − 3 25 3 = 0 {\displaystyle R=25-3{\dfrac {25}{3}}=0} TrueSkill™ Ranking System FAQ - Microsoft Research. microsoft.com. [2011-02-02]. （原始内容存档于2011-03-18）.  TrueSkill™: A Bayesian Skill Rating System (PDF). MIT Press. 2007 [2011-02-02]. （原始内容存档 (PDF)于2011-04-09）.  TrueSkill™ Ranking System: Details. =microsoft.com. [2011-06-12]. （原始内容存档于2011-06-05）.  Microsoft Research's TrueSkill homepage（页面存档备份，存于互联网档案馆） Microsoft Research's TrueSkill paper（页面存档备份，存于互联网档案馆） In-depth explanation of the mathematical background（页面存档备份，存于互联网档案馆）