Details on XBox TrueSkill Ranking System
rupert0 writes "A research paper on the Microsoft website gives an insight into the way that gamers will be ranked on the new-style Xbox Live. The paper outlines some existing ranking systems, as well." From the article: "The TrueSkill(TM) ranking system is a skill-based ranking system designed to overcome the limitations of existing ranking systems, and to ensure that interesting matches can be reliably arranged within a league. It uses a technique called Bayesian inference for ranking players. Rather than assuming a single fixed skill for each player, the system characterises its belief using a bell-curve belief distribution (also referred to as Gaussian) which is uniquely described by its mean (speak [mju:]) ("peak point") and standard deviation (speak [sigma])("spread")."
Who would have thought this to be a novel way to rank people's skills?*
*I do realize that's not the upshot of the paper. Still, I think all this emphasis on Gaussian distributions for dividing people according to "skill" (read IQ, test scores, etc.) is a bit over done. Convenient, but overdone.
Per Square Mile, a blog about density
I'll believe this method works if I can join a Halo 3 game as a level 1 player and not have my ass kicked. As it is today, if a new Halo 2 player joins an online game, he will be destroyed by the other players regardless of what their ranks are.
And the men who hold high places must be the ones who start
To mold a new reality... closer to the heart
Given that the current system could be described as a "bubble sort".
:\
That is, the cheaters and glitchers bubble to the top, the people looking for a fair and fun game drop to the bottom and eventually give up and stop playing.
Karma: Chameleon (mostly due to the fact that you come and go).
...one must not be able to rank up with simple tactics.
You can hold down the "B" button for continuous firing.
You are retarded.
1) A lot of nerds enjoy video games.
2) The 360 debuts in 14 days.
3) Due to the impending release there is a lot of news, speculation, and hype.
Given the above, it is prefectly reasonable for there to be a mass amount of 360 articles. The same shit happened with the DS and PSP and will happen for the PS3 and Revolution as their release dates approach.
Don't like it? Then fuck off.
It uses a technique called Bayesian inference for ranking players.
:)
The submitter didn't really have to give Bayesian a magical aura...We geeks who remember the first Bayesian spam filters already know it's magical.
tasks(723) drafts(105) languages(484) examples(29106)
Great. A Microsoft announcment detailing their new development of a "bell curve" according to its "mean" and "standard deviation". Are MS claiming to have invented the Gaussian curve?
What's next. Embrace, extend and extinguish calculus? I can just hear the boardroom conversation when the mathematicians try to claim precenent.
Ballmer: "I'm going to f***ing bury that guy, I have done it before, and I will do it again. I'm going to f***ing kill Carl Friedrich Gauss!"
May the Maths Be with you!
Let me start this by saying I have no problem with the Bayesian framework... this usually can be a source for a fight in statistics departments ... I've seen a situation where a professor snapped a potential professor hire for his usage of the Bayesian framework in his presentation.
, j=1..n)... or in more typical terms of likelihood the posterior density (density shaped by events) is proportional to the likelihood times a "prior" belief, or distribution.
Typically the Elo system works on a iterative mechanism that updates after a match... that is to say that you have a prior rank, you play your game, and you have a post-match rank (not technical terms mind you) usually its R[player,after]=Rank[player,before]+("speed factor")(Result(0/1) - WinExpectancy(yourrank,theirrank). For Chess the logit function is used with some additional scaling factor (1/(1+exp(-(yours-theirs)/400)).
This new system is taking advantage of the Bayesian framework, for those not P(A[i]|B)=P(B|A[i])*P(A[i])/sum(P(B|A[j])*P(A[j])
What's the problem in this... the Elo system can adapt to change in ability of the player over time. A Bayes based system can't. The Bayes estimates converge to what is the true values of the parameters in the model as the number of samples increase to infinity. So an estimate given under frequentist frameworks (MLE, UMVUE, Method of Moments) converge to the same estimate given under Bayes frameworks (mode of the posterior, mean of the posterior). Your estimate can only become more refined with data... if you play enough games, the framework cannot account for any substantial changes in skill. The variance of your stregth or ability rating will decrease. Of course the property of the updating scheme is a nice one to have... I've got to figure there is some usage of approximations... they are very scant in terms of either a prior or a modeled distribution for the event (logit, probit, cloglog, some arbitrary cumulative density function). I'm not going to complain about the normality assumptions in prior or posterior though... I wouldn't know about this situation in particular but the Central Limit Theorem pops up over and over again in statistics (there is a Bayesian CLT but I don't know what that entails). Especially in linear model variants such as this. I see this more as improvement by obfuscation... throw out cute words like "True Skill" and the idea that you have this better system that people will impart its own hopes on it. So, if you want to game the system, just win a lot really early before your variance decreases... looking at the formulae there doesn't seem to be any indication that they are utilizing a conjugate prior (which can help for giving forms for solutions that will not want to eat your pets)... otherwise they'd be staring at a gigantic matrix... and anybody who has dealt with multiple parameters in this situation knows that there will be a correlation structure... which seems to be ignored in the formulae.
Most approaches I have seen thus far (as a second year grad student) in Bayes methods works away from a nice framework... many sound methods and realistic problems require Markov Chain Monte Carlo or similar techniques (which can be a nightmare in a computation sense)... either you have to have something of an incredibly nice form or you need to make use use of approximations to make a system like this work. I don't see how this will be all that appropriate in online gaming... sports I can see since you aren't taking somebody who mastered squash and putting them right into rugby. (Irrelevant to topic at hand-->) I've always had an interest in methods of ranking players/competitors but mainly from a sports angle. I've got a system drawn up in my head, its a matter of seeing if I can get it to work and then having a few hundred breaks work my way in terms of implementation (again, MCMC is probably the best tool in a lot of cases... but its a computational/time killer). The Bayesian framework is great if you have a good sense of piror belief as it can help guide you to a solution... but it is naturally biased (not necessarily from a point of malice) and at times it is used inappropriately.
I'll know it's working if it ranks me up near the top. Yeah, that'll be what decides it. If gives me any of that "below average" stuff I'll know it's utter crap.
More seriously, FINALLY, an idea concerning X-Box 360 that I actually like.
I believe, unless my statistics course was in vain(highly probable) that the term for mean is mu, not mju.
yes, I know its a spelling error, look at my name!
At one stage of Greek, possibly the stage where Latin borrowed heavily (and added K, X, Y, and Z to its alphabet), the letter upsilon was pronounced somewhere between "oo" [u] and "ee" [i], perhaps like a Japanese unrounded u [M] or a German rounded i spelt ü [y]. In the latter case, the name of the letter mu would be pronounced [my], and "myoo" [mju]/[mjUw] would be a decent English approximation given the homophony of "Führer" and "furor" in English dialects.
But in modern Greek, words spelled with upsilon are pronounced with an "ee" [i] sound, so the name of the letter mu sounds like the English word "me" [mi]. To get an "oo" [u] sound in modern Greek orthography, you need to write ou, omicron+upsilon.
(Pronunciations use ad-hoc respelling followed by X-SAMPA notation.)
The beauty of the Chess rating system is that the higher the peak on the bell, the more complex your game is. If the peak never rises very high, your game doesn't have a large skill differential, and is probably on par with a 2nd rate Street Fighter 2 clone that is nothing but button mashing. But if your peak goes above and beyond Starcraft or Chess, then your game is epically complex.... Now we'll never be able to compare games together because they'll always use different systems, but if they adopted the chess ranking system as its system, you can at least compare it to chess in depth.
God spoke to me.
say what? (speak [english])
So why is this news? The Microsoft engineers came up with a reasonably obvious method of ranking people, got a trademark on a stupid name, and now this standard rating method is getting free advertising space on Slashdot, and the methedology behind it is sound enough that nobody calls them on it. They didn't do anything. They're just measuring the skill of a player as a standard deviation up or down from where they are for matching players.
This is less an Xbox story than a story of a highly stastistical method for ranking and pooling players together in an online environment.
Bayesian Inferrence refers to a rather large class of algorithms. It would be nice if something were more specific.
To give a heads up as to what this all is. Bayesian statistics are based on the idea that a probability can be updated based on additional information.
So, perhaps you have a prior of 0.5. There is a 50/50 chance that whoever you're looking at is better than another player.
Ok, so, 0.5 is the prior. Or, perhaps he's one 90% of the games played, so 0.9 is the prior. Now, 50% of games against the 2nd ranked person, he won, but only 20% against the third... and so on. That would be one form of bayesian inferrence.
Other forms? Naive Bayes is a type of, fairly simple machine learning algorithm. There are also graphical models, which are rather advanced bayesian machine learning models.
Seriously, three Xbox 360 articles on the front page? There's astroturfing, and then there's Slashtroturfing. Give it a rest, guys. I mean, who gives a shit?
Gaming is an interesting phenomenon, and I follow the market and read Penny-Arcade--but I don't need to see all this advertising for Microsoft's next attempt to win another market.
--
$tar -xvf
Bayesian inference is typically used when you have a guess about a certain distribution, in this case a player's skill, and you can take observations that give you some information about the true distribution to get a fairly good approximation that converges to the real distribution as the number of samples increases. There are a couple of problems with the framework here. First, it says that it takes 50-100 games to converge to the real value. This becomes problematic when you factor in the fact that each player's skill is changing fairly constantly, probably at a rate faster than the convergence factor, and moreover the entire skill of all the player's on the network probably increases over time fairly steadily too. I don't know how to work the math out, but it seems like this may not be accurate for the given application. They would be better off with some sort of temporal model, but these tend to be much more complicated. Take this with a grain of salt though, I'm just an undergrad and may be reading it completely wrong.
An idea I had for a ranking system would be to adapt a method used to determine the most influential person in a social network.
You just put all of the records of how many times each player has killed every other player in a big matrix and compute the eigenvector with the largest positive real eigenvalue. The larger a player's entry is in this eigenvector, the more skilled they are. This method takes into consideration both how many people a player has killed and how many kills those people have and how many kills the people they've killed have and so on. Using this method you can also develop methods for estimating the probability that one player will defeat another particular player.
The matrix can be viewed as the adjacency matrix of a multigraph. The skill level of a player is determined by the number paths starting at that player's vertex. If computing the eigenvector is too difficult you can come up with a reasonable approximation of the players' skill levels by only considering paths up to a certain length.
My only political goal is to see to it that no political party achieves its goals.
Possibly the worst ranking system I've seen is the World of Warcraft PVP ranking system. It basically rewards how often you play the game rather than the system which I'm use to in FPS - kills:death ratio.
The system has 14 ranks, which get progressively harder as you get higher up. The amount of damage you deal to a person decides how much 'honor' you get. Your honor is added up and your rank improves each week.
Now the problem with this is obviously the more you play, the more honor you get (much like XP).
In order to overtake ranks above you and achieve the top rank, you have to compete with their honor. With people playing all day everyday this is virtually unachievable to anyone but students or the unemployed.
Why reach the top rank? Well the rewards (weapons,armour) are within the top 3 in the game. This is the only reason I play (I don't have time to dedicate 5 hours a night to go to Molten Core or Black Wing Lair - and besides being a Paladin means I never get the decent sword as it will always go to a Warrior or Rogue. I get stuck with 'epic' armour that is meant for player-versus-environment healing).
I'm hoping they make the system a lot more intelligent in the future. Not kill:death ratio based, but make the objectives give much greater honor rewards, reward teamplay: e.g. healing,traps,saps and also honor-per-time-played used instead of the stupid grind crap at the moment.
Nothing costs nothing
This is all looking pretty complicated. It's interesting what all has to go on the try to keep players playing similarly skilled players. So I guess the next step is to have two human polls and a computer ranking system. Of course, they would only really be shooting to pit #1 against #2 and then just make as much money as possible of the rest of us. And don't even think about a playoff to determine the best players.
I actually agree with you. This is EXACTLY what MS wants... For a bunch of people who largely proclaim hatred for MS, everyone's playing right into their hands...
I don't know about the rest of you, but I get an uneasy feeling when companies start trademarking truth.
Oh, say does that Star-Spangled Banner entwine / The myrtle of Venus with Bacchus's vine?
That's not what they're doing. They're representing a player's skill by a tuple of an average and standard dev. I.E., it can make the difference between a player who has a lot of ups and downs, versus a consistent player, even though they have the same "average skill."
Ah, what wouldn't one do for an FP...
Try Corewar @ www.koth.org - rec.games.corewar