Round Robin Tournament Scheduling

"Weighted" Round Robin

skyywalker · 14 · 5740

skyywalker

  • Newbie
  • *
    • Posts: 19
on: September 21, 2014, 02:00:23 PM
Hi there,

I am looking for a "weighted" round robin, where competitors are seeded into flights depending on their current ranking position. The reason for that is that weather conditions might not allow for a completion of the round robin, and then there still should be an acceptable fair result, selecting at least the top 10 from a group of 15-24.

What I am looking for is round robin schedules for
15 competitors in 3 groups of 5
18 competitors in 3 groups of 6
20 competitors in 4 groups of 5
21 competitors in 3 groups of 7
24 competitors in 4 groups of 6

We have a current ranking that can be used to seed them into the flights and heats. We are not necessarily looking for a "complete" solution, but one that allows a fair selection of the top ten out of this range of competitors...

Thanks a lot for any help on this !

Cheers,
Markus


Ian Wakeling

  • Forum Moderator
  • God Member
  • *****
    • Posts: 1141
Reply #1 on: September 22, 2014, 03:45:19 AM
Hi Markus,

I don't think I have fully understood your question.  Please would you explain what happens once you have formed the groups, do you play games within groups or between groups?  Do the groups stay the same for the whole tournament?

Thanks,

Ian.
« Last Edit: September 22, 2014, 03:45:59 AM by Ian »


skyywalker

  • Newbie
  • *
    • Posts: 19
Reply #2 on: September 23, 2014, 01:45:58 AM
Hi Ian,

ah sorry, some background...

It is a kiteboarding regatta with 15-24 participants. Each race has the specified number of participants, e.g. in a 18 participant regatta it would be 3 heats of 6 participants each so that would look like this for flight 1:

1 2 3 4 5 6
7 8 9 10 11 12
13 14 15 16 17 18

Flight two would then be mixed like
1 7 13 3 9 15
2 8 14 5 11 17
4 6 10 12 15 18

and so on.

In the end every participant should have competed against any other participant at least once, ideally more often (as they are racing in groups, this will happen.

I had a social golfer solution for 5x5 participants (25, in 5 groups of 5 participants, and then mix them) but it is too long.

What I want to achieve is that the participants are seeded into the round robin schedule depending on their current ranking (from previous events) position, so that there are less flights but still a fair result (to make the whole thing shorter).

I hope that explains it a bit ?

Cheers,
Markus


Ian Wakeling

  • Forum Moderator
  • God Member
  • *****
    • Posts: 1141
Reply #3 on: September 23, 2014, 02:46:11 AM
I am not seeing how your seeding process can make the round-robin shorter. If any person is to compete against every other participant at least once, then there must be a minimum number of flights that can be determined from the groups size and number of competitors ((competitors-1)/(groupsize-1)).  For your examples above the number of flights are:

 15 competitors in 3 groups of 5 (at least 4 flights)
 18 competitors in 3 groups of 6 (at least 4 flights)
 20 competitors in 4 groups of 5 (at least 5 flights)
 21 competitors in 3 groups of 7 (at least 4 flights)
 24 competitors in 4 groups of 6 (at least 5 flights)

I am being careful here to say 'at least', since in most circumstances you will need one or two extra flights to get all opponents at least once.  There are some rare exceptions like the 25 competitor schedule which will give all 24 opponents exactly once in only 6 flights.

From what you are telling me I think you have too many competitors to consider a round robin like this, so you may want a different format.
« Last Edit: September 23, 2014, 02:48:50 AM by Ian »


skyywalker

  • Newbie
  • *
    • Posts: 19
Reply #4 on: September 23, 2014, 04:53:53 AM
Hi Ian,

before we had a 18 flight (72 heats) round robin - and that is to long. Everybody was competing against everybody 6 times in different combinations. A reduction to lets say half of it would already be a big help.

I think I have seen something like a weighted system somewhere before, but can't find it...


skyywalker

  • Newbie
  • *
    • Posts: 19
Reply #5 on: September 23, 2014, 04:56:38 AM
Found the original thread "24 competitors in groups of 6". The last table in the last reply shows 19 rounds, so 76 heats...

Any reduction based on a seeded entry would help...

All the best,
Markus


skyywalker

  • Newbie
  • *
    • Posts: 19
Reply #6 on: September 23, 2014, 04:57:46 AM
... and I think "balanced" is the word that is usually used... ;)


Ian Wakeling

  • Forum Moderator
  • God Member
  • *****
    • Posts: 1141
Reply #7 on: September 25, 2014, 03:37:33 AM
In general, as the number of heats is reduced, it becomes harder and harder to get balance for the number of times pairs of competitors are together in the same heat.  This is a hard mathematical limit, so there is no way around it.   Taking 20 in 4 groups of 5 as an example,  I can find a 40 heat schedule where pairs occur between 1 and 3 times (is that acceptable?).   A 20 heat schedule will not work at all, because some pairs will not compete with each other.
« Last Edit: September 25, 2014, 03:38:39 AM by Ian »


skyywalker

  • Newbie
  • *
    • Posts: 19
Reply #8 on: September 25, 2014, 04:21:09 AM
Hi Ian,

40 is definitely much better than 76 !

Would be great to have a look at that.

All the best,
Markus


Ian Wakeling

  • Forum Moderator
  • God Member
  • *****
    • Posts: 1141
Reply #9 on: September 25, 2014, 07:46:04 AM
Here's an example.  Most pairs meet twice, but 10 pairs only meet once, and 30 pairs meet three times.

   (3 12  2 10 14) (13  9 17  8  7) ( 5 15 19 16 20) (18  6  4 11  1)
   (4 13  3  6 15) (14 10 18  9  8) ( 1 11 20 17 16) (19  7  5 12  2)
   (5 14  4  7 11) (15  6 19 10  9) ( 2 12 16 18 17) (20  8  1 13  3)
   (1 15  5  8 12) (11  7 20  6 10) ( 3 13 17 19 18) (16  9  2 14  4)
   (2 11  1  9 13) (12  8 16  7  6) ( 4 14 18 20 19) (17 10  3 15  5)
   (4 20 15  8  2) ( 7 18  3 10 16) (12 13 11 19  9) (17  5  6  1 14)
   (5 16 11  9  3) ( 8 19  4  6 17) (13 14 12 20 10) (18  1  7  2 15)
   (1 17 12 10  4) ( 9 20  5  7 18) (14 15 13 16  6) (19  2  8  3 11)
   (2 18 13  6  5) (10 16  1  8 19) (15 11 14 17  7) (20  3  9  4 12)
   (3 19 14  7  1) ( 6 17  2  9 20) (11 12 15 18  8) (16  4 10  5 13)


Ian Wakeling

  • Forum Moderator
  • God Member
  • *****
    • Posts: 1141
Reply #10 on: September 27, 2014, 08:37:28 AM
Hi Markus,

There is another possibility I thought I would show you, I realise it is not quite what you asked for, but it is a way to get the number of flights down.  Let's say you divide your 20 competitors into teams like this:

Team 1 = {1,2,3,4}
Team 2 = {5,6,7,8}
Team 3 = {9,10,11,12}
Team 4 = {13,14,15,16}
Team 5 = {17,18,19,20}

Now if you were to use the following schedule:


(1 5  9 13 17) (2 6 10 14 18) (3 7 11 15 19) (4 8 12 16 20)
(1 8 11 14 18) (2 7 12 13 17) (3 6  9 16 20) (4 5 10 15 19)
(1 7  9 15 18) (2 8 10 16 17) (3 5 11 13 20) (4 6 12 14 19)
(1 6 12 15 20) (2 5 11 16 19) (3 8 10 13 18) (4 7  9 14 17)
(1 5 10 14 20) (2 6  9 13 19) (3 7 12 16 18) (4 8 11 15 17)
(1 8 12 13 19) (2 7 11 14 20) (3 6 10 15 17) (4 5  9 16 18)
(1 7 10 16 19) (2 8  9 15 20) (3 5 12 14 17) (4 6 11 13 18)
(1 6 11 16 17) (2 5 12 15 18) (3 8  9 14 19) (4 7 10 13 20)


then every heat consists of one member taken from each of the 5 teams.  Of course this means that pairs of competitors from the same team never compete with other.  On the other hand the schedule is perfectly balanced for pairs of competitors from different teams, who all compete in exactly two heats.

Would you consider using something like this?

Best regards,

Ian.
« Last Edit: September 27, 2014, 08:41:13 AM by Ian »


skyywalker

  • Newbie
  • *
    • Posts: 19
Reply #11 on: November 06, 2014, 09:46:24 AM
Hi Ian,

we have tested this format and it works great !

I now would need one for 18 competitors (in heats of 6 - therefore 3 heats of 6 in one flight) for a total of around 40 heats, and the same for 15 competitors (in heats of 5 - therefore 3 heats of 5 in one flight).

The changes that I had made to your system is the grouping of the competitors in the initial teams:
Team 1: {1, 6, 11, 16}
Team 2: {2, 7, 12, 17}
Team 3: {3, 8, 13, 18}
Team 4: {4, 9, 14, 19}
Team 5: {5, 10, 15, 20}

Can you help on this ?

Teams would be for 18 competitors:
Team 1: {1, 7, 13}
Team 2: {2, 8, 14}
Team 3: {3, 9, 15}
Team 4: {4, 10, 16}
Team 5: {5, 11, 17}
Team 6: {6, 12, 18}

and for 15:
Team 1: {1, 6, 11}
Team 2: {2, 7, 12}
Team 3: {3, 8, 13}
Team 4: {4, 9, 14}
Team 5: {5, 10, 15}

All the best,
Markus


Ian Wakeling

  • Forum Moderator
  • God Member
  • *****
    • Posts: 1141
Reply #12 on: November 06, 2014, 11:55:59 AM
Hi Markus,

Thanks for your message, it is good to know that it worked.  I was thinking about you a few days ago, when I was walking on my local beach at Hunstanton, as it's quite popular with kiteboarders.

I have attached a zipped Excel file which has some schedules for 15 and 18 competitors.  Unfortunately both conform to the same format as the 20 competitor schedule above, so you will need to make the similar changes if you want the team assignments that you give above.   Do you realise that you must change the schedule as well as the initial teams, so above wherever there is a heat with a '2' it must become a '6',  similarly all the '3's changes to '11's etc...

Best regards,

Ian.
« Last Edit: November 06, 2014, 12:00:34 PM by Ian »


skyywalker

  • Newbie
  • *
    • Posts: 19
Reply #13 on: December 02, 2014, 05:08:38 AM
System worked perfect, and we think we go back to the recommended grouping of 1,2,3,4 in one team as well, so that the top seeds can first meet in the semi finals / finals...

Would it be possible that you make me another seeding for 3 heats of 7 and 4 heats of 6 (for 21 and 24 competitors each) ?

I guess for 16 I can use the social golfer solution, but one with the grouping into 4 teams would be also great !

Many thanks,
Markus

ps: I have already 4x5=20, 3x5=15 and 3x6=18 from you, all working fine !