tags:

views:

142

answers:

1

I have a number of badminton players as input, as well as a number of timeslots in 1 day and need to organize a playing schedule so in the end all players have played a number of games, and we have a final winner.

A: 

There are multiple algorithms that could be use for putting players into game slots, given a variety of constraints (minimizing games each player plays, minimizing the amount of time slots, maximizing the games each player plays, etc.).

Some examples that you might want to look into, for your specific constraints:

In either case, if you want to determine who should go in which group or should be ranked in what ladder, you should seed your players (rank them approximately by how good they are known to be) and try to ensure that games later in the tournament would involve the clash of the highest seeds.

For example, look at the mixed-style system used by the international organization FIFA for generating their World Cup tournament game schedule:

  1. First, they order the teams based on their ranking

  2. They create n groups, with m teams each, and put teams in each group to ensure that something is evenly spread out. In their case, it is a combination of ranking and origin/location.

    For example, if you have teams A B C D E F G H I J K L, ranked from best to worst, and you have three groups of four, you could perhaps do: (for simplicity's sake, ignoring trying to spread out teams by origin/location)

    GROUP 1: A F G L

    GROUP 2: B E H K

    GROUP 3: C D I J

  3. Each team in a group plays every other team. For example, in Group 1, Team A would play team F, G, and L. Team F would play with A, G, L. Team G with A, F, L, etc.

  4. At the end, the best-faring (or best two) team(s) of each group face off in a Single Elimination Tournament, or a "knockout" tournament. The way this is arranged is so that teams in the same group play each other as late in the tournament as possible.

This system ensures that every team/player is guaranteed to play at least a few games, and can "come back" after a first loss. It also ensures that many games are played.

Alternatively, in a "pure round robin" tournament, you may not even use a single elimination tournament, and have everyone play in one giant Round Robin, and have the best of that big group be the winner.

Justin L.
Will upvote this tomorrow.
Graphain