Thanks for this informative site. It's really helped me out a lot. Really great stuff.
Now for the complicated question...
I'm trying to create a tournament scheduling program that creates a schedule based on the number of players given, and a specified number of players per team. For example, the user could create a schedule for 12 players, with 3 players per team. Or for 16 payers, 2 to a team. The team size can vary from 1 to N, where N is (number of players) / 2.
What I'm looking for is an alogrithm to generate a tournament so that every player plays every other, AND so that every player plays *with* as many other players as possible. They may not play with all other players (After reading the page on "social squares" I realized this isn't always possible), but they should play against all others.
This problem's difficult because the team size can vary. Any ideas for how I can create varied teams? All my efforts so far create schedules where some players are frequently on the same team, and I'm wonderign how to reduce this. Anyplace I should look for input? What sort of algorithm should I be looking at?
Thanks again for the great site.