lichess.org
Donate

Exact Ratings for Everyone on Lichess

@ant_artic
Thank you for taking an in-depth look at the code. I will have a look at all you suggestions when I get the time.

Also, having large jumps seems to make it converge faster. I guess overshooting is useful to quickly get good and bad players away from 1500. Might not actually be useful when you seed the ratings with previous ratings. I actually did bayesian optimization on the hyper-parameters for fun. I also computed the optimal "K" values for 1000 steps of optimization on the blitz dataset. Here is a graph of ln(K) over 1000 steps: https://i.imgur.com/Y0L6pnD.png
K-values. I think this is about making ad-hoc exceptions to the population model as in traditional ELO. right?
Chess960 is the category which needs such recalculation badly, all the more that the one and only chess960 rating list encompasses all kinds of time controls from 1/4 min per game to 45 min+ (whereas chess960 is not a minor variant but the same chess and even its better, richer form).
@Former_Player said in #104:
> Chess960 is the category which needs such recalculation badly, all the more that the one and only chess960 rating list encompasses all kinds of time controls from 1/4 min per game to 45 min+ (whereas chess960 is not a minor variant but the same chess and even its better, richer form).

Very true. Chess960 is the logical extension of chess. It should be more respected. I love playing longer (30m+) Chess960 games.
@Former_Player said in #104:
> Chess960 is the category which needs such recalculation badly, all the more that the one and only chess960 rating list encompasses all kinds of time controls from 1/4 min per game to 45 min+ (whereas chess960 is not a minor variant but the same chess and even its better, richer form).

Thank you for the suggestion! I'll be doing all variants for my next post. What time control categories would you suggest for chess960? I'm worried there won't be enough games if we do the usual hyper/bullet/blitz/rapid/classical split.
@justaz said in #106:
> Thank you for the suggestion! I'll be doing all variants for my next post. What time control categories would you suggest for chess960? I'm worried there won't be enough games if we do the usual hyper/bullet/blitz/rapid/classical split.
I would suggest everything slower than 2+0, i.e. blitz+rapid+classical, excluding hyper and bullet. As for me, hyperbullet chess960 makes very little sense at all, but farmers might have a different opinion about it. In any case, extremely fast time controls (when it's all about the clock) should be separated from slower ones so that the ratings are more reflective of the players' chess skills, not their mouse skills.
The blitz/rapid/classical split would be perfect, but only if there are enough games for that, as you said. I don't know how many chess960 games have been player here with classical time controls. Thank you for your efforts in turn, BTW.
@Former_Player said in #107:
> I would suggest everything slower than 2+0, i.e. blitz+rapid+classical, excluding hyper and bullet. As for me, hyperbullet chess960 makes very little sense at all, but farmers might have a different opinion about it. In any case, extremely fast time controls (when it's all about the clock) should be separated from slower ones so that the ratings are more reflective of the players' chess skills, not their mouse skills.
> The blitz/rapid/classical split would be perfect, but only if there are enough games for that, as you said. I don't know how many chess960 games have been player here with classical time controls. Thank you for your efforts in turn, BTW.

Perhaps it is possible to weight the observations, instead of filtering them. Something like weight = time+40*inc; where time and inc are expressed in seconds. This will weigh more the longer games than the faster ones. It also compensates their relative frequencies (longer games are much fewer so need more weight).
@BananaBeaver said in #108:
> Perhaps it is possible to weight the observations, instead of filtering them. Something like weight = time+40*inc; where time and inc are expressed in seconds. This will weigh more the longer games than the faster ones. It also compensates their relative frequencies (longer games are much fewer so need more weight).

I don't know how helpful your idea will be (the usual rating split according to time controls looks more logical if there are enough games) -- but, whatever, I think no weight in a serious rating list should be given to hyperbullet games because this mode is all about making as many chaotic (pre)moves as possible with the sole purpose of winning on time. It may be called a 'variant' but it has nothing to do with chess. If anything, it's more logical to merge all hyperbullet lists together (chess, chess960, bughouse etc.) than to calculate chess960 hyperbullet on par with chess960 slow.
@Former_Player said in #104:
> Chess960 is the category which needs such recalculation badly, all the more that the one and only chess960 rating list encompasses all kinds of time controls from 1/4 min per game to 45 min+ (whereas chess960 is not a minor variant but the same chess and even its better, richer form).

If you add it in Chess960 you have to add it in all variants I assume. I think you could easy add it but is the chess960 list so important that we need a split into time controls? I think it is not the first time you worry about it. Why not using the Lichess code and add this? You are absolutely allowed to do it. The problem of different time controls= different ratings. You would need so many rating groups and rating for different time controls. In some variants it could be a problem to find enough player for the variants lists.