Я пытаюсь создать алгоритм рекомендации друзей, который каждую неделю рекомендует пользователям нового друга. Скажем, у меня есть база данных
user A
user B
user C
...
, и у них есть список увлечений
user A has interests [hobby1, hobby2, hobby3, etc...]
user B has interests [hobby3, hobby6, hobby8, etc...]
user C has interests [hobby1, hobby3, hobby4, etc...]
...
Как мне построить алгоритм, который парами выбирает хорошие рекомендации для всех, кто умеет он должен быть разным каждую неделю?
Неделя 1
user A -> user C [2 hobbies in common]
user B -> user A [1 hobby in common]
user C -> user B [1 hobby in common]
...
Неделя 2
user A -> user B [1 hobby in common]
user B -> user C [1 hobby in common]
user C -> user A [2 hobbies in common]
...
Потому что Похоже, что каждую неделю можно было бы просто полностью рандомизировать все рекомендации пользователей. Что может быть лучше этого порога?