Система выбора маршрута через различные точки в современных автомобильных навигаторах работает на основе алгоритма Дейкстры. 1 Он позволяет не перебирать все варианты, а находить самый короткий путь только между соседними графами — и так, шаг за шагом, продвигаться к конечной точке. 1
При выборе маршрута навигатор учитывает и другие параметры: 1
- Комфорт. 1 Если нужно построить не самый быстрый, а самый комфортный маршрут, то навигатору отдают предпочтение автомагистралям и дорогам с несколькими полосами. 1 Чтобы выбирать именно такие дороги, им присваивают коэффициент 0,8 — это виртуально сократит время на дорогу по ним на 20%. 1 Просёлочным и грунтовым дорогам дают коэффициент 1,3, чтобы они казались алгоритму более долгими, и он старался их избегать. 1
- Сложность маршрута и реальное время. 1 Маршрут из одной точки в другую почти никогда не бывает прямым — на нём всегда есть повороты, развороты и съезды, которые отнимают время. 1 Чтобы навигатор это учитывал, в графы добавляют время прохождения поворота — либо коэффициентом, либо отдельным параметром. 1
- Пробки. 12 Если есть интернет, то навигатор получает данные о состоянии дорог и добавляет разные коэффициенты в зависимости от загруженности. 1 Если интернета нет, то алгоритм использует усреднённую модель пробок на этом участке. 1 Эта модель скачивается заранее и постоянно обновляется в фоновом режиме. 1
Также для ускорения расчёта маршрута алгоритм использует уже заранее просчитанные варианты маршрутов и подставляет их. 1 Он находит только ключевые точки пути, а маршрут между ними уже просчитан до этого. 1