Логика Waze построена на нейронных сетях для распределения зависимости от меняющихся условий и автоматах для раннего контроля отклонений. Круто? Дальше простыми словами постараюсь объяснить чтобы это значило.
Любая информация, обрабатываемая сервером, учитывается с той или иной долей “доверия”, т.е. каждая единица информации в зависимости от текущих условий имеет ту или иную ценность. В случае наступления тех или иных, заранее определённых ситуаций, автоматы могут менять ценности данных, корректируя результат. Это общая теория, не применять которую при разработке такой системы просто не возможно.
Пример (упрощённо)
Допустим, по статистике на определённом участке скорость составляет 70 км/ч. Если данных больше нет, то ценность это информации – единица (100%). Маршруты будут учитывать этот сегмент в данное время как 70 км/ч.
Проехал по сегменту Вэйзер со скоростью 50 км/ч. Система может учитывать эту информацию как не достаточно достоверную за отсутствием необходимого количества и рассматривать её с ценностью, например, 50%. Т.е., возможно, скорость потока сейчас действительно 50 км/ч, но может этот Вэйзер и по жизни тихоход или останавливался не преднамеренно? Таким образом система выставляет текущую скорость на сегмента в 60 км/ч (сейчас не важно как оно всё рассчитывается – оно здесь не нужно) .
Примечание: программирование ценностей и условий работы автоматов есть коммерческая и научная тайна любой нейронной сети.
Стоит по сегменту проехать ещё нескольким Вэйзерам за этот же короткий промежуток времени, как ценность оперативной информации вырастет и будет увеличиваться с ростом количества источников этой информации. Таким образом, с увеличением количества Вэйзеров за минимальную единицу времени на конкретном сегменте расчётная скорость будет стремиться к средней скорости этих Вэйзеров.
Далее, в Waze нет понятия “пробка”, но есть понятие “степень затруднения текущего движения”. Поэтому здесь подсвечивается не привычная для русского человека пробка, а сложность проезда сегмента в текущее время относительно обычной ситуации на этом же сегменте в это же время.
Пример второй
Пусть собранная статистики на тестовом сегменте выглядит так:
- 10:00 – 70 км/ч
- 10:15 – 80 км/ч
- 10:30 – 60 км/ч
- 10:40 – 40 км/ч
В 10:05 Вэйзер А проехал по этому сегменту со скоростью 20 км/ч (допустим, он едет один). Спустя пару минут сегмент подкрасился “пробкой”, потому что налицо затруднение движения от статистики. Через минут 15, когда никто там не проехал (оперативных данных нет), пробка пропадает, потому что по статистике там средняя скорость остаётся прежней – 80 км/ч. Как только ещё через 5 минут в пробку “влетит” следующий Вэйзер Б со скоростью в 30 км/ч, то вот этот следующий так же окрасит сегмент в красный своей разницей в скоростях от средней.
Чтобы держать сегмент красным по нему нужно ездить постоянно и ездить со скоростью ниже среднестатистической (соответственно, планомерно своими данными снижая и среднюю на данном сегменте, так что спустя некоторое время скорости в 20-30 км/ч перестанут подкрашивать дорогу). Статистика на то и статистика – что это среднее значение никак не характеризующее текущее мгновенное, по которому не возможно решать есть затруднения или нет, чтобы подсветить тот или иной сегмент. А маршрут (при отсутствии оперативных данных) будет прокладываться по статистике, тем самым заводя на сегменты, где должно быть 80 км/ч по его ожиданиям.
Чтобы маршруты прокладывались верно с человеческой точки зрения у Waze должна быть собрана статистика или, что будет точнее, должна быть оперативная информация от пользователей.
И по поводу отчётов о пробках, которые ставят пользователи. Окраска сегмента по отчёту идёт для ставящего этот отчёт, для остальных он просто показывает, что по вашему личному мнению вы движетесь медленнее статистики на данном сегменте. Система маршрутизации всё равно будет учитывать вашу реальную скорость и скорость по статистике.
В заключение
Алгоритм расчёта маршрутов включает в себя учёт времени прибытия к каждому сегменту, т.е. сегменты на которых вы окажетесь через час учитывают не текущую скорость на них, а расчётную статистическую через час, когда вы там окажетесь. Тем самым маршруты можно получать в обход свободных участков, когда там ко времени вашего прибытия уже может образоваться пробка или вовсе может оказаться закрыт разводной мост (актуально для Питера) — такие маршруты исключаются из рассмотрения. Но на них может повлиять оперативная информация от Вэйзеров, если они там окажутся раньше вас и проедут много быстрее статистики, корректируя информацию о пробках, тогда Waze сообщит вам об изменении в маршруте. Да, кстати, в Waze можно расставить запреты по времени для тех же разводных мостов или по известным расписаниям перекрытия ж/д-переездов и паромных переправ.
В общем, выбирать нужно осознанно и без навязанных привычек от Яндекса, Навитела и прочих навигаторов. Да, у навигатора Waze совершенно другой менталитет, к которому нужно привыкнуть или остаться на своём прежнем выборе. Варианты есть – выбирать вам.