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

Performance drops off a cliff after ~50 teams? #13

Open
downhiller opened this issue Jan 23, 2017 · 2 comments
Open

Performance drops off a cliff after ~50 teams? #13

downhiller opened this issue Jan 23, 2017 · 2 comments

Comments

@downhiller
Copy link

I'm trying to implement this for a sporting event, which could have anything up to 1000 competitors.

I find with 20/30/40/50 competitors it works perfectly, and speedily - typically less than 0.2 second.

But as soon as I go to 60 competitors, it takes over 30 seconds and times out.

Do you have any idea why this would be? Any pointers appreciated, many thanks!

@downhiller
Copy link
Author

image

That'll be the problem then. That's counting loops of

https://github.com/moserware/PHPSkills/blob/master/src/TrueSkill/Factors/GaussianWeightedSumFactor.php#L129

(I counted those simply because that's the line that timed out).

I feel there must be something about the number 26 or 52 in the code, but I can't find it. Coincidence that that's how many letters are in the alphabet..?

@downhiller
Copy link
Author

I found http://disq.us/p/vreqdi, which gave me a pointer.

Changing $initialMaxDelta to 0.1 or even 1 seems to hardly change the order of ranked players after 100 match-ups of 20 player from a large pool at all, or their sigma, but it does significantly inflate their mu.

I've put a base mu of 1000, and with initialMaxDelta as 0.0001 I end up with players on 1200. With 0.1 some are as high as 1350, and with 1 they go right up to 1510.

Sigma is relatively unaffected, and ordering is almost identical.

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

1 participant