Field Day Schedule (8 Teams and 8 Games)

48 Views Asked by At

Need to figure out schedule for company field day. We have 8 teams, with 8 games to play. Each team should play each game only once. Can repeat teams faced, but not more than twice and no team should play the same game twice.

1

There are 1 best solutions below

0
On

EDIT

Hold the phone! I found a mistake in my script. My method worked. Here's my solution:

Round 1
Team 1 vs. Team 2 in game G
Team 7 vs. Team 8 in game B
Team 3 vs. Team 4 in game C
Team 5 vs. Team 6 in game A

Round 2
Team 1 vs. Team 2 in game D
Team 5 vs. Team 6 in game H
Team 3 vs. Team 4 in game E
Team 7 vs. Team 8 in game F

Round 3
Team 1 vs. Team 3 in game A
Team 2 vs. Team 4 in game F
Team 6 vs. Team 8 in game D
Team 5 vs. Team 7 in game G

Round 4
Team 2 vs. Team 3 in game H
Team 6 vs. Team 7 in game E
Team 5 vs. Team 8 in game C
Team 1 vs. Team 4 in game B

Round 5
Team 4 vs. Team 8 in game A
Team 2 vs. Team 6 in game C
Team 1 vs. Team 5 in game E
Team 3 vs. Team 7 in game D

Round 6
Team 1 vs. Team 6 in game F
Team 2 vs. Team 5 in game B
Team 4 vs. Team 7 in game H
Team 3 vs. Team 8 in game G

Round 7
Team 4 vs. Team 6 in game G
Team 1 vs. Team 7 in game C
Team 3 vs. Team 5 in game F
Team 2 vs. Team 8 in game E

Round 8
Team 4 vs. Team 5 in game D
Team 3 vs. Team 6 in game B
Team 1 vs. Team 8 in game H
Team 2 vs. Team 7 in game A

I attacked this in two stages; first I came up with a schedule of which teams played against each other in what rounds, by the manner described below. Then I tried to assign sports to the matches with the "dancing links" algorithm with the following constraints:

  1. Each match is assigned exactly one sport
  2. Each team plays every sport
  3. No sport is played twice in the same round

Here is a description of how I built the schedule. It's very ad hoc. I don't know offhand how to generate more schedules to test.

Represent the teams as elements of $Z_2\oplus Z_2\oplus Z_2$, and consider the addition table as indicating what round the two teams will meet. If $a+b=c$ that means that teams $a$ and $b$ meet in round $n_c$ where we've numbered the elements. Since the group is commutative, the table is symmetric, and we have no conflicts. Since since every element has order 2, all teams "play themselves" in the same round. So, instead of this round, we just just pair off the teams. That gives a schedule where each team plays every other team once, and exactly one team twice.