AllegSkill: Difference between revisions
No edit summary |
No edit summary |
||
| Line 6: | Line 6: | ||
What follows is the simplest incarnation of the Trueskill update algorithm, as used for commander ratings. We've provided as much information as is sensible, and we only assume that the reader is familiar with (or able to look up) the [http://en.wikipedia.org/wiki/Error_function error function] (<math>erf</math>). | What follows is the simplest incarnation of the Trueskill update algorithm, as used for commander ratings. We've provided as much information as is sensible, and we only assume that the reader is familiar with (or able to look up) the [http://en.wikipedia.org/wiki/Error_function error function] (<math>erf</math>). | ||
This scenario pits a newbie commander (<math>\,\!\mu_l = 25; \sigma_l = 8.333...</math>) against a slightly more experienced commander (<math>\,\!\mu_w = 32; \sigma_w = 5</math>) in a match where the more experienced commander won. | This scenario pits a newbie commander (<math>\,\!\mu_l = 25; \sigma_l = 8.333...</math>) against a slightly more experienced commander (<math>\,\!\mu_w = 32; \sigma_w = 5</math>) in a match where the more experienced commander won. | ||
Now let's put some letters and functions on the field: | Now let's put some letters and functions on the field: | ||
Revision as of 13:07, 13 October 2008
Stub This article is incomplete This is an article about a topic that should be covered in more detail by the FreeAllegiance Wiki, but is lacking in content.
You can help by improving it!
AllegSkill is a system for rating the skill of Allegiance players based on their overall performance in-game. AllegSkill is based on the Trueskill system developed by Microsoft Research (who also developed Allegiance) with some notable additions. The term 'AllegSkill' is intended to refer to the entire system, which includes additional statistics, and Microsoft Research should not be held responsible for differences when and where the occur.
Technical details
What follows is the simplest incarnation of the Trueskill update algorithm, as used for commander ratings. We've provided as much information as is sensible, and we only assume that the reader is familiar with (or able to look up) the error function (<math>erf</math>).
This scenario pits a newbie commander (<math>\,\!\mu_l = 25; \sigma_l = 8.333...</math>) against a slightly more experienced commander (<math>\,\!\mu_w = 32; \sigma_w = 5</math>) in a match where the more experienced commander won.
Now let's put some letters and functions on the field:
<math>\beta = \frac{25}{6} </math> is the standard variance around performance
<math>\gamma = \frac{25}{300}</math> is the dynamics variable, which prevents sigma from ever reaching zero
<math>\varepsilon \simeq 0.08</math> is derived empirically from the percentage of games which result in a draw, currently ~1.01%.
<math>\text{PDF}(x):=\frac{1}{\sqrt{2\pi}} \cdot e^{-\frac{x^2}{2}}</math>
PDF(x) is the probability density function of a normal distribution with a mean of zero and variance of one.
We will also use its cumulative distribution function:
<math>\text{CDF}(y)=\frac{1}{2}+\frac{1}{2}\text{erf}\left( \frac{1}{\sqrt{2}} y\right)</math>.
The Trueskill update functions follow:
<math>V_{win}(t,\varepsilon ):=\frac{PDF(t-\varepsilon )}{CDF(t-\varepsilon )}</math>
<math>W_{win}(t,\varepsilon ):=V_{win}(t,\varepsilon )\cdot \left( V_{win}(t,\varepsilon )+t-\varepsilon \right)</math>
<math>\mu _{w}=32,\sigma _{w}=5,\mu _{l}=25,\sigma _{l}=\frac{25}{3}</math>
<math>c=\sqrt{2\beta ^{2}+\sigma _{w}^{2}+\sigma _{l}^{2}} = \frac{5}{6}\sqrt{186}</math>
<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>\mu '_{w}=32+\frac{\text{0}\text{.09195636321}\sqrt{186}\sqrt{2}}{\sqrt{\pi }}</math>
<math>\,\!\mu '_{w}=\text{33}\text{.00064106}</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>\sigma '_{w}=\sqrt{\frac{3601}{144}-\frac{\text{2}\text{.758690898}\sqrt{2}\left( \frac{\text{0}\text{.5701294519}\sqrt{2}}{\sqrt{\pi }}+\text{0}\text{.04463650105}\sqrt{186} \right)}{\sqrt{\pi }}}</math>
<math>\,\!\sigma '_{w}=\text{4}\text{.760851650}</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>\mu '_{l}=25-\frac{\text{0}\text{.2554343423}\sqrt{186}\sqrt{2}}{\sqrt{\pi }}</math>
<math>\,\!\mu '_{l}=\text{22}\text{.22044149}</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>
<math>\sigma '_{l}=\sqrt{\frac{10001}{144}-\frac{\text{21}\text{.28619519}\sqrt{2}\left( \frac{\text{0}\text{.5701294519}\sqrt{2}}{\sqrt{\pi }}+\text{0}\text{.04463650105}\sqrt{186} \right)}{\sqrt{\pi }}}</math>
<math>\,\!\sigma '_{l}=\text{7}\text{.168423552}</math>
Related Articles
| AllegSkill |
|
|---|