Persons Matching program or algorithm

Viewed 39

In a networking event there is a pool of persons. Each person should meet all other persons in a 5 person setting for 10 minutes.

For example if the pool is having 60 persons. Each person should meet other 4 persons in the same table for 10 minutes. after some time this person should have met all other 59 persons.

Is there any ready-made algorithm/program in Python or Excel that one can input the pool and have the output as a list of 5 persons-lists that is satisfy the condition: each person has met the whole pool with minimal repetitions? Thanks

1 Answers

There is no general algorithm for this.

As https://www.dmgordon.org/cover/ explains, this is called a covering design. Optimal covering designs for the problem you are interested in, 5 element sets covering all 2 element sets, are known for many number of vertices, v. See https://ljcr.dmgordon.org/cover.php?vopt=%3C%3D&v=100&kopt=%3D&k=5&topt=%3D&t=2&sizeopt=%3D&size=&creator=&method=&time=A&submit=search for a list, and when they were discovered. The variety of different sources for that list, including papers within the last 20 years, should demonstrate that this is a hard problem in general.

Related