Fun problem

David had an idea for a problem:

Given N individuals, each individual must, say, play a game with M other individuals.  The length of the game is stochastic and dependent on who is playing the game.  Describe an algorithm that will optimally group the individuals such that each individual has to wait the minimum amount of time to play with all of the other combinations of individuals.

Originally the problem was stated with M=2.

An extension would be what if N is changing with time.  Meaning new people come and go.  Can the algorithm be robust to this?

So, this seems like it could be approached through a combination of methods:

Stochastic processes (for the arrival and finish times)

Graph Theory / Combinatorics (for the pairing)

Optimization (for the scheduling)

I’m sure that there are other ways, but I think that this problem needs to be solvable pretty quickly in order to be useful…