5
$\begingroup$

I'm stuck trying to find a good way to rotate 12 poker players on 2 tables.

Assumptions:

  1. There are 12 players
  2. There are 2 tables
  3. We play for 4 hours
  4. Playing with sb means sitting at the same table
  5. 6 people can sit at one table
  6. No one is standing aside -> during 4 hours everyone is playing all of the time

My goals are:

  1. Each player gets to play with every other player for at least an hour...
  2. ... but no more than two hours.
  3. Minimize the number of rotations (as it's time consuming)

I was trying to rotate 3 players every hour, but it seems like I haven't found a solution that meets my goals yet.

I feel that I'm missing something simple, so any help will be appreciated.

Edit: a player is playing versus 5 other players at the same time, so during 4 hours he has on average 1,82 (20/11) hours versus each player. My goal is to stick to this average as much as possible (i.e. time versus every other player should be between 1 and 2 hours) while minimizing rotations between tables.

Edit2: My best idea so far is to switch 2 players every half an hour, first switching 1&2 for 7&8 (assuming 1-6 at the A table, 7-12 at B; pairing them 1-7, 2-8, 3-9...), then 8&3 -> 2&9, then 9&4 -> 3&10, then 10&5 -> 4&11, then 11&6 -> 5&12 and in the last one switch half the table to make sure 'paired' guys play at one table. But this means some players have to move 3 times and i hope this can be optimized. ;)

$\endgroup$
  • $\begingroup$ How many people can sit at one table? $\endgroup$ – Jaap Scherphuis Jan 22 at 10:34
  • $\begingroup$ "no more than two hours." with every other player or just for the game itself? $\endgroup$ – Oray Jan 22 at 10:35
  • $\begingroup$ 6 people can sit at one table, 'no more than two hours' with every other player $\endgroup$ – Piotrek Jan 22 at 10:45
4
$\begingroup$

Nice puzzle!

I managed to get the required number of table switching breaks down to

eleven.

This is the schedule:

Switch every 20 minutes:

       period  |  1  2  3  4  5  6  7  8  9 10 11 12
 Player      --+---------------------------------------
             A |  1  1  1  1  1  1  1  1  1  1  1  1
             B |  1  2  1  2  1  2  1  2  1  2  1  2
             C |  1  1  2  2  1  1  2  2  1  1  2  2
             D |  1  1  1  1  2  2  2  2  2  2  2  2
             E |  1  2  1  2  2  1  2  1  2  1  2  1
             F |  1  1  2  2  2  2  1  1  2  2  1  1
             G |  2  2  2  2  1  1  1  1  2  2  2  2
             H |  2  1  2  1  1  2  1  2  2  1  2  1
             I |  2  2  1  1  1  1  2  2  2  2  1  1
             J |  2  2  2  2  2  2  2  2  1  1  1  1 
             K |  2  1  2  1  2  1  2  1  1  2  1  2 
             L |  2  2  1  1  2  2  1  1  1  1  2  2

Every player plays against every other player on either 4 or 6 periods.

Read on if you are interested in how it was created.


After trying a couple of strategies, looks like four might be the magic number.

You can arrange four people to two tables (two in each) like this:

     Hour | 1 2 3 4
 Player --+---------
        A | 1 1 1 1
        B | 1 1 2 2
        C | 2 2 1 2
        D | 2 2 2 1

This is highly efficient: there are only two table swaps, and both tables have two players the whole time.

We can then "interleave" this grouping by adding another group of four that has the exact same schedule, but in addition to that, they spend the latter 30 minutes of every hour at the table opposite to their schedule.

This guarantees that the second group plays exactly 2 hours against everybody in the first group, and since their intra-group schedule is the same, known good one from before, everything should work out nicely:

     Half-hour | 1 2 3 4 5 6 7 8
 Player      --+----------------
             A | 1 1 1 1 1 1 1 1
             E | 1 2 1 2 1 2 1 2
             B | 1 1 1 1 2 2 2 2
             F | 1 2 1 2 2 1 2 1
             C | 2 2 2 2 1 1 2 2
             G | 2 1 2 1 1 2 2 1
             D | 2 2 2 2 2 2 1 1 
             H | 2 1 2 1 2 1 1 2

This can be further optimised by rearranging the half-hours; swapping 2 with 3 will get rid of some unnecessary board switching breaks:

     Half-hour | 1&2 3&4 5 6 7 8
 Player      --+----------------
             A |  1   1  1 1 1 1
             E |  1   2  1 2 1 2
             B |  1   1  2 2 2 2
             F |  1   2  2 1 2 1
             C |  2   2  1 1 2 2
             G |  2   1  1 2 2 1
             D |  2   2  2 2 1 1 
             H |  2   1  2 1 1 2

So now we have managed to accommodate 8 players with 5 board switches in total.

So, let's multiply again: again splitting every interval in two:

  quarter-hour | 1&2 3&4 5&6 7&8 9 10 11 12 13 14 15 16
 Player      --+---------------------------------------
             A |  1   1   1   1  1  1  1  1  1  1  1  1
             E |  1   1   2   2  1  1  2  2  1  1  2  2
             B |  1   1   1   1  2  2  2  2  2  2  2  2
             F |  1   1   2   2  2  2  1  1  2  2  1  1
             C |  2   2   2   2  1  1  1  1  2  2  2  2
             G |  2   2   1   1  1  1  2  2  2  2  1  1
             D |  2   2   2   2  2  2  2  2  1  1  1  1 
             H |  2   2   1   1  2  2  1  1  1  1  2  2

We could now interleave 8 more players, but since we only have 4 remaining, let's do that instead. We'll again copy the rows A-D, and invert the table selection at every even numbered column

  quarter-hour | 1&2 3&4 5&6 7&8 9 10 11 12 13 14 15 16
 Player      --+---------------------------------------
             A |  1   1   1   1  1  1  1  1  1  1  1  1
             I |  1   2   1   2  1  2  1  2  1  2  1  2
             E |  1   1   2   2  1  1  2  2  1  1  2  2
             B |  1   1   1   1  2  2  2  2  2  2  2  2
             J |  1   2   1   2  2  1  2  1  2  1  2  1
             F |  1   1   2   2  2  2  1  1  2  2  1  1
             C |  2   2   2   2  1  1  1  1  2  2  2  2
             K |  2   1   2   1  1  2  1  2  2  1  2  1
             G |  2   2   1   1  1  1  2  2  2  2  1  1
             D |  2   2   2   2  2  2  2  2  1  1  1  1 
             L |  2   1   2   1  2  1  2  1  1  2  1  2 
             H |  2   2   1   1  2  2  1  1  1  1  2  2

And there we have it: A schedule for 12 players in 2 tables of 6, each player playing no less than 1 hour and no more than 2 hours against every other player. The schedule at the top is this very same one, with the players renamed, and the time periods changed to 20 minutes, because I realised I was being silly to make the four-player case timings asymmetrical.

(Also, if you have room in the tables, you could fit 4 more players in the schedule without needing any more breaks.)

I have absolutely no reason to believe that this would be optimal; it's just the best one I could come up with without using computers. (Please do watch out for typos)

$\endgroup$
  • $\begingroup$ Thanks, this is cool ;) $\endgroup$ – Piotrek Jan 23 at 9:46
1
$\begingroup$

Answer:

During the 4 hours, the players switch $285$ times, they would switch every $\frac{2880}{59} \approx 48.81$ seconds, and spend a total of $1$ hour, $59$ minutes and ~$35.6$ seconds (or less). with each other player.

Explanation:

We can think of one table having 6 spots, and 12 possible options for each spot, the order doesn't matter, but the numbers can't repeat. The other table contains the numbers that aren't on the first table.

The number of permutations of this equals $924$. Calculated using:
$\frac{n!}{r!(n-r)!}$ Where n is the number of different numbers and r is the amount of numbers used.

Each number is on the same table as each other number a total of $294$ times, which is a fraction of $\frac{7}{22}$ of the total permutations.

Therefore, if during the 4 hours, the players switch 924 times, they would switch every ~15.6 seconds, and spend a total of 1 hour, 16 minutes and ~22 seconds with each other player.

This is obviously not a fun way to go about it so let's try to make it more efficient.

We have 43 minutes and ~38 seconds with each player leeway, so let's say that we forgo the last ~43 minutes of switching such that the final iteration spends almost 2 hours together, whilst every other iteration still has the 1 hour 16 minutes.
The 43 minutes and ~38 seconds has room for exactly 168 lots of the ~15.6 seconds, this means that we've reduced the total number of switches to 756.
We could then average that out and only switch 756 times, leaving off the last 168 switches, but switch evenly across the 4 hours, every $\frac{400}{21} \approx 19$ seconds.

If every player spends 294 (or less) iterations with each other player, then they will total 1 hour, 33 minutes and 20 seconds (or less) with each other player. This still leaves another 26 minutes and 40 seconds of leeway, so we can repeat the above process.
26 minutes 40 seconds divided by ~19 seconds gives 84 switches that can be dropped, leaving 672 across the 4 hours, which can then be done every ~21.4 seconds. Meaning every player plays each other player for a total of 1 hour and 45 minutes (or less). Leaving 15 minutes leeway.

15 minutes divided by ~21.4 seconds gives 42 switches that can be dropped, leaving 630 across the 4 hours, which can then be done every ~22.9 seconds. Meaning every player plays each other player for a total of 1 hour and 52 minutes (or less). Leaving 8 minutes leeway.

8 minutes divided by ~22.9 seconds gives 21 switches that can be dropped, Note that the number of switches reduces by a factor of 2 each time leaving 609 across the 4 hours, which can then be done every ~23.6 seconds. Meaning every player plays each other player for a total of 1 hour, 55 minutes and ~51.7 seconds (or less). Leaving 4 minutes and ~8.3 seconds leeway.

4 minutes and ~8.3 seconds divided by ~23.6 seconds gives 10 switches that can be dropped, leaving 599 across the 4 hours, which can then be done every ~24 seconds. Meaning every player plays each other player for a total of 1 hour, 57 minutes and ~47.8 seconds (or less). Leaving 2 minutes and ~12.2 seconds leeway.

2 minutes and ~12.2 seconds divided by ~24 seconds gives 5 switches that can be dropped, leaving 594 across the 4 hours, which can then be done every ~24.2 seconds. Meaning every player plays each other player for a total of 1 hour, 58 minutes and ~47.3 seconds (or less). Leaving 1 minute and ~12.7 seconds leeway.

1 minute and ~12.7 seconds divided by ~24.2 seconds gives 3 switches that can be dropped, leaving 591 across the 4 hours, which can then be done every ~24.4 seconds. Meaning every player plays each other player for a total of 1 hour, 59 minutes and ~23.5 seconds (or less). Leaving ~36.5 seconds leeway.

~36.5 seconds divided by ~24.4 seconds gives 1 switch that can be dropped, leaving 590 across the 4 hours, which can then be done every ~24.4 seconds. Meaning every player plays each other player for a total of 1 hour, 59 minutes and ~35.6 seconds (or less).
Divide num switches by 2 for the 2 tables, and double switch length gives the final answer. This is the most efficient way.

$\endgroup$
  • 3
    $\begingroup$ Wouldn't want to be the tournament director for sure :P $\endgroup$ – jafe Jan 22 at 11:15
  • $\begingroup$ I believe I can make this more efficient hang on... $\endgroup$ – AHKieran Jan 22 at 11:21
  • 1
    $\begingroup$ @Jay The players in group A would be playing the whole 4 hours with each other in this case. $\endgroup$ – jafe Jan 22 at 11:34
  • 1
    $\begingroup$ @Jay right, but this doesn't satisfy goal 2 $\endgroup$ – Piotrek Jan 22 at 12:03
  • 1
    $\begingroup$ I have updated it to be the most efficient possible $\endgroup$ – AHKieran Jan 22 at 12:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.