a.k.a. an Eulerian path.
A few weekends ago, Berlin hosted the Astrological Bench, where we had 12 teams, one per sign, and players were (where possible) allocated to their respective zodiac sign. Each team had in average 5,2 players, which means we had a lot of people and a lot of games to cover in the dwindling daytime of September. At our classic Wednesday pick-up session before the tournament, I exposed my two main ideas of what could be a gameplan, and tried to gauge how much people liked each one. They were:
- short games, no substitutions (less complicated, more games per team);
- long games with substitutions (less games, more waiting time)
Everybody instantly agreed that substitutions should be allowed all the time, even in short games, but there was no strong preference about length of games. Well, actually I had a preference: with 12 teams to play, long games would make you play only against 5 or 6 of the other teams, which is shit. And here came the idea: what if we do short games, but every team plays two games in a row? Something like
A x B
A x C
D x C
D x E
…
This way everybody plays against a lot more teams and can also stay longer in court, and we could also follow this mystic cycle of games that eventually ends up again in the first team, which could fit the concept of the astrological stuff. @Leon said “eh, nice”, and this set the wheel in motion.
As it turns out, it is pretty complicated to find this seamless sequence by hand, so me and @snoops did the best we could:
On the week after the tournament, @momo showed me the solution: Eulerian paths, a well known thing in graph theory, with several methods to automatically find a solution. Googling for “eulerian path online calculator” we land in the last part of the puzzle, so here is how you actually find an Astrobench™ gameplan:
- go to this online tool
- add one vertex per team
- connect vertices as undirected. each connection symbolizes a game and you can only have an even number of games per team, otherwise there will be no path
- click on “Algorithms → Find Eulerian path”.
And voilà, it spits out the sequence of games. In our case, it looks like this:
If you look closely, you will see that sometimes a team has almost no rest between playing, while others have a longer waiting time. So far as my experiments go, this is pretty unavoidable. On the other hand, I simply cut the list of numbers in half to get a 2-day gameplan, and surprisingly enough all teams get a fair and balanced number of games each day.
One could argue that a disadvantage of this system is that it makes for longer waiting times for a given team between their games (which is only true for short games anyway), but in general I see several advantages in this format. For example, every time you play you get to enjoy the court for a bit longer. For the organization is also easier, because you only have to hunt down one team to get ready instead of two. Plus, the longer waiting times are easily solved if your tournament has good off-court entertainment options - everybody will be glad to hang out near the beer crates, the ping pong tables or the make-up box.
So that’s it. Did you play the Astrological Bench? What do you think of the format?