AllegSkill - Player's ranking: Difference between revisions

From FreeAllegiance Wiki
Jump to navigationJump to search
(First stab at player ranking maths. Saving so as not to lose due to timeout.)
 
No edit summary
Line 29: Line 29:
<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>
<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>




Each team has a V and W factor:


<math>V_{j}=\frac{\sqrt{\beta _{total}}\left( \mu '_{w}-\mu _{w} \right)}{\sum\limits_{\sigma _{n}\in T_{j}}{\left( \sigma _{n}^{2}f_{n}+\beta ^{2}+\gamma ^{2} \right)}-\beta ^{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>
<math>W_{j}=\frac{\beta _{total}\left( 1-\frac{\sigma _{new}^{2}}{\sigma ^{2}} \right)}{\sum\limits_{\sigma _{n}\in T_{j}}{\left( \sigma _{n}^{2}f_{n}+\beta ^{2}+\gamma ^{2} \right)}-\beta ^{2}}</math>

Revision as of 15:14, 24 November 2008

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>


Each team has a V and W factor:

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


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