Closed jaguilar closed 6 years ago
I don't think TrueSkill guarantees the 0-50
range. I haven't heard about TrueSkill's limit range. A mu=-1
player is just weaker than a mu=0
player.
In my opinion, it's not a weird behavior in a very large game. You can get ratings out of 0-50
among 2 players with very many games:
>>> a, b = Rating(), Rating()
>>> for x in range(100000):
... a, b = rate_1vs1(a, b)
>>> a.mu
65.42929086439979
>>> b.mu
-15.429290864397833
Hrm. I think I misunderstood your comment about ratings being too low in #5 to mean that they should not be below zero. The true cause of my zero division errors is that some time during the calculation, the highly rated players are thought to have way too high of a probability of winning against an unranked player. So maybe I need to change my parameters so that mu updates more slowly.
@jaguilar Okay. Can we close this issue?
Yes, thanks.
On Feb 11, 2018 3:01 AM, "Heungsub Lee" notifications@github.com wrote:
@jaguilar https://github.com/jaguilar Okay. Can we close this issue?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/sublee/trueskill/issues/22#issuecomment-364731487, or mute the thread https://github.com/notifications/unsubscribe-auth/AAwzTGKT06jm46w2WjPqAHJ4cuVzEk3Dks5tTp5BgaJpZM4R4z-e .
Colab notebook demonstrating issue
I made a free-for-all consisting of 20k default-initialized players. The top-ranking players in a simulated game had ratings of over six hundred with the default trueskill settings. The bottom ranking players had negative ratings. I had been under the impression that the default settings would generate ratings between zero and fifty. Is this a bug in the Python version of the code, or the algorithm itself?
Code, if you don't have access to colaboratory or lack a Google account: