Algorithm Design – Known Algorithms for Scheduling Tournament Matchups

algorithms

Just wondering if there is a tournament scheduling algorithm already out there that I could use or even adapt slightly.

Here are my requirements:

  • A variable number of opponents belonging to a variable number of teams/clubs each must be paired with an opponent
  • Two opponents cannot be from the same club
  • If there are an odd number of players, 1 of them randomly is selected to get a bye

Any algorithms related to this sort of requirement set would be appreciated.

EDIT: I only need to run this a maximum of one time, creating matchups for the first 'round' of the tournament.

Best Answer

As I can see you want to find maximum matching in graph. In fact nodes are players, they connected to each other if they aren't in same club, now you should find maximum number of edges which are doesn't have same vertex. See Edmonds Maximum matching algorithm.

Related Topic