, бесплатный сайт знакомств, основанный группой математиков и использующий особенно элегантный алгоритм.
Алгоритм – это, в сущности, рецепт: последовательность логических шагов, которые нужно совершить для выполнения той или иной задачи. В данном случае алгоритм OkCupid обрабатывает анкету, которую каждый участник заполняет при регистрации на сайте, в определенной логической последовательности и выводит для каждой потенциальной пары определенную сумму баллов, которая показывает, насколько хорошо партнеры подходят друг другу.
Три ключевых составляющих алгоритма – это: 1) ваши ответы, 2) желательные ответы партнера и 3) степень важности для вас каждого из ответов партнера.
Последняя составляющая особенно важна, потому что позволяет персонализировать процесс. Для кого-то политические взгляды будущего партнера важнее, чем его отношение к детям, а для кого-то – наоборот. Для кого-то обязательное условие – определенный уровень доходов партнера, а для кого-то важно, чтобы он тоже любил фильмы с Райаном Гослингом, хотя в данном случае вы, возможно, не будете настаивать на этом критерии (перечитайте главу 1). В любом случае каждому из нас нужен механизм, позволяющий отфильтровать то, что именно для нас по-настоящему важно.
Спрашивая пользователей, насколько важен для них тот или иной вопрос, OkCupid предлагает им оценить степень важности в баллах по следующей шкале:
1. Совсем не важен – 1.
2. В какой-то степени важен – 10.
3. Достаточно важен – 50.
4. Очень важен – 100.
5. Это обязательное условие – 250.
Таким образом определяется максимальное количество баллов, которое ваш потенциальный партнер может “заработать” в ваших глазах на каждом вопросе.
Чтобы продемонстрировать, каким образом алгоритм рассчитывает степень взаимного соответствия пары, рассмотрим пример, опять же выбрав два совершенно случайных имени: Гарри и Гермиона.
В нашем примере используются всего два вопроса: “Нравится ли тебе квиддич?” и “Умеешь ли ты побеждать темных волшебников?”
С учетом этих данных поиск ответа на вопрос, подходят ли друг другу Гарри и Гермиона, сводится к трем простым шагам.
Шаг 1
Во-первых, мы должны рассчитать, насколько хорошей парой для Гарри будет Гермиона. Гарри оценил свой первый вопрос лишь как “в какой-то степени важный”, а это означает, что Гермиона может “заработать” на нем максимум 10 баллов. Поскольку она отвечает именно так, как хотелось бы Гарри, то за первый вопрос получает 10 баллов из 10.
Следующий вопрос Гарри оценил как “очень важный”, поэтому Гермиона, ответив на этот вопрос “нет”, не получает ни одного балла. Таким образом, степень ее соответствия ожиданиям Гарри, выраженная в процентах, составляет: