in reply to Re: Algorithm problem: Order matches by difference between players
in thread Algorithm problem: Order matches by difference between players
You are right. The preferred way would be that everyone plays against a player who is furthest away from strength. This was exactly what I tried to do.
My algorithm was first getting all possible matches and also stored the difference between the two players. Then I sorted all matches after this difference and then tried to build the rounds by biggest possible strength difference.
But I had a lot of problems and the algorithm failed for a lot of cases (e.g. 6 players).
I looked at the results of the round robin algorithm and I have to say that the results are really good. Perhaps the sequence for player 8 or 12 is not as perfect as for player 1. But it is good enough for my purposes. And I'm not sure if it is possible to make it better. Because it is important that a player has never to wait (except when he is playing against a bye).
For me it was the most important that the best players play at the end against each other so that it is like a final altough everyone played against everyone.
I even found the round robin algorithm in wikipedia: http://en.wikipedia.org/wiki/Round-robin_tournament. So I think it is a common way to make a tournament according to this algorithm.
|
|---|