Skip to content

Matching

Kent Wills edited this page Aug 30, 2017 · 2 revisions

Pairwise Matching

Users are randomly matched with an option of using a weighted matrix in order to encourage matches amongst specific users. These weights allow for "soft matching", meaning that a match may or may not happen, but is more likely to happen. The algorithm used is the Blossom Algorithm, which ensures that we match as many people that are possible to match at all times (maximal matching). In addition, we provide organizational rules and filters, to run meetings with a subset of your organization (look at rules). Additionally, you may specify that users cannot rematch in a particular period of time by setting meeting_cooldown_weeks: 10 in your config.yaml. In the example you would ensure that people don't rematch within 10 weeks. You should think carefully about this setting, if you were to increase the number of weeks with no rematches and you have a small population, you may suffer from starvation. This would be a situation where there are no possible matches due to the cooldown constraint.

Group Matching (v1.0.0)

Users are matched with an option of using a weighted matrix in order to encourage matches among a group of users. The algorithm used is simulated annealing, which will try to maximize the group matching based on a heuristic. The default heuristic is to check if people have met before and encourage group matching where people have not met. Unlike the pairwise matching algorithm, we cannot guarantee that people will not be rematched with others in a group, though we try to reduce the likelihood of that happening. Group sizes can be from 3-n, where n is the size of the population of people that want to meet. We suggest 3-6 people for lunch events.