I am hosting a meet-and-greet dinner party but am having troubles with some elementary combinatorics. I got 20 people for a dinner party and they can only sit at tables in groups of 4. What is the minimum number of table arrangements required so that everyone gets to meet each other at least once?
Intuitively, the upper bound is going to be 20 choose 4 = 4845, as these are the total number of ways to choose sub-groups of 4 from a group of 20. However, this number seems too high but I don't know exactly how to work from here.
For a simpler case, if I have 5 people and have tables for 4, it seems I only need 3 different rounds of table arrangements to get my result: (1,2,3,4)5; 1(2,3,4,5); (1)2(3,4,5). Everyone has met everyone now. Clearly 5 choose 4 = 5 > 3. But I'm having troubles finding the exact principle here. The furthest I've gone is that we have 5 choices for the 1st member of a group of 4, 4 choices for the 2nd member, 3 choices for the 3rd, and 2 choices for the 4th. But I am not sure what number to divide this by to get the result we want.
Thanks in advance.
Here’s your party schedule in $7$ rounds:
Here’s the simulated annealing code I wrote to find it.
Since everyone needs to meet $19$ people and can only meet $3$ new people per round, this is optimal.