Dominion Strategy Forum

Please login or register.

Login with username, password and session length
Pages: 1 2 [All]

Author Topic: Goko's Rating System, Part 1: ... in a formula!  (Read 16657 times)

0 Members and 1 Guest are viewing this topic.

ragingduckd

  • Board Moderator
  • *
  • Offline Offline
  • Posts: 1059
  • Respect: +3527
    • View Profile
Goko's Rating System, Part 1: ... in a formula!
« on: April 11, 2014, 07:34:34 pm »
+37

They said it couldn't be written down...
They swore they'd never reveal their secret...
Yet today, ladies and gentlemen, we unveil Goko's Rating system in a formula!

... well, in a few lines of pseudocode anyway:
  • Display rating as floor(μ-2σ)
  • Update μ and σ using TrueSkill with β=1375, γ=27.5, draw_probability=5%
Yup, after all the fuss and all the secrecy, they've just been running TrueSkill.  Unmodified, official, read-the-article, download-the-source-code Microsoft TrueSkillTM.

Why Goko misled us about this is totally beyond me.  I contacted Jeff last week, just in case there was some good reason for the subterfuge and MakingFun would somehow be furious if people knew the actual system.  I never got a response... so I guess I hope they're not.  ;)

Tweaks

So what about all those weird tweaks?  Goko told us that they were "perverting the rating system" to prevent ratings from dropping after a win, and that ratings were bounded above and below.  And what about that massive overnight drop in rating?

None of these turn out to be anywhere near as bad as many of us thought.  Goko Pro isn't a good system, but it's bad because of its choice of TrueSkill parameters, not because of its tweaks.
  • Rating can't go below 0: This tweak is purely cosmetic.  If μ-2σ<0, your rating will be displayed as 0, but Goko continues tracking your μ and σ correctly.

  • Rating never drops after a win: It's legitimately possible for your displayed TrueSkill rating to go down after a win.  If you beat a far lower-rated player, TS gives you a modest increase in σ but only a tiny increase in μ.  So μ-2σ can go down even though μ itself (its best guess for your skill) has gone up.

    Goko's tweak for this is also purely cosmetic.  If your displayed rating would change by -3 after a win, the client just lies to you and says there was no change.  But it keeps tracking your μ and σ correctly.  Then if you win the next game and deserve +20, it compensates by showing you +17 instead.

  • μ can't go below 0 or above 10k: This one's real, at least for the Casual system.  But μ=0 in Pro mode is so horrifically bad that not one player has bumped up against the limit.  Same story for the alleged upper bound at 10k.

  • Daily increase in uncertainty: This used to be really brutal.... maybe a 5% increase in σ every 12:00 AM EST.  And the increases compounded since they were re-multiplying your σ by 1.05 every day.   So if you were a frequent player and you took a break, you might drop by -20 points on the first day, but then by -21 on the next day, and by the end of a month you'd be dropping nearly 100 points a day.  As of now, σ increases by only 1% per day, which is more like -4 points on the first day for a frequent player.  Also, it now happens at 12:30 AM... presumably for strategic sheep purposes.
Try it yourself!

I coded up their TrueSkill parameters and tweaks so that you can verify it.  Just punch in your username and your opponent's, and it'll tell you what to expect after a win, loss, or draw.  It tells you both your "real" new rating and the change that MF/Goko will tell you.  They can diverge if you beat a much lower rated opponent, as in the example below.

Please post a screen shot if you discover a case in which its prediction is wrong, but first double-check that it actually had your rating right before the game.  The process that collects that data can fall behind.

Pro Mode Rating Predictor (Offline)



Continued in Part 2: Reverse Engineering the System
« Last Edit: April 17, 2014, 03:30:10 pm by ragingduckd »
Logged
Salvager Extension | Isotropish Leaderboard | Game Data | Log Search & other toys | Salvager Bug Reports

Salvager not working for me at all today. ... Please help! I can't go back to playing without it like an animal!

Kirian

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 7096
  • Shuffle iT Username: Kirian
  • An Unbalanced Equation
  • Respect: +9411
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #1 on: April 11, 2014, 07:47:47 pm »
+1

Just a note on one thing, since it has come up: under most normal TS parameters, the chance of losing rating due to a win is in fact astronomically small... and it requires sigmas to be already ridiculous...
Logged
Kirian's Law of f.DS jokes:  Any sufficiently unexplained joke is indistinguishable from serious conversation.

SCSN

  • Mountebank
  • *****
  • Offline Offline
  • Posts: 2227
  • Respect: +7140
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #2 on: April 11, 2014, 08:01:38 pm »
+13

I've suspected for a while that ragingduckd is not quite human, and no, not an AI either...

Logged

silverspawn

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 5301
  • Shuffle iT Username: sty.silver
  • Respect: +3189
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #3 on: April 11, 2014, 08:12:28 pm »
+1

l
o
l

Schneau

  • Saboteur
  • *****
  • Offline Offline
  • Posts: 1174
  • Shuffle iT Username: Schneau
  • Respect: +1461
    • View Profile
    • Rainwave
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #4 on: April 11, 2014, 08:21:47 pm »
+1

This is awesome and I'm looking forward to part 2.

But, the rating predictor isn't working for me. I get a page where I can enter two usernames, but no button to tell it to "go" or anything. Tested in Firefox and Chrome.
Logged

Awaclus

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 11809
  • Shuffle iT Username: Awaclus
  • (´。• ω •。`)
  • Respect: +12847
    • View Profile
    • Birds of Necama
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #5 on: April 11, 2014, 08:50:28 pm »
+1

But, the rating predictor isn't working for me. I get a page where I can enter two usernames, but no button to tell it to "go" or anything. Tested in Firefox and Chrome.
Also not working with Opera.
Logged
Bomb, Cannon, and many of the Gunpowder cards can strongly effect gameplay, particularly in a destructive way

The YouTube channel where I make musicDownload my band's Creative Commons albums for free

Beyond Awesome

  • Global Moderator
  • *****
  • Offline Offline
  • Posts: 2941
  • Shuffle iT Username: Beyond Awesome
  • Respect: +2466
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #6 on: April 11, 2014, 09:24:47 pm »
+2

AI, you continue to amaze me. Why hasn't Goko offered you a job yet? Or, did you decline their offer?
Logged

silverspawn

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 5301
  • Shuffle iT Username: sty.silver
  • Respect: +3189
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #7 on: April 11, 2014, 09:56:38 pm »
+1

But, the rating predictor isn't working for me. I get a page where I can enter two usernames, but no button to tell it to "go" or anything. Tested in Firefox and Chrome.
Also not working with Opera.

i tested it in firefox and it didn't work, then i tried chrome and it worked. i installed salvager in chrome, in case it matters

ragingduckd

  • Board Moderator
  • *
  • Offline Offline
  • Posts: 1059
  • Respect: +3527
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #8 on: April 11, 2014, 10:26:56 pm »
+7

This is awesome and I'm looking forward to part 2.

But, the rating predictor isn't working for me. I get a page where I can enter two usernames, but no button to tell it to "go" or anything. Tested in Firefox and Chrome.

Apologies, folks.  I've been coding with JS Promises, which I thought I could use on Firefox, but apparently not.  I'm not sure why it doesn't work on "Opera," which I assume is a model of car?

Will try to resolve these issues.

It should work on Chrome... there's no "Submit" button.  It just triggers once you've selected the second name.  Maybe try clicking the name you want when it appears in the autocomplete box, rather than writing it out entirely?

Edit: Installing Salvager isn't necessary and won't resolve any bugs with the rating predictor.
« Last Edit: April 12, 2014, 05:34:05 am by ragingduckd »
Logged
Salvager Extension | Isotropish Leaderboard | Game Data | Log Search & other toys | Salvager Bug Reports

Salvager not working for me at all today. ... Please help! I can't go back to playing without it like an animal!

ragingduckd

  • Board Moderator
  • *
  • Offline Offline
  • Posts: 1059
  • Respect: +3527
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #9 on: April 11, 2014, 10:34:04 pm »
+1

This is awesome and I'm looking forward to part 2.

But, the rating predictor isn't working for me. I get a page where I can enter two usernames, but no button to tell it to "go" or anything. Tested in Firefox and Chrome.

Apologies, folks.  I've been coding with JS Promises, which I thought I could use on Firefox, but apparently not.  I'm not sure why it doesn't work on "Opera," which I assume is a model of car?

Will try to resolve these issues.

It should work on Chrome... there's no "Submit" button.  It just triggers once you've selected the second name.  Maybe try clicking the name you want when it appears in the autocomplete box, rather than writing it out entirely?

Okay, I set it up with JS polyfill to provide the Promise objects, and it works for me on Firefox now.  I'm betting that it'll work on Safari and Opera too, but I haven't tested it.

Edit: You may need to do a "hard refresh" to get the fixed version.  Ctrl-Shift-R on Firefox.
« Last Edit: April 12, 2014, 05:35:49 am by ragingduckd »
Logged
Salvager Extension | Isotropish Leaderboard | Game Data | Log Search & other toys | Salvager Bug Reports

Salvager not working for me at all today. ... Please help! I can't go back to playing without it like an animal!

Awaclus

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 11809
  • Shuffle iT Username: Awaclus
  • (´。• ω •。`)
  • Respect: +12847
    • View Profile
    • Birds of Necama
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #10 on: April 11, 2014, 10:38:10 pm »
+1

This is awesome and I'm looking forward to part 2.

But, the rating predictor isn't working for me. I get a page where I can enter two usernames, but no button to tell it to "go" or anything. Tested in Firefox and Chrome.

Apologies, folks.  I've been coding with JS Promises, which I thought I could use on Firefox, but apparently not.  I'm not sure why it doesn't work on "Opera," which I assume is a model of car?

Will try to resolve these issues.

It should work on Chrome... there's no "Submit" button.  It just triggers once you've selected the second name.  Maybe try clicking the name you want when it appears in the autocomplete box, rather than writing it out entirely?

Okay, I set it up with JS polyfill to provide the Promise objects, and it works for me on Firefox now.  I'm betting that it'll work on Safari and Opera too, but I haven't tested it.

Edit: You may need to do a "hard refresh" to get the fixed version.  Ctrl-Shift-R on Firefox.
Works on Opera.
Logged
Bomb, Cannon, and many of the Gunpowder cards can strongly effect gameplay, particularly in a destructive way

The YouTube channel where I make musicDownload my band's Creative Commons albums for free

blueblimp

  • Margrave
  • *****
  • Offline Offline
  • Posts: 2849
  • Respect: +1559
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #11 on: April 11, 2014, 10:39:47 pm »
+9

My guess as to why they wouldn't say that they're using TrueSkill: TrueSkill is patented, so by using it, they open themselves up to a patent lawsuit from Microsoft.
Logged

ragingduckd

  • Board Moderator
  • *
  • Offline Offline
  • Posts: 1059
  • Respect: +3527
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #12 on: April 11, 2014, 10:43:18 pm »
+1

My guess as to why they wouldn't say that they're using TrueSkill: TrueSkill is patented, so by using it, they open themselves up to a patent lawsuit from Microsoft.

Oh dear... that may well be it.  Here's a note from sublee's LICENSE FILE.  Yikes.

Quote
Caution
=======

This TrueSkill project is opened under the BSD license but the
TrueSkill(TM) brand is not. Microsoft permits only Xbox Live games or
non-commercial projects to use TrueSkill(TM). If your project is
commercial, you should find another rating system.

Or is that saying that you can use the algorithm but not the name?  Because that would explain their behavior too.
« Last Edit: April 11, 2014, 10:44:27 pm by ragingduckd »
Logged
Salvager Extension | Isotropish Leaderboard | Game Data | Log Search & other toys | Salvager Bug Reports

Salvager not working for me at all today. ... Please help! I can't go back to playing without it like an animal!

blueblimp

  • Margrave
  • *****
  • Offline Offline
  • Posts: 2849
  • Respect: +1559
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #13 on: April 11, 2014, 10:52:09 pm »
0

That paragraph somewhat conflates the TrueSkill trademark and the patent (or patents?). It's not the brand they need to be worried about, as long as they don't use the name "TrueSkill". I guess they're just hoping to keep a low profile so that the patent doesn't become a problem.
Logged

Polk5440

  • Torturer
  • *****
  • Offline Offline
  • Posts: 1708
  • Respect: +1788
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #14 on: April 11, 2014, 11:17:51 pm »
+4

Why Goko misled us about this is totally beyond me.  I contacted Jeff last week, just in case there was some good reason for the subterfuge and MakingFun would somehow be furious if people knew the actual system.  I never got a response... so I guess I hope they're not.  ;)

Liability reasons.

Quote
Tweaks
None of these turn out to be anywhere near as bad as we were led to believe.

I feel vindicated in my beliefs. We were not led to believe anything. Many people just don't understand how ranking systems work. They are not achievement systems.

Quote
Goko Pro isn't a good system, but it's bad because of its choice of TrueSkill parameters, not because of its tweaks.

I will wait for the empirical test I hope you ran to back this statement up. I am not convinced the Iso params are chosen optimally. My hypothesis is that they overpredict win rates for the higher ranked player.

Quote
Rating can't go below 0: This tweak is purely cosmetic.  If μ-2σ<0, your rating will be displayed as 0, but Goko continues tracking your μ and σ correctly.

Boy, am I glad to see you confirm this. You had me really worried after you mentioned in the Salvager thread that you thought they were actually storing 0. That would have been a disaster.


Quote
Rating never drops after a win: It's legitimately possible for your displayed TrueSkill rating to go down after a win.  If you beat a far lower-rated player, TS gives you a modest increase in σ but only a tiny increase in μ.  So μ-2σ can go down even though μ itself (its best guess for your skill) has gone up.

Goko's tweak for this is also purely cosmetic.  If your displayed rating would change by -3 after a win, the client just lies to you and says there was no change.  But it keeps tracking your μ and σ correctly.  Then if you win the next game and deserve +20, it compensates by showing you +17 instead.

This makes me soooo happy! An improvement over the Isotropic implementation. This was one of the more heated points of contention, too. I am glad the change they made was cosmetic and doesn't actually affect the long term rating. Keeps the right system, quells the complaints with a little misdirection.
Logged

ragingduckd

  • Board Moderator
  • *
  • Offline Offline
  • Posts: 1059
  • Respect: +3527
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #15 on: April 11, 2014, 11:44:31 pm »
+2

We were not led to believe anything. Many people just don't understand how ranking systems work. They are not achievement systems.

You're right.  I've rephrased it in my OP.  Certainly nobody ever told us "man, is our system awful." ;)

Quote
Quote
Rating can't go below 0: This tweak is purely cosmetic.  If μ-2σ<0, your rating will be displayed as 0, but Goko continues tracking your μ and σ correctly.

Boy, am I glad to see you confirm this. You had me really worried after you mentioned in the Salvager thread that you thought they were actually storing 0. That would have been a disaster.

Sorry... I wasn't clear in that post.  It's the distinction between the mu=0 floor, which is real but not a problem, and the displayed rating=0 floor, which is cosmetic:

Zero Limits - Goko actually uses zero for the data as well as the displayed value.  Like right now my casual rating is displayed as zero (I resign to bots constantly when testing), but if I query the raw data, it gives me {mean: 0, SD: 298}.  So even though my history says I should be -4000 or something, Goko is going to award points to my next opponent as though I was rated zero.  This randomizing bias propagates throughout the leaderboard, having little effect on the top but really screwing up the bottom.

At the time, I though that many of the low-rated Pro players actually had mu=0, like I had in Casual mode.  Now I'm pretty sure there actually aren't any players with mu=0 in Pro.  So there's no bias to screw up the bottom of the leaderboard after all.
« Last Edit: April 12, 2014, 05:30:29 am by ragingduckd »
Logged
Salvager Extension | Isotropish Leaderboard | Game Data | Log Search & other toys | Salvager Bug Reports

Salvager not working for me at all today. ... Please help! I can't go back to playing without it like an animal!

DStu

  • Margrave
  • *****
  • Offline Offline
  • Posts: 2627
  • Respect: +1490
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #16 on: April 12, 2014, 04:38:05 am »
+2

Is TS really patented? I know US patent system is crazy, and protection for the brand and copyright for the actual code is certainly ok, but a patent on this?
Logged

GwinnR

  • Tactician
  • *****
  • Offline Offline
  • Posts: 417
  • Respect: +786
    • View Profile
    • German Youtube-Videos
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #17 on: April 12, 2014, 08:49:59 am »
0

Not sure, if this is the right place, but coming back to my post
Just one note on the leaderboard-discussion: Wouldn't it be possible to search games where Goko says that player A is better and isotropic says Player B is better? Then you could compare how the games end and see which system is right in most times.
I did this for my games several times and the istotropish-leaderboard predicted the right winner in 70% of the games. Ok, I looked at 10 games which is not very significant, but it is a beginning.
Logged
Nobody's perfect, but I'm only a nobody o.O

My german Youtube-Channel: http://www.youtube.com/gwinnrdominion

Kirian

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 7096
  • Shuffle iT Username: Kirian
  • An Unbalanced Equation
  • Respect: +9411
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #18 on: April 12, 2014, 09:37:36 am »
+3

Is TS really patented? I know US patent system is crazy, and protection for the brand and copyright for the actual code is certainly ok, but a patent on this?

Welcome to the US Patent system, where clicking a button, moving a card, or displaying a number are all patentable!
Logged
Kirian's Law of f.DS jokes:  Any sufficiently unexplained joke is indistinguishable from serious conversation.

Polk5440

  • Torturer
  • *****
  • Offline Offline
  • Posts: 1708
  • Respect: +1788
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #19 on: April 12, 2014, 10:06:12 am »
+1

Not sure, if this is the right place, but coming back to my post
Just one note on the leaderboard-discussion: Wouldn't it be possible to search games where Goko says that player A is better and isotropic says Player B is better? Then you could compare how the games end and see which system is right in most times.
I did this for my games several times and the istotropish-leaderboard predicted the right winner in 70% of the games. Ok, I looked at 10 games which is not very significant, but it is a beginning.

Given mu and sigma there are formulas that tell you the predicted win and draw rate probabilities. My first stab at checking the parameters (if I had the time and data) would go something like this:

1. Create a dataset of game outcomes and players' (mu, sigma) at the time the game was played.
2. Calculate the predicted probabilities of each player winning or drawing given their (mu, sigma).
3. Create an empirical distribution of what actually happened. (e.g. create percentage buckets. For each bucket, find games where a player was predicted to win with a percentage that falls into that bucket. What was the actual win rate for players in that bucket?)
4. Does the predicted chance of winning (drawing) match the empirically calculated win (draw) rate?

In a chart with the x-axis being predicted chance of winning and y-axis actual win rate, you should see your observations on approximately a 45 degree line. For example, if the parameters (beta, etc) were chosen too tightly (e.g. not enough "luck") then the predicted probability of winning would be higher than actual probability of winning for players expected to win.

Also, there are (business/community) reasons to distort the rating system/leaderboard by putting in "too much" rating decay for not playing (which would make predicted probs worse). The main one is to encourage regular play and discourage leaderboard camping.
Logged

Polk5440

  • Torturer
  • *****
  • Offline Offline
  • Posts: 1708
  • Respect: +1788
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #20 on: April 12, 2014, 10:16:39 am »
0

Is TS really patented? I know US patent system is crazy, and protection for the brand and copyright for the actual code is certainly ok, but a patent on this?

Welcome to the US Patent system, where clicking a button, moving a card, or displaying a number are all patentable!

This is probably going into RSP territory now, but here is an article about software patents in the US as it relates to a case currently in front of the Supreme Court. The Court could rule on it by June, and I am hoping the ruling (which will probably be narrow) will spur either more software patent challenges or a discussion and change in law about software patents.
Logged

blueblimp

  • Margrave
  • *****
  • Offline Offline
  • Posts: 2849
  • Respect: +1559
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #21 on: April 12, 2014, 12:15:19 pm »
0

Is TS really patented? I know US patent system is crazy, and protection for the brand and copyright for the actual code is certainly ok, but a patent on this?
You say "a patent on this" like the TrueSkill algorithm is somehow obvious, but it really doesn't seem obvious to me!
Logged

DStu

  • Margrave
  • *****
  • Offline Offline
  • Posts: 2627
  • Respect: +1490
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #22 on: April 12, 2014, 12:22:00 pm »
0

Is TS really patented? I know US patent system is crazy, and protection for the brand and copyright for the actual code is certainly ok, but a patent on this?
You say "a patent on this" like the TrueSkill algorithm is somehow obvious, but it really doesn't seem obvious to me!
Afaiu, it's basically bayesian statistic with gaussian prior and gaussian model, which is about the first thing you would try when you want to model skill with uncertainty.
Logged

michaeljb

  • Board Moderator
  • *
  • Offline Offline
  • Posts: 1422
  • Shuffle iT Username: michaeljb
  • Respect: +2113
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #23 on: April 13, 2014, 06:36:08 pm »
+1

Rating never drops after a win: It's legitimately possible for your displayed TrueSkill rating to go down after a win.  If you beat a far lower-rated player, TS gives you a modest increase in σ but only a tiny increase in μ.  So μ-2σ can go down even though μ itself (its best guess for your skill) has gone up.

I don't understand this. I understand that "tiny increase in μ" combined with "modest increase in σ" results in a decrease of μ-2σ, but I don't understand why TS gives you a modest increase in σ.

Isn't σ supposed to be the uncertainty in the rating you have? If so, it seems like it should not be increasing when your actual game result matches the predicted game result. When you play a lower-rated player, the predicted result will be a win for you, and intuitively to me that means that when you do win, uncertainty should remain the same or decrease.
Logged
🚂 Give 18xx games a chance 🚂

Kirian

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 7096
  • Shuffle iT Username: Kirian
  • An Unbalanced Equation
  • Respect: +9411
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #24 on: April 13, 2014, 06:49:34 pm »
+2

Rating never drops after a win: It's legitimately possible for your displayed TrueSkill rating to go down after a win.  If you beat a far lower-rated player, TS gives you a modest increase in σ but only a tiny increase in μ.  So μ-2σ can go down even though μ itself (its best guess for your skill) has gone up.

I don't understand this. I understand that "tiny increase in μ" combined with "modest increase in σ" results in a decrease of μ-2σ, but I don't understand why TS gives you a modest increase in σ.

Isn't σ supposed to be the uncertainty in the rating you have? If so, it seems like it should not be increasing when your actual game result matches the predicted game result. When you play a lower-rated player, the predicted result will be a win for you, and intuitively to me that means that when you do win, uncertainty should remain the same or decrease.

Essentially, sigma is supposed to increase at the start of each game, then decrease at the end of the game, based on how much more certain we are about the player's actual rank.  That initial increase in sigma is what keeps ratings from stagnating.  However, if the decrease in sigma is incredibly small--i.e. a 7500 beats a 1000--the applied decrease in sigma isn't as large as the automatic increase.  This only happens when all players already have sigma near the minimum.
Logged
Kirian's Law of f.DS jokes:  Any sufficiently unexplained joke is indistinguishable from serious conversation.

ragingduckd

  • Board Moderator
  • *
  • Offline Offline
  • Posts: 1059
  • Respect: +3527
    • View Profile
Re: Goko's Rating System... in a formula! (Part 1 of 3)
« Reply #25 on: April 13, 2014, 06:53:13 pm »
+3

Rating never drops after a win: It's legitimately possible for your displayed TrueSkill rating to go down after a win.  If you beat a far lower-rated player, TS gives you a modest increase in σ but only a tiny increase in μ.  So μ-2σ can go down even though μ itself (its best guess for your skill) has gone up.

I don't understand this. I understand that "tiny increase in μ" combined with "modest increase in σ" results in a decrease of μ-2σ, but I don't understand why TS gives you a modest increase in σ.

Isn't σ supposed to be the uncertainty in the rating you have? If so, it seems like it should not be increasing when your actual game result matches the predicted game result. When you play a lower-rated player, the predicted result will be a win for you, and intuitively to me that means that when you do win, uncertainty should remain the same or decrease.

As I understand it, the gamma (aka tau) parameter gives you an increase in uncertainty before every game that's mean to model the possibility that your skill has changed.  And I think you're right that it's really doing the wrong thing when you beat a much lower rated player... it's a compromise.  Without gamma, your sigma plummets and you can end up with a rating that lags your evolving skill level.

There's an argument to be made for skipping gamma and just applying a daily increase in uncertainty...  Holger suggested that Isotropic might have been doing this.  I suppose it's a question of whether you think skill is more likely to change with time away from the game or with experience playing.

Also, what Kirian said. :)
Logged
Salvager Extension | Isotropish Leaderboard | Game Data | Log Search & other toys | Salvager Bug Reports

Salvager not working for me at all today. ... Please help! I can't go back to playing without it like an animal!

michaeljb

  • Board Moderator
  • *
  • Offline Offline
  • Posts: 1422
  • Shuffle iT Username: michaeljb
  • Respect: +2113
    • View Profile
Re: Goko's Rating System, Part 1: ... in a formula!
« Reply #26 on: April 14, 2014, 01:03:13 am »
+1

Cool, thanks for the explanations. I probably could have just read about TS on my own to find out...but what fun is that?
Logged
🚂 Give 18xx games a chance 🚂

qmech

  • Torturer
  • *****
  • Offline Offline
  • Posts: 1918
  • Shuffle iT Username: qmech
  • What year is it?
  • Respect: +2320
    • View Profile
Re: Goko's Rating System, Part 1: ... in a formula!
« Reply #27 on: April 14, 2014, 04:48:18 am »
0

Another redundant rephrasing: TS wants to discount the games you won against good players in the past.  It uses "number of games played" as a proxy for the passage of time.  If you want to discount old games though, then the "bump uncertainty every day" approach seems more reasonable.
Logged

Holger

  • Minion
  • *****
  • Offline Offline
  • Posts: 736
  • Respect: +458
    • View Profile
Re: Goko's Rating System, Part 1: ... in a formula!
« Reply #28 on: April 14, 2014, 12:46:47 pm »
0

Great to have the elusive formula at last. 

  • μ can't go below 0 or above 10k: This one's real, at least for the Casual system.  But μ=0 in Pro mode is so horrifically bad that not one player has bumped up against the limit.  Same story for the alleged upper bound at 10k.

Not even Serf Bot, which has Isotropish mu=-18.7? Since Serf Bot has over 4,000 Pro games, this might make a difference for many weak players...

Rating never drops after a win: It's legitimately possible for your displayed TrueSkill rating to go down after a win.  If you beat a far lower-rated player, TS gives you a modest increase in σ but only a tiny increase in μ.  So μ-2σ can go down even though μ itself (its best guess for your skill) has gone up.

I don't understand this. I understand that "tiny increase in μ" combined with "modest increase in σ" results in a decrease of μ-2σ, but I don't understand why TS gives you a modest increase in σ.

Isn't σ supposed to be the uncertainty in the rating you have? If so, it seems like it should not be increasing when your actual game result matches the predicted game result. When you play a lower-rated player, the predicted result will be a win for you, and intuitively to me that means that when you do win, uncertainty should remain the same or decrease.

As I understand it, the gamma (aka tau) parameter gives you an increase in uncertainty before every game that's mean to model the possibility that your skill has changed.  And I think you're right that it's really doing the wrong thing when you beat a much lower rated player... it's a compromise.  Without gamma, your sigma plummets and you can end up with a rating that lags your evolving skill level.

There's an argument to be made for skipping gamma and just applying a daily increase in uncertainty...  Holger suggested that Isotropic might have been doing this.  I suppose it's a question of whether you think skill is more likely to change with time away from the game or with experience playing.

Also, what Kirian said. :)

I'm unsure whether I prefer daily or gamely uncertainty increases decreases myself (or both, like Goko does). I do agree with michaeljb that the rating shouldn't drop after win, but that's a "bug" of TrueSkill, which Goko (and Isotropish) just copied. Ideally, you'd limit the automatic uncertainty increase by the mu increase (to give at worst a rating change of zero) in the case of an expected result. "Lying" about the rating decrease doesn't help people who get stuck with an ever-decreasing rating for continually beating Serf Bot (there was such a case last year in Casual mode: http://forum.dominionstrategy.com/index.php?topic=6819.msg189088#msg189088 ).

Edit: added link.
2nd edit: fixed "sign error"
« Last Edit: April 15, 2014, 06:13:37 am by Holger »
Logged

Polk5440

  • Torturer
  • *****
  • Offline Offline
  • Posts: 1708
  • Respect: +1788
    • View Profile
Re: Goko's Rating System, Part 1: ... in a formula!
« Reply #29 on: April 14, 2014, 01:13:52 pm »
0

I'm unsure whether I prefer daily or gamely uncertainty decreases myself (or both, like Goko does).

Correct me if I'm wrong, but if I remember the TrueSkill documentation correctly, the per game uncertainty models the idea that the skill you play with for that game is itself drawn from a distribution. One never plays with a fixed underlying skill. For example, I may be watching tv, be under the weather, distracted by something outside, etc. These are factors separate from luck within the game itself. [The modeling assumption is that the parameter (beta, I think?) that describes the distribution from which you "draw" your skill every game is the same for every player.]

The daily uncertainty increase is an artificial way of 1) encouraging play and decreasing leaderboard camping and/or 2) crudely modeling skill depreciation over time.

Quote
I do agree with michaeljb that the rating shouldn't drop after win, but that's a "bug" of TrueSkill, which Goko (and Isotropish) just copied. Ideally, you'd limit the automatic uncertainty increase by the mu increase (to give at worst a rating change of zero) in the case of an expected result. "Lying" about the rating decrease doesn't help people who get stuck with an ever-decreasing rating for continually beating Serf Bot (there was such a case last year in Casual mode: http://forum.dominionstrategy.com/index.php?topic=6819.msg189088#msg189088 ).

Edit: added link.

Again, ranking systems are not achievement systems.

mu - 2*sigma is just one way to represent a two-parameter system as one number to create a leaderboard. If you prefer not having a rating decline purely because of uncertainty increase, then consider preferring a leaderboard based only on mu rather than changing the system itself.

Ideally, the leaderboard/rating decline from a win against a weak player wouldn't necessarily impact the quality of matchmaking, either. I think Microsoft tries to match players on the highest expected probability of a draw (not the same thing as closest rank on the leaderboard). With good matchmaking, rating declines should almost never happen, anyway.
Logged

Holger

  • Minion
  • *****
  • Offline Offline
  • Posts: 736
  • Respect: +458
    • View Profile
Re: Goko's Rating System, Part 1: ... in a formula!
« Reply #30 on: April 15, 2014, 08:04:48 am »
0

I'm unsure whether I prefer daily or gamely uncertainty decreases myself (or both, like Goko does).

Correct me if I'm wrong, but if I remember the TrueSkill documentation correctly, the per game uncertainty models the idea that the skill you play with for that game is itself drawn from a distribution. One never plays with a fixed underlying skill. For example, I may be watching tv, be under the weather, distracted by something outside, etc. These are factors separate from luck within the game itself. [The modeling assumption is that the parameter (beta, I think?) that describes the distribution from which you "draw" your skill every game is the same for every player.]
I think beta does account for the luck of the game, not a "skill distribution". Either way, there is a separate parameter gamma, which does systematically increase the uncertainty once for each game. It's this parameter which allows for rating decreases after a win.

Quote
The daily uncertainty increase is an artificial way of 1) encouraging play and decreasing leaderboard camping and/or 2) crudely modeling skill depreciation over time.

Agreed; but skill depreciation can also be "crudely" modeled by an uncertainty once per game instead, like the original TrueSkill algorithm (and also (in addition to the daily increase) Goko) does.


Quote
Quote
I do agree with michaeljb that the rating shouldn't drop after win, but that's a "bug" of TrueSkill, which Goko (and Isotropish) just copied. Ideally, you'd limit the automatic uncertainty increase by the mu increase (to give at worst a rating change of zero) in the case of an expected result. "Lying" about the rating decrease doesn't help people who get stuck with an ever-decreasing rating for continually beating Serf Bot (there was such a case last year in Casual mode: http://forum.dominionstrategy.com/index.php?topic=6819.msg189088#msg189088 ).

Edit: added link.

Again, ranking systems are not achievement systems.

mu - 2*sigma is just one way to represent a two-parameter system as one number to create a leaderboard. If you prefer not having a rating decline purely because of uncertainty increase, then consider preferring a leaderboard based only on mu rather than changing the system itself.
I wouldn't mind a leaderboard based only on mu (if it doesn't lead to new players getting to #1 with 10 lucky wins); but on Goko, the leaderboard effectively IS the system because they don't publish mu and sigma separately (let alone the estimated win probabilities). And to me it makes no sense at all to decrease  the rating for a win, no matter whether you consider the leaderboard as an "achievement system" or not. FWIW, the Goko leaderboard is used as a ranking system with the Salvager extension (requiring e.g. "4000+" opponents), although I'd consider it an achievement system due to the substracted 2*sigma.


Quote
Ideally, the leaderboard/rating decline from a win against a weak player wouldn't necessarily impact the quality of matchmaking, either. I think Microsoft tries to match players on the highest expected probability of a draw (not the same thing as closest rank on the leaderboard). With good matchmaking, rating declines should almost never happen, anyway.

Certainly the probability of a rating decline also depends on the TrueSkill parameters, not only the good matchmaking. With the high number of complaints about it, it seems to have occurred quite frequently on Goko. (Goko does seem to have good "bot matchmaking", always choosing the bot closest to the rating as an opponent when starting a "Play bots" game. This didn't prevent the quoted Serf Bot matchmaking being a rating trap.)
Logged

WanderingWinder

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 5275
  • ...doesn't really matter to me
  • Respect: +4381
    • View Profile
    • WanderingWinder YouTube Page
Re: Goko's Rating System, Part 1: ... in a formula!
« Reply #31 on: April 15, 2014, 04:40:56 pm »
+2

So it's not clear (or I missed it): did you check this for multiplayer? Because it's possible they're using a system which collapses to being (virtually) identical to a TS implementation for 2-player, but which differs in multiplayer).
(I say virtually here because truncating technically makes it different, though not in a way I'd expect anyone would argue is 'better').

ragingduckd

  • Board Moderator
  • *
  • Offline Offline
  • Posts: 1059
  • Respect: +3527
    • View Profile
Re: Goko's Rating System, Part 1: ... in a formula!
« Reply #32 on: April 15, 2014, 05:41:31 pm »
+4

So it's not clear (or I missed it): did you check this for multiplayer? Because it's possible they're using a system which collapses to being (virtually) identical to a TS implementation for 2-player, but which differs in multiplayer).
(I say virtually here because truncating technically makes it different, though not in a way I'd expect anyone would argue is 'better').

Good question.  Yes, multiplayer appears to be the same.

In the client:

Code: [Select]
Before game: {SD: 418.4078623330855, mean: 761.6906835281002}
Game Result: first place vs two new players
After game: {SD: 413.57218123834264, mean: 963.1254546591063}

In simulation:

Code: [Select]
> import trueskill
> r1 = trueskill.Rating(761.69068, 418.40786)
> r2 = trueskill.Rating(5500,2250)
> r3 = trueskill.Rating(5500,2250)
>
> from gdt.ratings.rating_system import goko
> goko.rate((r1,r2,r3), (1,2,3))[0]
>>trueskill.Rating(mu=963.125, sigma=413.572)
Logged
Salvager Extension | Isotropish Leaderboard | Game Data | Log Search & other toys | Salvager Bug Reports

Salvager not working for me at all today. ... Please help! I can't go back to playing without it like an animal!

ragingduckd

  • Board Moderator
  • *
  • Offline Offline
  • Posts: 1059
  • Respect: +3527
    • View Profile
Re: Goko's Rating System, Part 1: ... in a formula!
« Reply #33 on: April 17, 2014, 03:32:03 pm »
+1

Quote
I coded up their TrueSkill parameters and tweaks so that you can verify it.  Just punch in your username and your opponent's, and it'll tell you what to expect after a win, loss, or draw.  It tells you both your "real" new rating and the change that MF/Goko will tell you.  They can diverge if you beat a much lower rated opponent, as in the example below.

Please post a screen shot if you discover a case in which its prediction is wrong, but first double-check that it actually had your rating right before the game.  The process that collects that data can fall behind.

Pro Mode Rating Predictor (Offline)

I'm taking this offline because the only way I found to keep a current list of Goko Pro ratings is an intolerable nuisance.  I'll add the same functionality to Salvager soon.  It's a whole lot easier to do in the client.
Logged
Salvager Extension | Isotropish Leaderboard | Game Data | Log Search & other toys | Salvager Bug Reports

Salvager not working for me at all today. ... Please help! I can't go back to playing without it like an animal!

Holger

  • Minion
  • *****
  • Offline Offline
  • Posts: 736
  • Respect: +458
    • View Profile
Re: Goko's Rating System, Part 1: ... in a formula!
« Reply #34 on: September 30, 2014, 08:23:47 am »
0

Quote
I coded up their TrueSkill parameters and tweaks so that you can verify it.  Just punch in your username and your opponent's, and it'll tell you what to expect after a win, loss, or draw.  It tells you both your "real" new rating and the change that MF/Goko will tell you.  They can diverge if you beat a much lower rated opponent, as in the example below.

Please post a screen shot if you discover a case in which its prediction is wrong, but first double-check that it actually had your rating right before the game.  The process that collects that data can fall behind.

Pro Mode Rating Predictor (Offline)

I'm taking this offline because the only way I found to keep a current list of Goko Pro ratings is an intolerable nuisance.  I'll add the same functionality to Salvager soon.  It's a whole lot easier to do in the client.

Will you still add this? (Or have you and I just didn't find it?)
Logged

ragingduckd

  • Board Moderator
  • *
  • Offline Offline
  • Posts: 1059
  • Respect: +3527
    • View Profile
Re: Goko's Rating System, Part 1: ... in a formula!
« Reply #35 on: September 30, 2014, 12:50:35 pm »
0

Quote
I coded up their TrueSkill parameters and tweaks so that you can verify it.  Just punch in your username and your opponent's, and it'll tell you what to expect after a win, loss, or draw.  It tells you both your "real" new rating and the change that MF/Goko will tell you.  They can diverge if you beat a much lower rated opponent, as in the example below.

Please post a screen shot if you discover a case in which its prediction is wrong, but first double-check that it actually had your rating right before the game.  The process that collects that data can fall behind.

Pro Mode Rating Predictor (Offline)

I'm taking this offline because the only way I found to keep a current list of Goko Pro ratings is an intolerable nuisance.  I'll add the same functionality to Salvager soon.  It's a whole lot easier to do in the client.

Will you still add this? (Or have you and I just didn't find it?)

I have alpha-quality code for it somewhere, but I'm not sure what I've done with it.

It requires adding a trueskill Javascript package to Salvager, querying the ratings from Goko, calculating the predicted changes using Goko's trueskill parameters, and displaying that in the UI.

Um... anyone else want to do that instead of me writing my code all over again?
Logged
Salvager Extension | Isotropish Leaderboard | Game Data | Log Search & other toys | Salvager Bug Reports

Salvager not working for me at all today. ... Please help! I can't go back to playing without it like an animal!

Holger

  • Minion
  • *****
  • Offline Offline
  • Posts: 736
  • Respect: +458
    • View Profile
Re: Goko's Rating System, Part 1: ... in a formula!
« Reply #36 on: October 09, 2014, 01:11:10 pm »
0

Quote
I coded up their TrueSkill parameters and tweaks so that you can verify it.  Just punch in your username and your opponent's, and it'll tell you what to expect after a win, loss, or draw.  It tells you both your "real" new rating and the change that MF/Goko will tell you.  They can diverge if you beat a much lower rated opponent, as in the example below.

Please post a screen shot if you discover a case in which its prediction is wrong, but first double-check that it actually had your rating right before the game.  The process that collects that data can fall behind.

Pro Mode Rating Predictor (Offline)

I'm taking this offline because the only way I found to keep a current list of Goko Pro ratings is an intolerable nuisance.  I'll add the same functionality to Salvager soon.  It's a whole lot easier to do in the client.

Will you still add this? (Or have you and I just didn't find it?)

I have alpha-quality code for it somewhere, but I'm not sure what I've done with it.

It requires adding a trueskill Javascript package to Salvager, querying the ratings from Goko, calculating the predicted changes using Goko's trueskill parameters, and displaying that in the UI.

Um... anyone else want to do that instead of me writing my code all over again?

If you don't have it ready-made anymore, there's probably no need to put more work into it. (Now I think about it, I would probably be more interested in an Isotropish rating predictor than a Goko rating predictor.)

But I'm still most interested in reading your "Goko vs. Isotropish" article, so put that before anything else... ;)
Logged
Pages: 1 2 [All]
 

Page created in 0.387 seconds with 20 queries.