Players = 1, 2, 3, 4 (n = 4) 2 players per team (k = 2) Matches: 1, 2 vs. 3, 4 1, 3 vs. 2, 4 1, 4 vs. 2, 3 After those 3 matches, all players played “with” each other once and “against” each other twice. |
I think there are far fewer options for a fair tournament than you realise. With k=2 the whist schedules do nicely for 4p players or 4p+1 players. The problems start with k>2.
It is easily shown that if players are to play "with" each other exactly n1 times, and "against" each other n2 times, that the following must hold:
n1*k = n2*(k-1)
So in your example above 1*2=2*1, but now with k=4 the simplest solution that might be possible is n1=3 and n2=4.
The schedule with 8 players does exist:
(8 4 5 7) vs (3 1 6 2)
(8 5 6 1) vs (4 2 7 3)
(8 6 7 2) vs (5 3 1 4)
(8 7 1 3) vs (6 4 2 5)
(8 1 2 4) vs (7 5 3 6)
(8 2 3 5) vs (1 6 4 7)
(8 3 4 6) vs (2 7 5 1)
It may well be possible to have a fair 15 round schedule for 16 players with two matches per round, but when there are between 9 and 15 players then things are likely to get messy with byes each round. I would think there is no alternative other than writing an algorithm to try to examine a large number of potential schedules and choose one with optimal fairness, but note that even giving everyone the same number of games may be difficult.
n1*v*(v-1)
m = ----------
2*k*(k-1)
0, 1, 3, 7 2, 4, 9, 10 5, 6, 8, 11
0, 1, 3, 11 2, 6, 7, 9 4, 5, 8, 10
0, 2, 7, 8 1, 5, 9, 10 3, 4, 6, 11
0, 8, 9, 11 1, 2, 5, 7 3, 4, 6, 10
0, 2, 6, 10 1, 3, 8, 9 4, 5, 7, 11
0, 2, 10, 11 1, 5, 6, 8 3, 4, 7, 9
0, 3, 5, 10 1, 2, 4, 8 6, 7, 9, 11
0, 5, 6, 9 1, 2, 4, 11 3, 7, 8, 10
0, 4, 8, 9 1, 6, 7, 10 2, 3, 5, 11
0, 1, 4, 6 2, 3, 5, 9 7, 8, 10, 11
0, 4, 5, 7 1, 9, 10, 11 2, 3, 6, 8