vivekjoshy / openskill.py

Multiplayer Rating System. No Friction.

Home Page:https://openskill.me

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Improve win predictions for 1v1 teams

antl3x opened this issue · comments

First of all, congrats and thanks for the great repo!

In a scenario that Player A has 2x the rating of Player B, the predicted win probability is 60% vs 40%. This seems strange.

players = [ [Rating(50)], [Rating(25)] ]

predict_win(teams=players)

[ 1 ]: [0.6002914159316424, 0.39970858406835763]

If I use this function implementation, I get 97% vs 3% which sounds more reasonable to me.

Maybe the predict_win function has some flaw?

@nthypes This seems to be side effect of that function being generalized by us to accommodate for more than 2 teams. I just tested that function with openskill benchmarks and it does seem to perform better (by around 2%) on 1v1 teams. But overall it doesn't seem to affect the benchmarks by much. We actually created our benchmarks against the win_probability function proposed in that thread to compare against trueskill. As expected the ratings will get more accurate the lower sigma gets. If that 2% matters to you, feel free to create a pull request to add it as a special case for 1v1 teams.