Let’s imagine that two players differ in strength, and that this strength could be represented as “levels of energy”. The stronger the player, the lower (more stable) level of energy represents this player. Let’s suppose that these two levels of “energy” are fighting for an element (a win). The lower the level, there are more chances to “attract” that element. For instance, a valley is more likely to attract water than a mountain top. In chemistry, a particle or a molecule that could be in two different energetic levels could be predicted to be in one or the other with a certain probability.michiguel wrote:Hi Remi,Rémi Coulom wrote:I see, thanks. It is like bayeselo, except there is no prior, no confidence intervals, no LOS, and the model is Gaussian instead of logistic.
Rémi
It is logistic. The procedure has evolved since the beginning, when I used a Gaussian (there are other things that I do not need to do for engines, like giving weights for "newer" games etc.Home field advantage, or neutral). In fact, this is a simpler rewrite in C of the original Pascal code. I still do not have White-Black bonus calculation, for instance.
I just gave the volleyball link for historical purpose and out of laziness. I will try to give more details soon. The fact that is logistic is a "mathematical convergence" of my "theoretical" frame work. I did not pick the equation to mimic a Gaussian as I recently mention days ago here. As Kai told me, it may look very similar to BayesELO mathematically.
Miguel
Code: Select all
Level A ----------- (weaker player)
/\
|| Delta Energy = Ea - Eb
\/
Level B ----------- (stronger player)Code: Select all
Na/Nb = exp(-beta*(Ea-Eb)) We can treat the probabilities of a particle to be in A or B, as analogous of a win to fall in A or B.
Therefore, after reordering the equation, the fraction of wins (f) of player B out of the total played (Nb/(Na+Nb)) will be
Code: Select all
f = 1 / (1 + exp(-beta*(Ea-Eb)))Code: Select all
f = 1 / (1 + exp(-beta*(Sb-Sa)))With this equation we can calculate the predicted fraction of wins between two players if the model is appropriate. The predicted performance Px, or number of wins of player X among a pool of other players will be the summation of each of the predicted fractions“f” for each game (similar to the number of particles or molecules that will be in state “X” in presence of many other energy levels or states).
Code: Select all
Px = fa + fb + fc … + fnCode: Select all
Px = 1 / (1 + exp(-beta*(Sx-Sa))) + 1 / (1 + exp(-beta*(Sx-Sb))) + 1 / (1 + exp(-beta*(Sx-Sc))) … etc.Beta was chosen to make sure that the scale looks like ELO, for the people that are accustomed to that type of scale (chess players). When the difference of ELO is 200 points, IIRC, I chose that in my scale 200 points give the same probability of win.
Miguel
PS: I never read what other rating programs do and I apologize for it. I really wanted to learn what BayesELO do but I never got the time to read about it.
