AllegSkill - Player's ranking

From FreeAllegiance Wiki
Revision as of 14:51, 24 November 2008 by Sgt_baker (talk | contribs) (First stab at player ranking maths. Saving so as not to lose due to timeout.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

What follows is the method for updating a two-team game with an arbitrary number of players.

From a population of n players <math>\{1,...,n\}</math> let <math>k</math> teams compete in a match. Teams are defined by <math>k</math> non-overlapping subsets, <math>T_{j}\subset \{1,...,n\}</math>, of the player population, <math>T_{i}\cap T_{j}=0</math> if <math>i\ne j</math>.

In layman's terms, this means that no player can appear on more than one team at the same time.

Each player, n, has three variables associated with them:

<math>\mu _{n}</math>, their average skill.

<math>\sigma _{n}</math>, their uncertainty about <math>\mu _{n}</math>.

<math>f_{n}</math>, the fraction of the total game played for their team.

Each team, j, has a mu and sigma derived from the ratings of it's players, n, thus:

<math>\mu _{j}=\sum\limits_{\mu _{n}\in T_{j}}{\mu _{n}f_{n}}</math>

<math>\sigma _{j}=\sqrt{\left( \sum\limits_{\sigma _{n}\in T_{j}}{\left( \sigma _{n}^{2}f_{n}+\beta ^{2}+\gamma ^{2} \right)} \right)-\beta ^{2}-\gamma ^{2}}</math>

Henceforth each team is designated according to whether they won or lost the game. We now calculate a new mu and sigma for each team using the standard Trueskill update formulae:

<math>\mu '_{w}=\mu _{w}+\frac{\sigma _{w}^{2}}{c}\cdot V_{win}\left( \frac{\mu _{w}-\mu _{l}}{c},\frac{\varepsilon }{c} \right)</math>

<math>\sigma '_{w}=\sqrt{\sigma _{w}^{2}\left( 1-\frac{\sigma _{w}^{2}}{c^{2}}\cdot W_{win}\left( \frac{\mu _{w}-\mu _{l}}{c},\frac{\varepsilon }{c} \right) \right)+\gamma ^{2}}</math>

<math>\mu '_{l}=\mu _{l}-\frac{\sigma _{l}^{2}}{c}\cdot V_{win}\left( \frac{\mu _{w}-\mu _{l}}{c},\frac{\varepsilon }{c} \right)</math>

<math>\sigma '_{l}=\sqrt{\sigma _{l}^{2}\left( 1-\frac{\sigma _{l}^{2}}{c^{2}}\cdot W_{win}\left( \frac{\mu _{w}-\mu _{l}}{c},\frac{\varepsilon }{c} \right) \right)+\gamma ^{2}}</math>



Now we calculate the total variance:

<math>\beta _{total}=\sum\limits_{j=1}^{k}{\left( \sum\limits_{\sigma _{n}\in T_{j}}{\left( \sigma _{n}^{2}f_{n}+\beta ^{2}+\gamma ^{2} \right)} \right)}</math>