How to do groupings fairly

Sort:
Avatar of droflac

The current system of allocating players to groups is simply not fair. It creates some groups that are much stronger than other groups. For example, in the 20 group tournament that I am currently playing the average rating for group 1 is 1670, group 2 is 1620, group 19 is 1448 and group 20 is 1427. The higher the group number, the easier it is.

It appears to me that currently the best player is allocated to the first group, second best to the second group and so on, down to the nth player being allocated to the nth group. Then the n+1th player is allocated to the first group (assuming we are talking about an n group tournament), and the process continues until all players have been allocated to a group. This means that the first group will be much, much stronger than the nth group, particularly in large tournaments.

A fairer way to do it is as follows:

  • allocate the first n players from group 1 to group n, as is currently done.
  • allocate the second n players from group n to group 1 (start from the bottom and work back up to group 1)
  • allocate the third n players from group 1 to group n
  • continue to allocate players, alternating whether you begin with the first or the last group.
Avatar of oinquarki

Say you have a knockout tournament with a 2000, 1900, 1800, and 1700. With the chess.com system both groups will have a 200 point difference of strength, but with your system the first group will have a 300 point difference and the second group a 100 point difference.

Avatar of Monoceros

Perhaps something like.

Assume that there are n pools, pick the n best players.

Decide randomly in which group every player will be added, when a player is added to a group that group is excluded from the random generator. When the n players are distributed take the n best players which are not distributed and repeat until all players have a group.

This way there is no bias about how the groups are chosen and the groups will be more or less equal strength.

In the case of oinquarki this algorithm will give 50% chance of a 2000 - 1800 and 1900 - 1700 distribution and 50% chance for a 2000-1700 and 1900- 1800 distribution. I think it's discussable which of the two is the best.

Avatar of droflac
oinquarki wrote:

Say you have a knockout tournament with a 2000, 1900, 1800, and 1700. With the chess.com system both groups will have a 200 point difference of strength, but with your system the first group will have a 300 point difference and the second group a 100 point difference.


Yes, but the average rating of each group will be the same. It is (almost?) always the case that if you are seeding a 4 player bracket you pair 1v4 and 2v3.

Avatar of droflac

Dana, yes, having a random system like yours is another option, and is also better than the current system.

Avatar of Monoceros
EvanCalford wrote:

Dana, yes, having a random system like yours is another option, and is also better than the current system.

The problem with your system is that the divisions of n players are not always even.

This means that the first group will get highest lowest highest rated player and you will have how lower the group number how higher the average rating. In that case you would like to have the following lowest highest average.

But it is also a question of objective. Your objective is to make groups with equal rating while oinquarki's objective is to equalize the maximum rating difference between the players.

My algorithm does with a lot of players something in between and because it's random it is also less sensitive to certain situations. If you want you could also build in objectives like the equal rating average objective (perhaps in combination with equalized max rating difference of the players) and pick the best tournament of x random runs. (but perhaps a little too complicated for a site like this :P - or for the people who know what it is use a simulated annealing algoritm).

The combination objective simply means that a 1200 800 1000 is awarded less points then 1050 1000 950 group.  And that a objective function is build which awards the schedule points in some way based on these two objectives and the value the designer gives them.

Just a crazy computing scientist talking here :).