Алгоритм подбора попутчиков в Яндекс Такси работает следующим образом: habr.com
- Анализ машин такси вокруг. taxi.yandex.ru Часть из них проезжает мимо с заказом по тарифу «Эконом» и не подходит для поиска попутчика, так как люди, сидящие в таких машинах, не соглашались на совместную поездку. taxi.yandex.ru Есть «свободные» такси, которые уже завершили заказ и ждут следующего. taxi.yandex.ru
- Проверка, нет ли рядом водителей, которые уже везут человека по тарифу «Вместе». taxi.yandex.ru Если такие есть, нужно проверить маршруты — важно, чтобы они были примерно в одну сторону и чтобы общее время совместной поездки не сильно превышало время двух отдельных поездок. taxi.yandex.ru
- Проверка множества параметров. taxi.yandex.ru Например, алгоритм смотрит, насколько увеличится маршрут каждого из пользователей и сколько времени сможет сэкономить водитель, совместив два заказа. taxi.yandex.ru
- Повторение расчётов. taxi.yandex.ru После нажатия кнопки «Заказать» все расчёты повторяются заново с некоторыми поправками, так как ситуация на дороге постоянно меняется. taxi.yandex.ru
Чтобы точнее прогнозировать вероятность найти попутчика, алгоритм использует ML-модель, которая берёт в расчёт ситуацию на дорогах, спрос на такси, плотность заказов в определённых районах и другие признаки. habr.com