Round Robin Tournament Scheduling

table tennis doubles tournament, switch partners

stuff · 6 · 7814

stuff

  • Newbie
  • *
    • Posts: 0
on: October 13, 2017, 11:25:10 PM
hi,

here's what we're trying to accomplish:
constant:
5 tables
switch partners every game.
play different people every game before playing a person a second time.
try to have everyone play same amount of games, sit out same amount of games

variable:
number of players could be between 18 and 32
number of rounds would depend o how long the games take.  we're thinking between 12 and 25

is there an easy way to prepared for the given situations and come up with pairing quickly?  I've looked at some span diagrams but am not sure how they'd work with so many people switching in and out.

fascinating stuff, but it's beginning to make my brain hurt.

thank for any help you might be able to provide.


Ian Wakeling

  • Forum Moderator
  • God Member
  • *****
    • Posts: 1140
Reply #1 on: October 14, 2017, 02:38:19 PM
There will be few combinations of the number of players and rounds that lead to a tournament where everyone gets the same number of games (and byes).  I counted only 35 possibilities. A lot of these will be where the number of players is 20 and everything is easier because there are no byes.  In particular 20 players in 19 rounds is the whist design that you can find by clicking on the 'schedules' link near the top of the page.   Another balanced solution will be the whist design for 21 players in 21 rounds, and you can find the first round of a cyclic schedule on this web page.

Very few of the other possibilities will work out nicely, and I fear you have no option other than writing or finding software to optimise the properties that you have outlined above - I don't see that there is any easy way here.  There is software out there that may help if you try an internet search for tennis doubles software.

For me, the most interesting of the 35 possibilities is 25 players and 15 rounds.   It is possible to have a tournament where every player has 12 games and 3 byes, with 12 different partners and oppose every other player exactly once.  For example:

      Table 1         Table 2         Table 3         Table 4         Table 5            Byes
  (23  8 v 14  1) (12  3 v 17 13) (22 24 v 10  6) (11  9 v 20 18) ( 4 25 v  2 16)   (21  7  5 15 19)
  (24  9 v 15  2) (13  4 v 18 14) (23 25 v  6  7) (12 10 v 16 19) ( 5 21 v  3 17)   (22  8  1 11 20)
  (25 10 v 11  3) (14  5 v 19 15) (24 21 v  7  8) (13  6 v 17 20) ( 1 22 v  4 18)   (23  9  2 12 16)
  (21  6 v 12  4) (15  1 v 20 11) (25 22 v  8  9) (14  7 v 18 16) ( 2 23 v  5 19)   (24 10  3 13 17)
  (22  7 v 13  5) (11  2 v 16 12) (21 23 v  9 10) (15  8 v 19 17) ( 3 24 v  1 20)   (25  6  4 14 18)
  (15  6 v  1  7) (10  3 v  2 14) ( 5 23 v 12 13) (18 22 v 16 17) (24 19 v  9 21)   ( 4 25 11 20  8)
  (11  7 v  2  8) ( 6  4 v  3 15) ( 1 24 v 13 14) (19 23 v 17 18) (25 20 v 10 22)   ( 5 21 12 16  9)
  (12  8 v  3  9) ( 7  5 v  4 11) ( 2 25 v 14 15) (20 24 v 18 19) (21 16 v  6 23)   ( 1 22 13 17 10)
  (13  9 v  4 10) ( 8  1 v  5 12) ( 3 21 v 15 11) (16 25 v 19 20) (22 17 v  7 24)   ( 2 23 14 18  6)
  (14 10 v  5  6) ( 9  2 v  1 13) ( 4 22 v 11 12) (17 21 v 20 16) (23 18 v  8 25)   ( 3 24 15 19  7)
  (10 20 v  8  4) (13 11 v  6 19) (24 15 v 23 12) (22 16 v  1  3) (17  5 v 25  9)   (21  2 14  7 18)
  ( 6 16 v  9  5) (14 12 v  7 20) (25 11 v 24 13) (23 17 v  2  4) (18  1 v 21 10)   (22  3 15  8 19)
  ( 7 17 v 10  1) (15 13 v  8 16) (21 12 v 25 14) (24 18 v  3  5) (19  2 v 22  6)   (23  4 11  9 20)
  ( 8 18 v  6  2) (11 14 v  9 17) (22 13 v 21 15) (25 19 v  4  1) (20  3 v 23  7)   (24  5 12 10 16)
  ( 9 19 v  7  3) (12 15 v 10 18) (23 14 v 22 11) (21 20 v  5  2) (16  4 v 24  8)   (25  1 13  6 17)


Hope that helps.
« Last Edit: October 14, 2017, 02:41:49 PM by Ian »


stuff

  • Newbie
  • *
    • Posts: 0
Reply #2 on: October 16, 2017, 04:05:39 AM
thanks for the information.  for whist style tournaments do they try to play each opponent twice, while partnering with each person only once?  I did see that link (durango bill's) before I posted here, and found it very informative.  

I'm thinking of using some of the information here and on that page as a starting point, and perhaps brute forcing the parts of the schedules the non 4n or 4n + 1.

is it possible to use the theory behind the span diagrams to have multiple byes per round?

very interesting stuff.  I forgot how engaging these kind of math problems can be.

I don't expect that many of the actual scheduling of the games will work out "nicely" (or what the ideals are (equal games, equal byes).  but just so long as it can be as fair as possible to all players given the time constraints.


Ian Wakeling

  • Forum Moderator
  • God Member
  • *****
    • Posts: 1140
Reply #3 on: October 16, 2017, 12:03:24 PM
Yes, in a whist tournament you partner each person once and oppose twice.   But when there are >21 players, you will not have enough time slots in your schedule to achieve this.  For example my schedule above is essentially half a whist schedule with all opponents exactly once.

I don't think the diagrams will extend to the multi-bye scenario, so you will need some sort of computer search.  I would do it in two stages, decide first all the partnerships that you are going play (they should all be different and of course give equal, or nearly equal, games/byes).  Then in the 2nd stage arrange the partner pairs into the final schedule trying to optimise a criterion based on opponent balance.
« Last Edit: October 16, 2017, 12:06:11 PM by Ian »


stuff

  • Newbie
  • *
    • Posts: 0
Reply #4 on: October 25, 2017, 04:21:33 PM
well...I just wrote this long update early this morning and it's not here...I must have got logged out without knowing...
Ian, thanks for the help.  I'll try to recreate what I wrote earlier.

is there something similar to the span diagram method that would have one partner with each person once, and play each person once?  or does this become brute force?

If I'm understanding durangobill's site, there is no set pattern or algorithm that can be applied to get the team match up at the table to produce a whist style tournament.  Is this true?  

Here is what I've ended up doing.  to choose the byes, I used the tournament scheduler you linked to, as well as the tables from durangobills site, for an odd number of people, I can use the whist for 23 players, using the 24th players a bye, and the teams playing at that table having a bye.  same thing for 27 players.  granted everyone no longer plays each other twice (or everyone even once), but it's good enough for what we want.
for 21, 25, and 29 players, I used the tables on durangobills site, trying to choose tables that do not have consecutive numbers so that no one sits out twice.  so in this way, I had different people rotating in and out, in kind of a fair way.  fortunately there are people who are fine playing or not playing, so I can have them play to bring us up to an odd number of people.  using this method, i've create schedules for 20, 21,23,25,27

in the example you gave for the 25 people in  15 rounds, how much of that was brute force?

a lot of the software I did see, didn't seem flexible enough to do what I needed (all those byes).  If I were a better programmer, I would probably have written something that would at least have helped me do some of my manual entries (but I wasn't sure if that would take me longer than using sql to create insert statements to fill peoples into positions, positions onto tables, and people rotating through the positions.  something for me to work on for next year.

I now have a better understanding of how to attack the problem, so maybe I can come up with an easier method for next year.  It's amazing how often I THOUGHT I understood the process setting up the whist tournament, only to discover that I didn't quite get specific parts.  

you mentioned that you created half a whist tournament, but it's a pretty specific half, where in the given amount of rounds, no one plays another person twice.  I notice that in the combinations given, while you do always play each person twice, you don't play each person once before yo start playing anyone a second time.   I understand that scheduling byes the way I did means that even if we played the complete number of rounds, everyone wouldn't play everyone twice, because some of the time you're sitting out against a potential opponent.  

anyway, this is all fascinating stuff.

I will think more about the suggestion you give about doing this two stages for next year.  It might be better to not try to stick to player rotating to specific positions on specific tables.  

my apologies for the rambling, but often in these rambling situations, I see things more clearly


Ian Wakeling

  • Forum Moderator
  • God Member
  • *****
    • Posts: 1140
Reply #5 on: October 27, 2017, 10:55:11 AM
I don't think span diagrams will be useful here.  There is pattern to the initial tables on the durango site, however it is probably not what you are thinking of, or hoping for.   Firstly you will need more than one pattern, and the patterns themselves are best described with combinatorial math.  If you do an internet search for Z-Cyclic Whist Tournaments, you will see some examples of what I am referring to.

My 25 people/15 rounds example is essentially half combinatorics and half computer search.  The way I have set the search up, I only need to find rounds 1, 6 and 11.