Sunday, March 17, 2019

Circle Method - Part 1

Building round robin matchups

For a balanced schedule you want to make sure every team plays every other team some number of times. For almost any schedule through there may be at least "local" balance - e.g., you may want a team to play all its divisional opponents an equal (or nearly so) number of times.

How do you determine the matchups? First, we will charge straight in without any real plan and see where that takes us as we try to build a round robin that gets every team playing every other team.

For 4 teams, it is really easy. If you match team 1 against each other team, then the other series simply falls out...
1 v 2   3 v 4
1 v 3   2 v 4
1 v 4   2 v 3
With 6 teams it gets a little more complicated. You could lay out that team 1 plays each other team...
1 v 2 ...
1 v 3 ...
1 v 4 ...
1 v 5 ...
1 v 6 ...
In the first row you can go ahead with the pattern and slot in 3v4 and 5v6. Then moving to row two you might want to add 2v4...
1 v 2   3 v 4   5 v 6
1 v 3   2 v 4   OOPS
1 v 4 ...
1 v 5 ...
1 v 6 ...
In row two you would have left yourself teams 5 & 6, but you cannot match up them because they are matched up in row one. So instead 2 needs to play either 5 or 6, and 4 needs to play the other of 5 or 6. Then you go to the next row, and...

You can use your brain to figure out how to lay out all the matchups. It is like a puzzle, and there are multiple solutions. Take all the possible matchups and lay them out so that every team is represented in each rows.
1 v 2   
1 v 3   2 v 3
1 v 4   2 v 4   3 v 4
1 v 5   2 v 5   3 v 5   3 v 6
1 v 6   2 v 5   3 v 6   4 v 6   5 v 6
For this case rearrange those matchups into 5 rows of 3 matchups with each team in each row once.

That might not be too difficult. But increasing the number of teams can make it harder to juggle the increasing number of matchups. In the next part we will use the circle method to do things systematically with less figuring out.

No comments:

Post a Comment