We have a group of 100 students that are meant to have discussion amongst each other. For this we want to separate them into 10 groups of 10 people. We want to have three rounds of discussions, however we want the groups to be different each time. No one person should get to sit with the same person twice.

Say we assign our groups letters abcdefghij (10) Person1 gets Round1:A Round2:B Round3:C Person2 gets Round1:A but then can't have Round2:B or Round3:C because they would then meet again.

The "output" I need is that each participant will recieve a card telling him at which table to sit in which round.

Doing this by hand sounds pretty insane and I'm sure there is a pretty simple solution for this. Maybe even a program that does exactly this, but I just can't find it or don't know what to search for...

Maybe this can even be done in excel or sth like that?

Please keep in mind I have NO CLUE about mathematics. So please try and make the answers understandable for the average math idiot ;)

All help or tips apreciated. Thanks for taking the time!

  • $\begingroup$ This is an instance of what is called "the social golfer problem". Type that into the internet, and see what comes up. $\endgroup$ – Gerry Myerson Apr 30 '15 at 9:55
  • $\begingroup$ Oh wow that was actually quite fascinating. So basically I have a "social golfer problem" but I have a lot more "golfers" The way it looks now we have 120 people divided into 15 tables thus giving us 8 people per table. I found a social golfer problem solver on wolfram demonstrations project but this only allowed up to 4 golfers per group. are there any other calcs out there? $\endgroup$ – David Apr 30 '15 at 10:29

Arrange your people in a 10 by 10 matrix, the rows form now 10 groups, the columns form 10 different groups with no one in the same group as before.

Now trace a diagonal through each element and imagine the diagonal wraps around the matrix. I illustrate for a 3 by 3 matrix

$$\begin{array}{ccc}A & B & C \\ D & E & F \\ G & H & I\end{array}$$

So if you connect the following diagonals: $(A,E,I)$,$(B,F,G)$ and $(C,D,H)$, that still gives you three different groups from the ones before. Just extend the principle to the 10 by 10 matrix.

  • $\begingroup$ Thanks for your comment, however I'm not quite sure I understand this. How does this scale? I just chose the 100 people in 10 groups at random. We will probably have 120 people in 15 groups thus each group will contain 8 people. Now making the matrix would this now be a 15x8 matrix? $\endgroup$ – David Apr 30 '15 at 9:06
  • $\begingroup$ Maybe I should add: The output I need is that each participant gets a card which tells him to which table to go in which round. I might have missunderstood but doesn't your method give me just the "contents" of each group? $\endgroup$ – David Apr 30 '15 at 9:18
  • 1
    $\begingroup$ For your last comment, yes it only defines the contents of a group, but it's an easy matter to just label your groups afterwards once you've created them and just assign those labels to the persons who'll visit the groups in the appropriate order. My method is prefectly scalable and it can also be adapted to your 15 by 8 case. Just arrange them randomly in a matrix with 8 rows and 15 columns. Then you have three different assortments by looking at columns, diagonals from top-left to bottom-right and diagonals from top-right to bottom-left. $\endgroup$ – Raskolnikov Apr 30 '15 at 14:06

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.