Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What's quality_1vs1 really shows? #62

Open
Ghotrix opened this issue Sep 15, 2024 · 1 comment
Open

What's quality_1vs1 really shows? #62

Ghotrix opened this issue Sep 15, 2024 · 1 comment

Comments

@Ghotrix
Copy link

Ghotrix commented Sep 15, 2024

I've simulated a match of 10000 games between players A and B. A is stronger than B and is expected to score 0.71 on average. Given that the expected score and win probability - P(W)=0.5, P(D) would be equal to 0.42 and P(L)=0.08. Yet the simulation result shows quality_1vs1 is equal to ~0.882. Am I misunderstanding quality function or it's something else?

@bernd-wechner
Copy link
Contributor

I won't speak for that function now but quickly:

  1. The source code is easy to browse:
    https://github.com/sublee/trueskill/blob/master/trueskill/__init__.py#L516

  2. Match quality in Trueskill is a measure of the probability of a draw given the skills of the two players (within what they call the draw margin - a configuration for the game). It is intended to describe the quality of the match in the sense that it's much more fun if players are equally skilled and much less fun (a lower quality match) if one player is way better than the other and you can predict up front they'll win. Match quality is a function only of the current ratings of the competing players and has nothing to with their history (or the 1000 matches). What you presumably want to look at after a 1000 match test, is the ratings of the two players and assess the probability of victory for the two players. I don't think this library implemented win_probability but I did, and if you're keen I can take a closer look later.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants