TrueSkill

TrueSkill は、マイクロソフトによりXbox Liveでのコンピュータゲームマッチング用に開発されたプレイヤーの強さを評価(レーティング)するためのアルゴリズムである。それ以前に普及していたイロレーティング(1対1のチェスを想定して設計されている)とは異なり、TrueSkillは3人以上でプレイするゲームも想定して設計されている。

算出方法

プレイヤーのスキルは、平均値 μ {\displaystyle \mu } (認識されているスキルを表す)と分散 σ {\displaystyle \sigma } μ {\displaystyle \mu } の未確定度合いを表す)からなる正規分布 N {\displaystyle {\mathcal {N}}} として表される。 N ( x ) {\displaystyle {\mathcal {N}}(x)} はプレイヤーの真のスキル x {\displaystyle x} の確率と解釈できる。

Xbox Liveにおいては、新規プレイヤーは μ = 25 {\displaystyle \mu =25} , σ = 25 / 3 {\displaystyle \sigma =25/3} を初期値としてレーティングされる。 μ {\displaystyle \mu } は勝利するごとに常に増加し、敗北するごとに常に減少する。実際に増減する度合は、各プレイヤーそれぞれの σ {\displaystyle \sigma } と、その結果がどの程度サプライズなものであったかに依存する。例えば、各プレイヤーの技量に開きがあるゲームにおいては、その結果が順当なものであれば変動はごく僅かだが、番狂わせとなった場合には大きな変動が発生する。

チーム戦では、因子グラフ(英語版)(ファクターグラフ)を用いてチーム単位での ( μ , σ ) {\displaystyle (\mu ,\sigma )} ペアを算出し、これに基づいてスキルアップデートの計算を行う。アップデートはそれぞれのプレイヤーに対して正確に分配される。

プレイヤーのランクは、彼らのスキルから控えめに見積もられた R = μ 3 × σ {\displaystyle R=\mu -3\times \sigma } で表示される。この値が控えめというのは、TrueSkillにおいてこの式を用いると、実際のプレイヤーのスキルは99%の場合表示されているランクより高くなるためである。

TrueSkillは任意のスケールで使用可能であるが、Xbox Liveにおいてマイクロソフトはこの範囲を0から50として使用している。したがって、新規プレイヤーのランクは R = 25 3 25 3 = 0 {\displaystyle R=25-3\cdot {\frac {25}{3}}=0} となる。新規プレイヤーは敗北時に大きな σ {\displaystyle \sigma } を失うため、結果として μ {\displaystyle \mu } の減少が部分的または完全に相殺される。このため、新規プレイヤーには敗北にも拘わらずランクを得るという現象が発生する場合がある。

権利

マイクロソフトはTrueSkillの特許を取得しており[1]、またTrueSkillは商標ともなっている。このため、TrueSkillの使用はXbox Liveのゲームに制限されており、それ以外の商用利用については同社からライセンスを取得する必要がある。

脚注

  1. ^ “United States Patent Application 20090227313: Determining Relative Skills of Players”. USPTO. 2014年2月16日閲覧。

関連項目

外部リンク

  • マイクロソフトリサーチ - TrueSkill (英語)
  • マイクロソフトリサーチ - TrueSkill paper (英語)
  • qpp - 「スキル」を計算するということ
  • ekouhou.net - プレイヤの相対的スキルの決定
  • TrueSkill (英語) - Python実装