Социальные сети каждый день рекомендуют нам новых друзей или предлагают подписаться на новые группы. И чем больше у нас друзей и групп в подписках, тем чаще нам рекомендуют что-то новое. Как это работает? Почему из большого числа потенциальных знакомых выбираются именно те, которых мы видим в подборке? Попробуем спроектировать такую систему. Первая мысль, которая приходит в голову - надо как-то использовать друзей наших друзей, потом их друзей и так далее. Получаем какую-то древовидную штуку, описывающую дружеские отношения между пользователями. Теперь подумаем как выбрать людей, дружба с которыми наиболее вероятна. Ведь если прикинуть, что у пользователей в среднем по 100 друзей, то через 3 перехода по дереву у нас будет 1 000 000 кандидатов, всех мы показать никак не сможем. Такую проблему можно решить пересечением множеств друзей. Это значит, что мы возьмем всех друзей нашего условного друга А, всех друзей нашего условного друга Б и пересечем эти два множества. Те люди из этого множ
Социальные сети каждый день рекомендуют нам новых друзей или предлагают подписаться на новые группы. И чем больше у нас друзей и групп в
12 августа 202212 авг 2022
1
1 мин
